一. 面试官谈基础知识
01 C++基础知识
- 面向对象特性、构造函数、析构函数、动态绑定(是否善于把握问题本质,有没有耐心深入一个问题)
- 运算符重载
- 虚函数的调用机制
- 设计模式、UML图(体现软件工程方面的经验)
- 内存管理(影响程序的效率和稳定性)
- 并发控制、多线程
- 文件操作
- 程序性能、程序安全
02 大方向
- 编程能力,数据结构和算法——算法复杂度
- 对于一门编程语言的掌握程度
- 部分数学知识,如概率
- 问题的分析和推理能力
- 计算机系统基础知识、底层了解
- 对OS的理解程度(涉及内存管理、文件操作、程序性能、多线程、程序安全)
二. 编程语言
01 C++
语言面试有3种类型。
- 面试官直接询问应聘者对C++概念的理解。重点是对C++关键字的理解程度。
书籍推荐
《Effective C++》
适合面试前突击《C++ Primer》
对C++的语言有全面的了解《Inside C++ Object Model》
深入了解C++对象的内部《The C++ Programming Language》
全面深入了解C++