最近有小伙伴反馈已经拿到了腾讯offer,真是为他高兴啊,在他的高兴之余,就和他聊了聊腾讯面试C++的时候都问了哪些问题。
那么今天就给大家汇总结下,希望大家去大厂面试前,做好充分的准备!
腾讯面试一面:
首先:自我介绍;
其次:你是非科班的,说一下你的自学过程;
最后:简单介绍一下你的项目;
1/项目用到了epoll,讲一下epoll的ET模式和LT模式;
2/讲一下epoll的oneshot?
3/惊群效应;
腾讯二面:
首先:介绍一下项目;
其次:项目用到了线程池,如何避免多线程的同步错误?
线程间的通信机制;
项目用到了stl,从源码角度讲一种你熟悉的stl容器的实现?map与unordered_map的底层数据结构与查找复杂度;
项目是用Cpp11写的吗?讲一下Cpp11的新特性?
讲一下智能指针为何能避免内存泄露?为什么匿名函数能提高程序效率?
你的http报文解析是怎么做的?用到了什么数据结构?如果http应答报文大于你设定的写缓冲区怎么处理?
既然tcp更可靠,为什么有很多项目还是优先选择udp?udp快在哪里?如何保证udp的可靠性?
libevent了解过吗?讲一下libevent的原理;
内存对齐;
虚函数工作原理;
什么时候用模板函数?什么时候用虚函数?
Cpp 类对象的内存分布;
手撕LRUmap
腾讯三面:
首先:介绍一下你的项目;