提前批面经C/C++后台开发岗位(持续更新)
提前批的面试经历,面试过程中的问题。
百度一面
- 自我介绍
- C++拷贝构造函数为什么传引用
- 如何返回值一个类的构造和拷贝构造
- 如果声明为私有的,那么是编译时错误还是运行时错误
- vector越界访问下标
- map越界访问下标
- 如何删除map中的奇数节点
- 指针和引用的区别
- C++中内存泄漏问题
- new和malloc的区别
- TCP断开连接过程,timewait解释
- HTTP中状态码 302(详细问) 403 400
- 连续子数组最大和问题
百度二面
- 实习负责的模块是什么?遇到了什么问题和挑战?
- C++多态,虚标指针在什么时候初始化
- STL库的容器底层实现
- 红黑树的插入效率,为什么相对平衡的红黑树比绝对平衡的AVL适用广
- B树和B+树的区别,B+树应用在哪?
- 哈希表的哈希冲突,解决哈希冲突的几种方法
- 进程间通信方式,每个都讲一下
- 网编程讲一下。
- select和epoll,epoll底层实现,数据的拷贝方式。
- 求一个数开根号(二分)
- 讲一下timewait状态,没有timewait有什么问题
- 滑动窗口和拥塞窗口
- 慢启动和快重传
- 实现一个功能,能检测内存泄漏问题,通过一个指令输出整个进程中哪一行哪个函数申请了多少内存,按照顺序排列出来,还有总的内存数
百度三面(经理面)
- 谈实习工作
- Linux下的内存机制
- 模板的分离编译
- 空类的大小,含有成员函数类的大小
- 链接过程(详细)
- 写个string类
- 关于找工作,生活的问题
阿里一面
- 进程、线程、携程的区别
- 进程创建子进程,fork详解
- I/O模型介绍,细说slect和epoll。I/O多路转接阻塞?非阻塞?有什么问题?
- 数据库底层数据结构?说下为什么采用B+树?
- 数据库的ACID特性
- 数据库索引相关
- 知道那些非关系型数据库?
- C++中struct和class区别
- C语言struct和C++struct区别
- 如何用C语言实现C++的继承
- inline相关,虚函数可以声明为inline吗?
- 说下虚表的原理
- 多重继承的问题,详解,对比一些开源框架中使用的多重继承来说?
- 了解RAII?说一下什么是RAII?应用?
- 智能指针,share_ptr和weak_ptr,细说weak_ptr?可以用原生指针吗?
- 了解那些分布式组件?说下Zookeeper和HDFS,说下CAP理论
- 了解哪些一致性算法
- 深度优先遍历和广度优先遍历的应用场景
- 项目中使用网络编程?简单说下?说下cgi?服务器采用什么结构?使用的epoll模型?
- 有序的数组,其他数都出现两次,一个数只出现一次?思路(数组无序异或,数组有序采用二分)