以下是疯狂拷打:
你在C++上的经历有哪些?
你对C++的新标准了解到什么程度?17之后的内容?20,23
一般对C++的类来说,memory layout有哪些成分?C++的对象(class或者struct)在内存上长什么样?尽可能多说
如果对象涉及到继承呢?
具体说一下虚继承是什么状态?
假设一个类继承了有虚函数的类,父类会存在在子类中吗?
一个空的类占多大内存?如果这个类包含了一个虚函数呢,假设是64位的机器?如果有一个类继承了空类,大小是多少(可能需要分类讨论)?
虚表里除了可能有虚函数,还可能有什么?
如果一个函数是成员模板函数,可以被声明为虚函数吗?
inline关键字(新标准,17之后)
虚函数可以内联吗?
optional
取size是多大
描述一下C++编译的整个过程
如果头文件定义了函数,源文件不实现,会在哪个环节报错?如果构建的是静态库,会报错吗,为什么?
对静态库和动态库的理解
stl中的智能指针有哪些?一个shared_ptr大小是多大?使用时如何决定用哪个智能指针?unique_ptr取sizeof多大?不同智能指针性能上有什么区别?如果只是用指针解引用,性能上?
C++多线程中常用的mutex是怎么实现的,和自旋锁有什么区别?
atomic内部实现?是有锁还是没锁的?所有的原子变量都没锁吗?对原子变量的内存序(memory order)有了解吗?
描述一下cpu怎么从内存中获取数据的,要经过哪些模块(比如执行load指令时)?
介绍一下cpu中的cache
说下不同层级的cache现实中常见的速度
通过什么方式写出对cache更友好的代码?对于数组,某些特定的长度会使读取变慢吗?
你知道虚拟内存吗?好处是什么?每个页的大小一般是多少?
线程和进程的区别?它们在Linux的实现上的区别?
一直听说佳期bar很高,大概率一轮游了。
底层还是学得不够深入,很多知识仅仅只是了解了,但一个问题是没深入本质理解其内部实现原理,另一个问题则是没记录和及时回顾;时间久了大脑自动进行缓存淘汰了以至于答不上来。
#凉面# #拷打# #量化投资#