冲击秋招第一天,嵌入式面经笔记
面经知识点总结35条
- const和constexpr有什么区别?
- RAII(资源获取即初始化)是什么?它的优点是什么?
- 智能指针有哪些?各自的特点是什么?
- nullptr有什么作用?
- 解释一下虚函数表(vtable)和虚函数指针(vptr)。
- 多重继承会引发哪些问题?如何解决?
- 什么是函数重载和函数覆盖?它们之间有什么区别?
- 如何实现接口(Interface)?
- 解释一下命名空间(namespace)。
- 模板是什么?它们的优点和缺点是什么?
- 解释一下类型推导(type deduction)。
- 异常处理机制是如何工作的?
- 解释一下析构函数的作用和使用场景。
- 引用折叠(reference collapsing)是什么?
- 移动语义(move semantics)是什么?
- std::function是什么?它的用途是什么?
- std::bind是什么?如何使用?
- 如何实现单例模式?
- 多态是如何实现的?
- 解释一下友元(friend)机制。
- 类型转换有哪些方式?分别是什么?
- 内存对齐(memory alignment)是什么?
- volatile关键字有什么作用?
- static关键字的作用是什么?
- 动态类型识别(RTTI)是什么?
- std::shared_ptr和std::unique_ptr有什么区别?
- std::array和C-style数组有什么区别?
- std::list和std::vector有什么区别?
- std::map和std::set有什么区别?
- std::thread的基本使用方法是什么?
- 条件变量(condition variable)是什么?如何使用?
- 信号量(semaphore)是什么?与互斥锁有什么区别?
- 内存管理有哪些方法?如何避免内存泄漏?
- 编译器优化有哪些常见策略?
- 编译过程是怎样的?包括哪些阶段?
更多面经 可以关注专栏。
答案在下方专栏。
原帖链接:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM