商汤科技C++一面面经

1. C++14有啥新特性?make_unique
2. C++17有啥新特性?auto[key,value] 遍历map,还有那啥标签来着
3. C++20有啥新特性?format、协程
4.lambda如何实现的? 我:?
5.shared_ptr介绍一下。引用计数器线程安全的。
Q:引用计数器的值是堆上的还是栈上的?
A:一开始说的是栈上,让我写一下实现,发现,唔应该是堆上的
6.你写的那个不是拷贝构造函数啊,Test(Test&)我写的是这样的。我说必须要加个const?面试官是的,你不加编译器也会默认生成一个带const的。面试的时候:真的吗?我现在实习写了一个月的PHP和JS你别骗我啊,就没battle。但是下来我发现,不写const可以啊,怎么可能会默认生成啊,const保证的是不可改变值啊。又用c++insights跑没生成const拷贝构造函数啊。




7.为什么不能返回局部的引用?返回值是栈上的值,函数结束,栈被系统回收,内存的值就不存在了。
8.为什么要operator=重载等于号,C++为啥要这么设计? 我:?
9.说一下push_back和emplace_back的区别?我:天啊,这是招语言学家吧。忘记emplace_back更方便转换对象了,当时没答上来。
10.插一下,让我写shared_ptr的时候,让我实现一下删除器功能。我:emm以前看C++primer还会,现在忘光了。仔细想了想其实也还可以设计出来的,类似回调函数设计吧
11.了解过模板?我:简单的写过
12.traits呢?真心无
13.weak_ptr了解吗?解决循环引用
14.push_back插入均摊复杂度。真忘记了,事后想到是O(1)。
15.epoll的原理?红黑树加+链表。在对比一下select的效率
16 epoll为什么是红黑树?查询更稳定(对比哈希表,哈希表还存在扩容问题),内存占用更小(对比哈希表,哈希表一般占得空间更大)




#面经##商汤科技##C++工程师##校招#
全部评论
感觉难度有点大
2 回复
分享
发布于 2021-07-31 09:50
9并不是语言学家的问题哈。emplace_back配合完美转发可以省一次对象构造后的复制
1 回复
分享
发布于 2021-07-31 08:50
阅文集团
校招火热招聘中
官网直投
有点难,你看我刚发的面经感觉和你差太多了
1 回复
分享
发布于 2021-07-31 09:36
商汤面试难度确实大
1 回复
分享
发布于 2021-07-31 09:53
拷贝构造可以不加的吧。加是因为不改变传入的时候都建议加上const
1 回复
分享
发布于 2021-08-01 18:58
同学,有兴趣来我司吗,部门直推哦
1 回复
分享
发布于 2021-08-05 18:30
你这面的难度跟我不是一个量级😥
4 回复
分享
发布于 2021-07-31 09:11
楼主现在过了几面了?
点赞 回复
分享
发布于 2021-08-09 23:32
我觉得加const是因为c++11之前没有移动构造函数,也就是没有右值引用。所以只能用const加引用的拷贝构造函数方式,利用临时变量去初始化对象。
点赞 回复
分享
发布于 2021-08-11 21:43
同学有意向投递百度凤巢的C++岗位吗 可以私聊我直推主管
点赞 回复
分享
发布于 2021-08-12 13:19
大佬,你的引用计数器是怎么实现的呀
点赞 回复
分享
发布于 2021-08-12 18:00
点赞 回复
分享
发布于 2021-08-12 18:43

相关推荐

4 47 评论
分享
牛客网
牛客企业服务