一面53分钟
1.线程和进程的区别(从这个开头,问了一些锁的问题,还有线程共享哪些资源,端口号占用的情况,惊群效应)
2.流量控制和拥塞控制的区别
3.进程的通信方式(之后问了有名管道和匿名管道的区别,消息队列和管道的区别)
4.kmp算法
5.三道位运算的算法题
6.场景题:微信查看附近的人的算法怎么实现的吗,用什么数据结构存储。
7.topk问题
8.哈希冲突
一面只能想起来这么多了,总体来说,一面问题几乎都答上来了,感觉发挥的不错,然后第二天就接到了二面请求
二面40分钟
二面全程问操作系统,问的我头晕。
1.开头还是线程和进程的区别(之后的扩展问题比跟一面差不多,但是更深)
2.线程是共享一个栈还是各有自己的栈
3.b数和b+数的区别,解释下为什么数据库要用b+数存储。
4.c++内存布局,每个区是存放什么的。
5.栈和堆哪个速度快,为什么?
6.多态
7.虚函数运行机制以及虚函数缺陷
8.为什么sizeof空类是1
9.是一个类对应一个虚函数还是一个对象为什么?
10.红黑树讲讲,跟avl树的区别
11.讲下你印象最深的算法题
12.c++函数调用的过程
13.实现个智能指针
14.RTII解释下
差不多就这么多了,操作系统问的很细,我记不起来了。
三面20分钟
聊人生,吹水。