腾讯后台开发 一面面经

本来想投递的是游戏的服务端开发,官网没有直接对应的岗位,根据内推的小伙伴说直接投后台开发选择IEG事业群就可以了。

一面在腾讯会议,面试官不开摄像头(差评),一面的深度广度都比较大,特别是喜欢从某一个技术点逐层深挖下去直到我讲不出来或者他没东西问为止。

1.虚函数是什么概念,有什么作用?
2.为什么析构函数一般写成虚函数?
3.类里面包含其他类对象时,构造函数和析构函数的调用顺序
4.继承、覆盖、重载这几个概念的区别(不知道为什么会把继承和这些放到一起)
5.说到重载,如果是需要为C语言提供接口,怎么解决不支持重载的问题
6.你说到了extern C关键字,详细解释一下这个关键字功能
7.new 和 malloc的区别
8.单例模式介绍一下,怎么解决可能的线程不安全问题
9.共享内存是怎么实现的,为什么能让多个进程同时访问
10.虚拟内存的概念和作用
11.并发的时候怎么保证各个进程间的同步问题
12.怎么用共享内存实现一棵二叉树(这个答的不太好,共享内存申请的是一块连续地址,二叉树没说是满树,不太好用数组去进行直接存储)
13.刚才提到了内核态,用户态和内核态的区别
14.用户态如何切换到内核态(答的系统调用和中断)
15.系统调用是如何怎么切换到内核态的(讲了一下中断向量还有先保存用户态执行的上下文信息,再跳转到系统调用函数入口地址等等,细节有些记不得了)
16.聊了一下web server项目的工作模式
17.你认为你项目里影响并发量的瓶颈可能有哪些?你说的无锁队列的实现原理?
18.优先级队列你会用什么数据结构实现
19.红黑树和哈希表的区别(迷惑问题,这俩还有相似的地方?除了STL容器用这俩实现了相似的功能)
20.tcp粘包问题和成因,如何解决?
21.你使用的测试并发量的工具是怎样的工作原理?(用的webbench,原理很简单,就是fork出许多进程模拟多个客户端进行请求)
22.同步和异步的区别?
23.用户态线程和内核态线程的区别?
24.讲一下线程调度的算法
25.get请求url长度限制(这个没记住。。)
26.讲一下cgi
27.为什么使用管道通信没有使用消息队列,两者的优缺点是什么?(这个没答上来,消息队列没有用过)
28.像xml,json这样的序列化方式的特点是什么?json的优缺点
29.你提到了protocol buffer,protobuf对于强顺序的要求有没有好的解决办法?
30.http常见状态码

五十多分钟面试,问了很多个问题,而且会从你的回答里继续挑某个知识点深挖下去,所以回答的时候千万不要给自己挖坑,尽量往自己了解比较深入的方向去引导。
希望有后续
#面经##校招##C++工程师#
全部评论
预祝成功😁
点赞 回复 分享
发布于 2020-08-15 10:57
咦 IEG不问数据库嘛
点赞 回复 分享
发布于 2020-08-15 17:10
第5个问题是怎么回答的呢,C语言怎么解决不支持重载的问题
点赞 回复 分享
发布于 2020-08-15 18:31
感觉大概率会成功,面试官对你感兴趣才会问这么多
点赞 回复 分享
发布于 2020-08-16 15:45
请问用户态线程和内核态线程的区别是什么啊,平时用的是内核态线程吗?
点赞 回复 分享
发布于 2020-08-16 16:40
17题楼主怎么回答的?
点赞 回复 分享
发布于 2020-08-16 21:33
楼主项目是并发、操作系统相关的吗?内核态这些问的这么多?
点赞 回复 分享
发布于 2020-08-17 17:08
楼主,你现在什么状态?我一面完,面试官说让等其他面试官联系,然后昨晚11点收到笔试通知,再去查状态变灰了。腾讯这骚操作,没懂。
点赞 回复 分享
发布于 2020-08-20 09:15

相关推荐

7 71 评论
分享
牛客网
牛客企业服务