天王星凉经
技术一面
- 自我介绍
- 提到github,延伸了一下,有什么内容。
- 项目:C++、Qt技术栈
- linux做过什么:webserver
- 八股(但又不是完全八股)
- 多态解释。C++实现方式。虚函数、虚表、虚表的结构和实现、在对象中吗、构造函数能不能是虚函数、析构函数呢、为什么能为什么不能
- 形参传指针和引用
- C++编译过程。具体解释编译做了什么事情,聊了cmake到makefile到编译到链接,但是追问更加具体的编译,讲了预处理、编译器优化等。链接的种类,讲了库,静态动态。编译器优化,for循环会优化成什么样子,O1、O2、O3等编译选项,玩过但忘光了。。
- linux启动程序,经过哪些内核态的处理。可以理解成fork以后内核做了哪些事情。勉强在提示中答了一点:中断进入内核,使用内核API创建进程,拷贝父进程的数据等。也是学过又忘了。。
- CPU如何执行指令/加载数据等。
- 说说缓存。缓存类型、算法、缓存的结果,多块缓存之间的处理等。哎,还是没复习到。
- 项目:游戏的项目、主要聊架构。但没啥反馈。问了客户端和服务端断连的处理方法,感觉回答的不好。
- 手撕算法。 一个LRU的数据结构。即有一定容量,超出容量就把最久没用的数据删掉。暴力算法就是一个list存数据,再来一个哈希表存键值和list的迭代器位置,操作更新使用的情况即可。但当场没写出来。。这么简单,脑子发昏。