人生第一次面试,确实慌得一笔。感谢腾讯给的机会。
项目一分钟没问其实没想到。
本人大三双非计科专业投的是游戏客户端研发实习岗位
C++:
1、如何理解C++面向对象编程
2、封装
3、继承
4、多态的实现,运行时多态、编译时多态
5、虚函数底层机制
6、this指针,问的很细保存在哪里,struct中有this指针吗(this确实没深入了解过)
7、struct和class最本质的区别(回答的都不是本质)
8、函数运行全过程的底层机制(从入栈开始讲),问到汇编层面(汇编层面确实不清楚)
9、typedef和define区别(typedef没用过不清楚)
10、const和define区别,什么时候const无法代替define
11、const int * 跟 int const * 区别
12、vector扩容机制
13、vector中resize()和reserve()区别
14、介绍RB-tree和时间复杂度
15、map中[]跟insert区别(不会)
16、如何避免头文件重复包含
手撕代码:
17、给一个vector,如果遇到连续的一串数则输出头尾、否则直接输出(说了思路)
设计模式不了解所以直接没问跳过
计网:
18、TCP、UDP
19、TCP/IP五层模型
20、TCP如何保证可靠传输
21、拥塞控制和流量控制区别
22、接收端如何判断是否ip数据报是否完整(不会)(从网络编程角度)
还有一些网络编程方面没怎么学过直接说不太会
操作系统:
23、进程间通信
24、具体讲讲如何实现信号量通信
25、linux锁机制跟具体实现(具体实现的函数不知道没用过)
26、介绍下虚拟内存(说了个大概)
其他还有些就记不清楚了,套路都一样从最表面问道最底层,会很深入。
数据结构:
27、各种排序时间复杂度
28、讲讲快排思路
29、100亿个数怎么取前一万个最大的
最后居然没有反问阶段,大概一个小时到了就结束了,应该是凉了,不过确实学到不少,积累经验。