影石一面面经
1. 自我介绍。
2. 你想做什么岗位?(因为我项目比较水,面试官就直接开始问八股了,还问了 C++ 和 C 哪个更熟)
3. 聊聊你对 `static` 关键字的理解?
4. 静态全局变量啥时候初始化?如果分别初始化成 0 和 1,会有啥不一样?
5. 类里面为啥要有 `static` 函数?有啥用?一般用在什么地方?
6. `new` 和 `malloc` 有啥区别?
7. `malloc` 出来的指针,用 `delete` 会怎么样?
8. 平时写代码碰到过内存泄漏或者悬空指针吗?
9. 一个 Linux 程序一直跑,内存越用越多,可能是啥原因?如果内存占满了会怎么样?(我答了会崩)
10. 程序是自己崩的吗?具体会发生啥?
11. `malloc` 一个指针,然后改了它的指向,会发生什么?
12. 野指针会造成什么问题?
13. 为啥会崩溃?
14. 怎么才能触发崩溃?
15. 系统是怎么知道一个地址是无效的?
16. 虚拟地址映射里有个页表,这个页表是怎么找到的?
17. 什么是用户态和内核态?
18. 用户态能干啥?有啥限制?怎么从用户态切换到内核态?
19. Linux 和 RTOS 在这方面为啥会有区别?
20. 信号和槽的实现原理是啥?
21. 了解 QT 的 event loop 吗?
22. 如果在 QT 里,用一个子线程去显示 UI (比如 QMainWindow),主线程干别的(比如监听事件),会发生什么?