Advertisement

软件开发秋招面经--------2021腾讯秋招软件开发工程师C++面经(三面+hr面)

阅读量:

主要技术栈为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. 你有了解过开源的东西吗?你有了解过协程吗?分布式?阿帕奇?

19. 算法题:K行,每一行有无穷多的数,每一行都是由大到小排列,从这K行中找前N个最大的数

20. 你有什么问题要问的么

二面

1. 自我介绍

2. 主要聊项目

3. 算法题:在无数个无序数中找到中位数

4. 你问的问题

三面

1. 问了学校相关专业课

2. 算法题:一个文件中有100亿个int数据,用最短时间找到最大的1000个

3. 进程和线程的区别

4. 线程池的实现方法?有什么好处?

5. vector和list的区别,push_back如何实现?vector的扩容方式?为什么扩容有这样差异?

6. vector、list、map、set有什么区别?分别的使用场景?

7. Linux下进程间通信方式?管道、共享内存什么场景下会用?两个进程不在同一个机器如何通信?

8. 有用过socket吗?UDP不可靠为啥还要存在?

9. 微信聊天用的是UDP还是TCP?

10. Linux下查看网络端口?

11. Linux下查看负载情况?

12. 临时变量int arr[]可以达到的最大大小

13. 一个进程最大能占用多大的内存空间?

14. 你考虑读研究生吗?你家是哪里的?

hr面

1. 自我介绍

2. 介绍部门

3. 你有什么兴趣爱好吗?

4. 你使用过直播app吗?

5. 你平时喜欢看什么直播?

6. 你觉得直播的app平时哪些地方的压力会比较大?

7. 你有面试其他公司吗?考虑优先级?

8. 考虑读研究生吗?

9. 有女朋友吗?

10. 父母做什么工作?

11. 问一个问题

全部评论 (0)

还没有任何评论哟~