面试方式:腾讯面呗视频面试,约50分钟。
1. 首先自我介绍。
2. 首先让我介绍TCP的四次挥手过程,问如果最后一个ACK没有收到会怎么样?问什么是四次而不是两次?四次挥手完马上就会变成Closed状态吗?
3. 让我介绍我对进程,线程和协程的理解。然后问我进程的底层实现方式,是否接触过协程。
4. 问IPC的通信方式有哪几种?我说了后问我半双工和全双工有什么区别?又问共享内存是怎么实现的?
5. 让我用网络编程实现一个TCP连接,我说我不会,没接触过网络编程。
6. 问我平衡二叉树的性质,和在平衡二叉树上面有哪些扩展(比如红黑树)。
7. 怎么解决哈希冲突,我说用可以链地址法,然后问我如果每个地址的链不均匀,比如有的很长怎么解决这种情况;如果很均匀但都很长怎么解决。
8. 思路题:10亿条数据,每条数据有三个字段:账号,上线时刻,下线时刻,让我想办法统计每秒的在线用户,且尽量小的时间复杂度。
9. 让我介绍我参与程度最高的一个项目,然后针对这个项目问我这是偏工程还是科研等等一些问题。
10. 他结束问后,然后我问他公司的培训机制和学习机制,如果我能够去实习的话,我具体做些什么工作。