腾讯CSIG地图引擎开发工程师一面面经

本人211 CS专业毕业，三年工作经历，最近刚出来面试，没啥面试经验，还是很紧张的。 
复盘了一下觉得很不应该，知道的问题因为紧张没答上来，如果还有机会的话要好好把握住了。 

-项目相关(20m左右): 针对我上一个项目问的很细，侧重点是如何控制并发、保障数据一致性 

-C++相关(10m)：这里我答得真的很烂，磕磕绊绊，有印象的写下面了 
1.Vector相关：resize、reverse方法，迭代器什么情况下会失效(push_back时之前end失效，扩容时first、end失效，删除操作会导致删除点开始往后的迭代器全部失效) 
2.虚函数相关：虚函数的作用，什么是纯虚函数(虚函数 =0，存在于抽象类中，只提供接口没有具体实现)，虚函数可以是静态的吗(不能，静态成员函数没有this指针，无法访问vptr)，推导一下为什么 

-计网相关(15m)： 
1.描述TCP、UDP的区别，拓展：TCP为什么可靠(握手挥手、数据分块、序列号和确认应答、校验和、流量控制、拥塞控制、超时重传) 
2.描述一下三次握手和四次挥手，拓展：假设客户端接到第二次握手后一直不响应服务端会怎么办(服务端配置tcp_synack_retries重试次数，达到以后关闭连接，客户端故意不发的情况属于SYN FLOOD共攻击) 
3.客户端第四次挥手后进入什么状态、为什么要做这个等待、等待多长时间(进入TIME-WAIT状态，因为服务端可能会没收到第四次挥手，重发三次挥手请求，所以要等2MSL) 

-算法(5~8m左右)：二叉树广度优先遍历
