刚面完头条,有点静不下来,写一篇面经吧。
等待
讲真,头条这面试时间安排的也太不合理了。一点都没有规划呀。预约了下午三点的面试,活生生等到了下午五点才开始一面。
一面
- 一上来,自我介绍
- 然后科研项目,巴拉巴拉开始介绍
- 然后做题,第一个题,给定一个数组,找出这个数组中每一个数右边的第一个比它大的数,比如9 6 5 7 3 2 1 5 9 10,返回的是 10 7 7 9 5 5 5 9 10 N。
- 一上来,用了一个二重循环
- 然后让改,提示了一下用栈,做出来了
- 第二个题,找出一个数组的中位数,即左边的数都比它小,右边的都比它大
- 一上来,用了个优先队列
- 又让改,提示了一下用一个辅助数组,做出来了
- 最后问项目
- linux高并发怎么改进
- 一面完!
等待
大概5分钟左右,hr电话,通知二面。然后开始等待,漫长的等待,从下午六点等到晚上9点。。。
二面
- 一上来,做题,二叉查找树中,查找与给定数最相近的节点
- 然后项目
- fork, socket 编程,已经细到每个函数的名称了。
- 然后linux进程通信方式,具体每一个怎么用,然后说出来一个管道的。。
- 项目改进
等待
因为时间太晚了,hr打电话换了一个时间进行后面的面试。后面的等面完了补上
三面
- 一上来,先自我介绍
- 然后设计一个系统。就说一个服务器上面有一个文件,要把这个文件传给别的服务器,别的服务器数量是成千上万个,怎么设计这个服务器,使得传输的时间最小,或者说系统吞吐量最大。然后就这个问题问了好久
- 排序算法,各种排序算法的适用场景
- TCP三次握手
- Redis的底层数据结构的实现
- 数据库中事务的概念
- 闲聊
总结
- 除了等的时间长之外,今日头条的面试官人是真的很Nice!
- 早上11点过面完三面,中午1点钟接到hr电话,表示通过了。至于offer是否有得根据总的情况来看。不过有了一个校招直通终面的机会。