手撕代码面经八股
unique_ptr和shared_ptr有什么区别,分别什么时候使用,请简述他们的实现方案shared_ptr和普通指针在你的工作中,你是怎么考虑使用的C++11有哪些新特性,14和17呢STL有哪些数据结构,底层分别是什么原理红黑数为什么保证了logn的复杂度红黑树为啥是有序的简述红黑树插入一个值的过程deque的具体实现vector能不能放智能指针迭代器失效vector和map举例,关系型和非关系型vector 扩容的原理怎么回收vector的内存multimap的底层实现和map的区别死锁和怎么解决死锁自旋锁适合多核还是单核,在单核和多核分别存在什么问题fork的底层实现const有什么用处static的用法四种转换
const 定义的对象,我可以直接使用const_cast转换吗interputer_cast详细说说dynamic_cast转换与安全性为题 struct 对齐及占用内存大小,为什么要对齐进程切换和线程切换有什么区别函数栈调用的具体过程讲讲,inline的具体讲讲,什么时候不能使用inline inline和宏定义class 空,普通class 带有虚函数的class 实例占用多大的内存进程中的内存分配,进程中有几个栈,几个堆虚拟内存的原理堆内存的底层实现,谈到了内存池,讲讲内存池吧stl::sort() 排序算法,各种allocator的底层原理各种内存是在哪一步进行的初始化,写时复制传值,传指针,传引用的构造函数怎么调用的构造函数,析构,移动,复制,赋值右值的好处LRU算法口述孤儿进程僵尸进程线程同步与进程同步shm的原理,底层做了什么栈帧指针的移动,mmap函数底层原理
手撕代码单例模式(懒汉饿汉,常用的单例写法,写了三种,为啥是线程安全,内存屏障,violate)
链表排序 https://leetcode-cn.com/problems/7WHec2/ 要求时间复杂度小于o(n2),不得开辟vector然后排序再串起来的方案
反转链表 https://leetcode-cn.com/problems/UHnkqh/ 递归和不递归的做法
合并排序链表 https://leetcode-cn.com/problems/vvXgSW/ easy 不知道为啥是leetcode困难题
简单计算器 https://leetcode-cn.com/problems/calculator-lcci/ 手撕唯一一道做不出来的题
模板的特化与偏特化,就测测模板的基础编程
模板快排
模板实现数据结构
括号匹配 https://leetcode-cn.com/problems/valid-parenthesis-string/
多线程按顺序输出ABC n次 条件变量+unique_lock
多线程计算1+…+n
简单自旋锁atomic 实现CAS
记录最大值与最小值和平均值的队列(队列最大长度为n)
手撕生产者与消费者队列,差不多写出来了,但是被说没有很好的拆解,耦合度太高,时间太短了
手撕shared_ptr
面经八股 unique_ptr和shared_ptr有什么区别,分别什么时候使用,请简述他们的实现方案 shared_ptr和普通指针在你的工作中,你是怎么考虑使用的 C++11有哪些新特性,14和17呢 STL有哪些数据结构,底层分别是什么原理 红黑数为什么保证了logn的复杂度 红黑树为啥是有序的 简述红黑树插入一个值的过程 deque的具体实现 vector能不能放智能指针 迭代器失效vector和map举例,关系型和非关系型 vector 扩容的原理 怎么回收vector的内存 multimap的底层实现和map的区别 死锁和怎么解决死锁 自旋锁适合多核还是单核,在单核和多核分别存在什么问题 fork的底层实现 const有什么用处 static的用法 四种转换 const 定义的对象,我可以直接使用const_cast转换吗 interputer_cast详细说说 dynamic_cast转换与安全性为题 struct 对齐及占用内存大小,为什么要对齐 进程切换和线程切换有什么区别 函数栈调用的具体过程讲讲,inline的具体讲讲,什么时候不能使用inline inline和宏定义 class 空,普通class 带有虚函数的class 实例占用多大的内存 进程中的内存分配,进程中有几个栈,几个堆 虚拟内存的原理 堆内存的底层实现,谈到了内存池,讲讲内存池吧 stl::sort() 排序算法,各种 allocator的底层原理 各种内存是在哪一步进行的初始化,写时复制 传值,传指针,传引用的构造函数怎么调用的 构造函数,析构,移动,复制,赋值 右值的好处 LRU算法口述 孤儿进程僵尸进程 线程同步与进程同步 shm的原理,底层做了什么 栈帧指针的移动,mmap函数底层原理


