字节跳动后端开发-基础架构实习生面经【已oc】

一面 
1.聊项目，简单谈了一下我的前端的项目，老师问有没有后端或者C++的小项目，目前正在学一个网络的项目，还没有作过多了解。 
2.C++和C的区别 
3.谈一下值传递和引用传递的区别，性能上有什么区别 
4.谈一下你了解的智能指针，有什么作用（简单说了一下auto_ptr,unique_ptr,shared_ptr,weak_ptr，提了一下是用类来维护这个的） 
5.谈一下虚函数表的用处 
6.说一下进程与线程的区别，线程之间是怎么进行通信的，线程和进程之间的开销对比（这里问的比较详细，回答的不是特别清楚） 
7.说一下你知道的有哪几个锁 
8.虚拟地址空间 
9.你知道io多路复用吗，简述一下 
10.介绍一下B+树 
11.举例介绍一下你平常是如何选择某种数据结构的 
12.介绍一下平衡二叉树 
13.数组和链表的区别 
14.能写一下多线程哈希表吗？（记不太清了，好像叫这个名字，不会） 

算法题： 
1.螺旋打印二维数组 
2.多叉树深度优先搜索 

总结：在操作系统方面还是了解较少，数据结构方面还需要再复习一下，多看几遍，然后这几天将C++的项目推进一下，争取尽快完成项目。
