1. 自我介绍
简单介绍一下自己即可,时间大约控制在两分钟以内。
2. 一面
一面时长一般在一小时左右,如果是视频面试的话一般分为半小时的技术面和半小时的做题时间,如果是电话面试的话则是一小时的技术面。
技术面看面试官喜好,一般是先介绍一个简历中的项目,然后根据你在项目中使用的相关技术提一些问题。比如我在简历中写了一个用Qt实现图形化的工程,面试官问了如下问题:
- 为什么使用Qt,Qt的优缺点有哪些
- 你用到了Qt中的哪些类或方法,有了解过它们的源码吗
- QString相比于string有哪些不同
问完项目之后,一般还会问一些相关学科知识,我按如下分类来说:
2.1 C++
- 有了解过C++11吗,C++11有哪些新特性
- 了解vector中一些操作(push_back)的具体实现方式吗
- 知道智能指针吗,有没有看过shared_ptr的源码,如果让你来设计一个shared_ptr,需要怎样设计
- 知道assert吗,有在哪些地方用过吗
- 有了解过C++的编译器优化吗,知道哪些优化方式
- C++有哪些语言特性,它和其他的语言(C,Java等)有哪些区别
2.2 数据库
- 事务的四大特性,数据库是如何保证这四大特性的
- 为什么要使用B+树(