【拼多多】C++岗-服务端实习岗一面

1、 一个C++源文件从文本到可执行文件经历的过程

2、#include 的顺序以及尖叫括号和双引号的区别

3、进程和线程,为什么要有线程

4、C++11有哪些新特性

5、malloc的原理,brk系统调用干什么的,mmap呢

6、C++的内存管理方式,STL的allocator,最新版本默认使用的分配器

7、hash表的实现,包括STL中的哈希桶长度常数。

8、hash表如何rehash,怎么处理其中保存的资源

9、Redis的rehash怎么做的,为什么要渐进rehash,渐进rehash怎么实现的

10、Redis的定时机制怎么实现的,有哪些弊端,你将如何改进这个弊端

11、Redis是单线程的,为什么这么高效

12、Redis的数据类型有哪些,底层怎么实现

13、Redis和memcached的区别

14、TCP的模型,状态转移

15、用过哪些设计模式,单例模式,观察者模式的多线程安全问题

16、用过多线程吗,以前的多线程代码还能怎么优化,线程池的实现

17、epoll怎么实现的,reactor模型组成

18、线程间的同步方式,最好说出具体的系统调用

19、哈希表的桶个数为什么是质数,合数有何不妥?

发表评论

后才能评论