电话面试应该是在9月25日,之后经过了十一长假过了大概半个月时间再没有后续,以为电话面试就挂了,后来接到了面试通知,北京现场面试,而且报销车费,感谢!
到达面试地点,签到后先每人发一道编程题目,要求半小时做完,题目比较简单,我的是合并两个排序链表。
然后,负责人会将题目交给对应的一面面试官,然后过一会叫去一面。
一面:
面试官很和蔼,先让做自我介绍,然后问我编程题的思路,看了看没有问题。开始问项目,问的很细致,但我感觉回答的还不错。面完就等待二面了。
大概聊了20多分钟。
二面:
面试官很聪明,而且沟通和引导能力都很棒。后来知道是先在百度,后到腾讯再到网易最后到了远景的大佬,膜拜。。。
首先就是交流,关于算法和系统底层他自己的一些理解和我说了自己的理解,都是基本的聊天,应该是大概感觉一下,面试者的沟通能力和思维方式。
后来又聊,自己在远景主要做的工作,总之就是不仅有算法基础还要有一些系统数据库和网络的基础。后来正式开始面试也主要在这些方面问。
操作系统:
多线程的调度有哪些方式?
线程过多可能会引起哪些问题?
几乎没有回答上,小伙子基础忘了很多啊,尴尬。。
网络:
TCP和UDP的区别?
TCP传输可靠性怎么理解?基本满意。
数据库:
一条语句,select* from table T 底层是如何进行查询的? 几乎没有回答上,小伙子基础忘了很多啊,尴尬。。
数据结构:
B+树介绍一下,基本满意。
开放题:
10G数据,内存只有2G,外存100G,如何进行排序,要求效率尽可能高。
我先说了用归并排序来解决,在面试官的引导到,因为数据量大,要涉及很多的内存交换,没有想到好办法,所以就用选择用堆排序的方法。
后来再进行数据写出的时候,面试官问怎么来把数据按照顺序存放,append方法怎么实现,面试官看出我没写过,所以就跳过了。这个问题也是基本满意。
现在我想起来,可以用hash_table的思想,我估计这是面试官想要的答案。哎。。
算法方面:
知道哪些优化方法,说了梯度下降、牛顿法、拟牛顿法、拉格朗日乘子法....
然后问了梯度下降和随机梯度下降的区别。基本满意。
面试完成大概40分钟左右,感觉面试官确实比较厉害,而且很重视基础。
三面HR:
先让自我介绍,对远景的了解。
然后聊天问个人的基本情况,问到offer情况,怎么选择,以及女朋友的一些情况。个人的性格缺点,还有优点。
然后就聊公司的发展以及公司的人员配置,想做什么。
最后聊了20多分钟,还可以,说结果最近两天就可以出。很快当天下午就邮件通知高管面试。
高管面试:
3分钟左右,很精炼。为什么选择远景?将来想做什么?性格的缺点?
至此,整个流程结束。
感恩,期待好结果!
2017.10.13