4.15 腾讯上海现场 后台开发 一二面面经
一面 (30min)
拉家常 简单问问简历上的经历
怼项目细节 核实简历真实性
关于项目优化的开放性问题(这里花了大概15分钟)
优化 优化 往死里优化,抛场景,然后给优化对策
new/malloc的区别
析构函数的作用
堆和栈的区别
C++17里invoke替代方案实现
bind的使用场景
future是干嘛用的
lambda的实质(编译器层面)
class A; void func(){ char buffer[1024]; A* ptr=new A; A* ptr2=new (buffer) A; }
Q&A
因为我学校在江苏,今天还要回校,QA的时候和面试官说明了一下,结果刚下楼就收到了面试官电话,说一面过了,总监现在正好在上海总部,让我现在过去接着面,真的是太Nice了。
然后就风尘仆仆的赶往了腾讯上海大厦,还好只有一站地铁。
二面 总监 (45min)
继续问简历上的经历
怼项目细节
了解哪些kv数据库
讲讲项目的难点,参考了哪些资料,具体做了哪些优化
看过哪些c++方面的书
问了<<effective c++>>里面一个重载new运算符的问题:
什么时候需要重载,重载有什么坏处,我只记得书上说尽量不要重载,卒。
个人项目的benchmark性能测试结果如何
问了一丢丢读写锁
项目里如何设计缓存来减少不必要的IO
执行一个系统调用时,OS发生的过程,越详细越好
执行一个IO调用写文件,到把数据写进磁盘发生的所有过程,越详细越好
TCP用了哪些措施保证其可靠性
OS怎么实现用户态和内核态之间的切换
内核态的函数调用和用户态的函数调用有何区别(没答上来)
Linux如何确定文件在磁盘上的位置
class A; A a; a=a+100;
然后面试官接着问,重载运算符应该是全局的还是类内成员函数,两者有什么区别,或者有什么好处坏处。
最近在看哪些书