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;
}
这两个指针之间的区别 。
以及:第一个指针离开作用域前要delete,那第二个指针是否必须delete?

Q&A

因为我学校在江苏,今天还要回校,QA的时候和面试官说明了一下,结果刚下楼就收到了面试官电话,说一面过了,总监现在正好在上海总部,让我现在过去接着面,真的是太Nice了。

然后就风尘仆仆的赶往了腾讯上海大厦,还好只有一站地铁。


二面 总监 (45min)

继续问简历上的经历

怼项目细节

了解哪些kv数据库

讲讲项目的难点,参考了哪些资料,具体做了哪些优化

看过哪些c++方面的书

问了<<effective c++>>里面一个重载new运算符的问题:

什么时候需要重载,重载有什么坏处,我只记得书上说尽量不要重载,卒。

个人项目的benchmark性能测试结果如何

问了一丢丢读写锁

项目里如何设计缓存来减少不必要的IO

执行一个系统调用时,OS发生的过程,越详细越好

执行一个IO调用写文件,到把数据写进磁盘发生的所有过程,越详细越好

TCP用了哪些措施保证其可靠性

OS怎么实现用户态和内核态之间的切换

内核态的函数调用和用户态的函数调用有何区别(没答上来)

Linux如何确定文件在磁盘上的位置

给一段代码:
class A;
A a;
a=a+100;
怎么实现类A可以支持以上操作。答了重载+号运算符,然后判断(a+100)是一个右值,这里我不确定,所以还说了要重载一个右值版本的赋值运算符。

然后面试官接着问,重载运算符应该是全局的还是类内成员函数,两者有什么区别,或者有什么好处坏处。

最近在看哪些书

未来的发展方向和规划
Q&A

大致就这些,可能有一些小问题没想起来,非常庆幸没让我手撕算法。
#实习##春招##面经##腾讯#
全部评论
膜拜大佬
点赞 回复 分享
发布于 2018-04-15 23:06
A* ptr2=new (buffer) A; 没看懂这个.... 为什么这个指针不需要delete?
点赞 回复 分享
发布于 2018-04-15 23:55
同学面的哪个部门呢
点赞 回复 分享
发布于 2018-04-15 23:24
已经会linux了
点赞 回复 分享
发布于 2018-04-15 22:06
一天面两面?
点赞 回复 分享
发布于 2018-04-15 21:59
移动运算符理论不用构造,拷贝构造运算符可以接受右值参数,不过为了性能的话确实加上比较好
点赞 回复 分享
发布于 2018-04-15 21:49
其他的都还好。。居然能问到C***17。。佩服
点赞 回复 分享
发布于 2018-04-15 21:48

相关推荐

07-10 11:08
门头沟学院 Java
Sairus:我注册都注册不了提醒我手机号二次啥的,果然对于人才推得就是快,像我投完了就没回音的
投递京东等公司9个岗位
点赞 评论 收藏
分享
07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
评论
点赞
60
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务