腾讯一面GG面经(C++后台)

嗯一面挂,莫名其妙挂。
面试官上来就问觉得C++如何,然后巴拉一堆。
Q:你说你了解C++ 11 ,C++   11 有哪些特性?
A: 自动类型推导,lambda,function,右值引用,右值移动构造等。
Q:说说右值引用。
A: 短时存在的,可能被销毁的临时变量。
Q:说说右值移动构造。
A:本质是控制权的转交,将临时对象的内存控制权交给新对象,同时移后源指针置为空,应保证不对移后源对象做其它操作,任何操作都是不可控的。
Q:一定会有控制权移交吗?
A:(这时候已经在怀疑面试官不懂右值移动构造了)是的,这也是设计的初衷,为了提升性能。
Q:为什么会有性能提升?
A:因为本质上只是原对象的重新利用,而不是构造函数重新分配内存。
Q:你觉得这个新特性用的多吗?
A:事实上有很多限制,编译器大都不会为你生成移动构造函数(这里有问题,限定条件应该是所有成员可移动且未定义拷贝构造函数)。用的还是挺多的,比如说vector的push_back,新版本参数是右值引用,会根据传入的具体类型(左值构造,右值移动)来操作,此外,新版本的swap函数的标准实现就是三个move,而没有临时对象。
Q:关于异常了解吗?
A:移动赋值/赋值运算符要注意赋值过程中的异常安全,简单来说就是防止自赋值。
Q:那如果析构抛出异常怎么办?
A:没了解过。(这里答案是终止)。
Q:数据库了解吗?
A:了解课本知识。然后没问了
Q:网络协议了解吗?HTTP?
A: HTTP是应用层协议,底层传输层是TCP。(需要说特点吗?面试官答不需要,然后结束)
Q:聊聊研究经历。
A: 这块说了10分钟,讲了研究生阶段做的研究。

总结:大的问题没有,但感觉面试官对C++ 11并没有很深的掌握,挂的也是莫名奇妙,不清楚原因。具体BG不要问啦。
#内推##实习##面经#
全部评论
楼主目前没有offer在。。 阿里在等可能的HR面(也可能挂了哈哈)。最想去的就是腾讯的这个BG。 不过面试官的水准值得怀疑。
点赞 回复 分享
发布于 2018-03-28 11:09
感觉你回答的挺好啊
点赞 回复 分享
发布于 2018-03-28 11:12
看来楼主满满的抱怨,其实不是你回答的差,是可能后面有人回答的病更好。面试总是看点运气的。
点赞 回复 分享
发布于 2018-03-28 11:12
有的面试官会故意引导你犯错的,不一定是水准不行,比如还有问没有线程的进程叫什么进程的
点赞 回复 分享
发布于 2018-03-28 11:15
简历不怎么突出,所以没有问项目。。。 问了数据库,网络。  也是没有太大亮点。 综上面试官觉得不匹配,卒。。。 右值引用感觉没答到点上,也可能你理解了但是说的不是面试官想要的,造成了以为你不懂。。。
点赞 回复 分享
发布于 2018-03-28 11:21
腾讯面试有时很迷的,有时照着简历问一遍,就完了,然后挂了,有时很水的人,不是C++的都有可能进去。。
点赞 回复 分享
发布于 2018-03-28 11:26
面试过程很粗擦啊,没有发挥空间
点赞 回复 分享
发布于 2018-03-28 11:28
面试就是看运气的,尽管你觉得自己掌握的很好,其他公司面试官对你评价很好,但何尝又不是问的可能都是你熟悉呢?就像我面阿里问了我两个小时,我基本也觉得都答对了,我都不知道自己为什么挂了。
点赞 回复 分享
发布于 2018-03-28 11:52
以后还是机智的说智能指针~~~~~~
点赞 回复 分享
发布于 2018-03-28 14:15
你是什么时候面的
点赞 回复 分享
发布于 2018-03-29 01:34
Q:说说右值引用。 A: 短时存在的,可能被销毁的临时变量。 这个感觉有点问题,回答的是右值而不是右值引用的意思吧.....当然右值也不是这个定义,感觉说右值引用还是从两个特性移动语义和完美转发来描述比较好?
点赞 回复 分享
发布于 2018-03-29 11:04

相关推荐

5 41 评论
分享
牛客网
牛客企业服务