|
|
给大家分享一下
今天线上面试,是在论坛上找的一家公司招聘 他们的要求(MYSQL数据库、HTTP协议、 webSocket协议、多线程、线程池。)
本人抱着必胜的决心开始的面试,少说论坛摸爬滚打5-6-7年了,这些东西对我来说还不是手拿把掐。
多线程和http协议还是随随便便都能说出花的。(爬虫单子没少接,多线程挂机程序稳定奔放几十天。)
但是:万万没想到呀(请看VCR)
开始:
让我开场一个自我介绍接下来就是灵魂三联问:
问题一:
问:mysql你的理解是什么?
答:增删改查。(我个人认为数据库的功能就这些,因为一年也接不到几个关于mysql的单子!)
问:那么链表查询语句怎么查?
答:........(懵13中。。。这玩意一般我都是百度一下拿来直接用,改下表名,字段,直接就用了,谁还死记硬背这些东西。真不知道怎么回答!!!)
问题二:
问:跨进程用什么锁?
答:互斥锁。(互斥锁是可以跨进程使用的,只要使用一个标识就没问题,发帖之前我还花了几分钟测试了,A程序解锁,B程序进入,B程序解锁,A程序进入。)
问:互斥锁分几种,多线程安全用什么?
答:临界许可.....(又懵了!!!互斥锁还分种类吗?平常写爬虫用的最多也就是一个互斥体,还一个读写锁。最后上网查了一下居然还分为:
(自旋锁、乐观锁、悲观锁)其实我用的最多的也就是 【临界许可】很少用到互斥锁,其实其他三种锁理解起来也很简单,百度一下就知道)
问题三:
问:WebSocket再什么协议层级之上(应该是这么问的记不太清了)
答:.......(懵了,脑瓜子嗡嗡的。我的认知是,http属于单向通信,websocket是双向通信,他们都是基于TCP协议实现的,真不知道这三种协议还分层级)
问:如果一个http请求在同一个局域网内,一台电脑能发送,另一台不能发送,应该怎么调试?
答:(瞬间感觉自己啥都不会了,我真想说是不是你那台电脑坏了?其实后面想了下应该是检查下host劫持,有没有开VPN之类的)
最后面试官直接说到此结束,面试完脑子一片空白呀,相似的心都有了(瞬间感觉自己啥都不会了)
纯属分享一下心得,并无吐槽的意思,因为7-8年了第一次面试。
所以在这里奉劝各位一下,一定要学好底层知识,说不定以后去面试的时候就考到了。
|
|