主要技术栈为Linux C++技术方向,2021年腾讯秋招软件开发岗位
一面
1. 自我介绍
2. 看你简历上有写智能指针,你能给我简单描述一下吗?
3. C文件的编译过程?
4. 链接有哪些链接方式?
5. 指针数组、数组指针的sizeof求值分别是什么?
6. 你对模板有了解吗?
7. 你了解运行时多态的实现过程吗?
8. 你了解STL吗?map的底层实现?map中查找一个元素的时间复杂度?hash冲突的解决方法?
9. 排序算法你了解哪些,具体说说
10. core文件的调试方式?gdb的使用方法你了解过哪些?要是你的代码core掉,你一般会怎样调试?
11. 多进程间通信的方式?你认为哪一种的效率最高?
12. 那多线程间通信有哪些方法?线程安全问题如何解决?如果想让数据属于线程私有应该怎样实现?有了解过tls的底层实现吗?
13. TCP/UDP可以进行广播吗?UDP可靠吗?MTU/MSS的大小?
14. unique_lock和lock_groud的区别?我看到你的项目中有个bug?我看到你的项目中用的send和recv,怎样设置为非阻塞?非阻塞如果没有数据可读返回值是什么?
15. 三次握手和四次挥手?
16. 有没有了解过malloc的底层?
17. 查看服务器连接的工具?你有抓过数据包吗?
18.