百度C++岗1面面经(现场)
1.自我介绍
2.C++:
1)介绍STL中vector list map unordered_map的底层,包括区别和优缺点
2)智能指针,为什么存在,怎么使用,所有shared都绑定weak行不行
3)一个程序执行时数据的存储区域有哪些
char* c = "abcd"; //c和后面abcd存在哪
char c[] = {'a','b','c','d'}; //同上
4)动态多态怎么使用,虚指针为什么能找到对应的函数,虚表什么时候生成
3.IO的同步异步,阻塞非阻塞
4.网络
网络的几个层次,具体说一下传输层和网络层,以及区别
5.操作系统
1)什么时候需要线程,线程同步机制,什么时候需要同步,为什么i += 1不是原子
2)进行通信,优缺点
3)线程池
4)IO多路复用的优点
5)LINUX的top,free,kill,cat,chmod等常见命令
6.数据库
1)索引的作用,底层
2)事务为什么存在
(数据库这里因为我几乎忘记mysql就问了一些redis的(项目相关))
7.手撕代码(很多很多的数找出最大的10个)
#百度##校招##面经##C++工程师#