概述:秋招最恐怖的一集,感觉二面才是真正的基础面,被狠狠拷打了60分钟,面完觉得必挂,但是抽象地过了
面试流程:
1、自我介绍
2、epoll和select的区别
3、select最多能有多少个连接,可以修改吗
4、epoll最多能有多少个连接,有什么限制吗
5、4核8G的服务器,可以创建多少连接
6、客户端和服务端距离很远,建立连接后,客户端长时间不发消息,连接会怎么样
7、不考虑主动发消息保活,服务端recv等待很久会怎么办
8、tcp用了80端口,udp还可以用吗
9、构造函数能否设为虚函数
10、C++ 1G内存,可以创建多少个线程
11、线程大小是10M吗,可以修改吗
12、线程这10MB主要是什么
13、如果将线程大小修改位KB级别会怎么样
14、栈和堆的区别
15、为什么java和go不需要堆
16、高考学生1000万,所有成绩在内存中排序,应该使用什么算法
17、使用快速排序什么情况下会复杂度恶化
18、有什么方法优化
19、 还是可能出现恶化的情况,能用其他算法吗
20、还是觉得不太认可,问有没有更快的排序方法
21、基数排序可以用在这个场景吗,时间复杂度是多少
22、快排为什么比同是nlogn的堆排还有归排好
23、vector push_back的逻辑
24、扩容时是怎么复制数据的,拷贝构造吗
25、扩容后旧的空间会释放吗
26、stl具体怎么管理内存的
27、struct A{char a, short b, int c}的大小
28、core文件有用过吗
29、消息队列、redis等存储相关的组件使用过吗
30、sql题:给一个成绩表,记录学号,课程,分数,找到平均分最高的课程
31、智力题:脑子已经不够用了,给了两次机会都没把握住
32、手撕:最小路径和
31、没有反问,直接结束
#牛客创作赏金赛##字节求职进展汇总##软件开发笔面经#