寒武纪加面,C++ 面经
hr 面完又加了一轮技术面,难度陡增,感觉自己就是个弟弟
- 怎么设计一个内存池,要考虑哪些方面
- new 和 malloc 区别,new 都有哪几种,区别
- malloc 的管理内存的方式,内部的结构,通过哪些系统调用
- nullptr 和 NULL 区别
- lambda 捕获对象的实现
- 默认拷贝,拷贝赋值是浅拷贝还是深拷贝,讲一下 operator=() 的一个过程,在 C++11 内怎么避免这个问题
- dynamic_cast 怎么实现的,一个没有虚函数的对象使用 dynamic_cast 会发生什么,返回什么
- stl 的 vector 和 list 有什么不一样
- stl 两种 map 的区别
- shared_ptr 解决循环引用的手段(weak_ptr ?)shared_ptr 线程安全吗
- c++ 内存布局,虚函数表每个类有一份,还是每个对象有一份
- 进程同步手段,临界区可以用于进程同步吗
- 线程同步方式,c++ 中有哪些锁,
- 线程创建的过程,pthread_create 的过程,内核中怎么处理,是每个线程都在内核中存在吗
- Reactor 模型和多线程并发模型的区别优势,局域网适合用那种?
- TCP 和 UDP 协议的选择要考虑哪些点