面试公司:百度
面试岗位:C++后台开发
一面:
介绍下自己的项目
1.TCP四次挥手中time_wait作用是什么?去掉这个过程会有哪些后果?
2.虚函数的实现机制?
3.vector,queue的底层数据结构是什么?循环链表有什么好处?
4.详细讲讲平衡二叉树?和红黑树的具体差异?
5.知道哪些排序算法?给我详细讲讲快速排序和堆排序的实现原理和过程?
6.给我详细介绍下TCP特性?
7.你知道哪些mysql引擎?详细讲讲innodb和myisam区别?
8.为什么要使用联合索引?对(a,b,c)建立联合索引,where a=3,b>4,c=5能使用这个联合索引吗?为什么?
9.共享锁的特点?
10.什么是事物?详细介绍下ACID四个特性?
11.三大范式分别介绍下?
二面:
突击面试,不约时间,11点来电就直接开始了。这种没有准备的情况下一定要冷静,可以先让面试官稍等片刻自己准备下设备,同时调整下状态。
1.TCP三次握手过程,改成两次握手会有什么影响?
2.进程间通信有哪些方式?用过哪些?讲讲管道和消息队列一些特性?
3.数据库的四种隔离级别?分别解决了哪些不一致的问题?
4.浏览器从输入baidu到显示界面中间完整的过程?
5.什么是死锁?形成死锁的条件?怎么避免出现死锁?
6.除了select网络模型你你还知道哪些网络模型?讲讲select和epoll网络模型的区别?
7.讲讲进程的内存分布?讲讲栈和堆有哪些区别,越详细越好?