前情提要:在boss上找了10多家本地的企业,只有Momenta给了回复,简历过了之后就约面。岗位是C++系统研发,比较神秘的是官网上没找到广州的岗位但是boss上有。全长约40min。※还是没做题① 挑一个项目介绍一下吧(20min)。我把操作系统课设做的类UFS文件系统拿来说了说,一边对着代码一边讲解。问了关于磁盘影像文件、inode、create系统调用实现等等内容。有没有做系统调用以外的东西?(应该没有)有没有Linux做出来的你没做出来的东西?(我把fsync调用讲了一下,那个我是直接调用C库的)fsync和fdatasync有什么区别?(看了眼代码注释想起来后者还可以同步元数据然后说了一下)② 见过extern C这样的语句吗,为啥在C++中调用C库要这么写。(不知道,随便答了一个gcc和g++编译的逻辑有区别)③ 多态讲一下讲了虚函数、虚函数表和指针,但是忘了指针怎么找到对应的派生类重写的函数了。④ C++11了解过吗(了解,智能指针、多线程),shared_ptr是线程安全的吗。⑤ STL容器了解哪些,map和unordered_map有序/无序。用迭代器遍历map的过程中如果删东西会有问题吗。⑥ 对vector和list用sort有什么不一样吗(我用list用的不多,大概答了一下vector花样更多)⑦ 你简历写到阅读csapp,你印象最深刻的是哪个(有点紧张,答了个当时喜欢用gcc -S看O1/O2/O3优化下汇编的不同)⑧ 除了这些编译器自动优化的以外,有没有进行手动优化(答了一个比较远古的玩意:i++和++i的区别,最后说了一下现在这俩效率差不多)⑨ 二维数组,按行读/按列读哪个比较快,(我说按列,讲了一下当时做矩阵运算优化的时候关注过,其实按行,“可能我和你对行的理解不一样”)。为什么(忘记了当时做实验是哪个了,回答寄存器,说错了)⑩ 反问:想要点学习和进步的建议,建议我多看一下C++基础特别是C++11 xD总结:真细啊,开摆了。------------------当天晚上吃饭的时候打电话通知二面,意想不到的惊喜,好好复盘加油学习吧