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为什么是红黑树?查询更稳定(对比哈希表,哈希表还存在扩容问题),内存占用更小(对比哈希表,哈希表一般占得空间更大)
全部评论
(12) 回帖