在面试之前,我是不会想到外企会这么凶残的。
一个小会议室,四个人轮番上阵,前三个技术面,每人一小时;后一个是部门直属领导,负责和你谈谈人生。
中间我上了个厕所,就继续面下一个。累摊。
难度来说,其实每轮都差不多,只是车轮战确实很令人窒息。
First Round
聊了一下实习和项目。
实习用到数据库,没有这个你要怎么做?
实习有没有多线程的地方?(没有,要用也是封装好了给你用,大厂基础设施完善的坏处)
进程、线程、协程的区别和联系。
进程间通信的方法。(尴尬的是,我背成线程间通信了。。。)
Socket API熟吗(一个都不会,尴尬,为什么上一题我唯独答对了Socket?)
Golang里怎么实现多线程?吹了一波GPM模型,还有work-stealing算法。(发明这些机制的人真是强啊)
Linux在一个文件里,每行空格分开很多列,怎样查找所有行某两个空格之间的数据(不太会)
讲讲TCP的传输。
TCP三次握手,报文的某些特殊位数怎么变化?(忘记了)
讲讲计算机网络的报文封装。
讲讲ARP协议。什么情况下ARP查询报文会没有回应?(1. NAT 2. 不在同一子网)
Git的rebase是什么意思?(没有用过)
尴尬的第一轮面试结束了。