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