技术面
1.自我介绍。
2.笔试题有没有做的不好的,现在想优化一下?
3.数据结构与算法:
- 快速排序和选择排序,有什么区别,如何区分使用?对于程序会造成什么样的影响?
- 平时自己用的较多的数据结构是?
- 数组和链表各有什么优缺点?vector的动态扩容如何实现的?
- 你学过哪些排序算法?
- 哈希表,如何处理散列冲突?如何处理散列扩容?
4.语言:
- C++的特性,多态形成条件和实现?
- 接口继承和接口实现的区别?
5.设计模式:面试官不再单纯问你对于设计模式的理解,还考察了你对于它们的使用和实现
- 你了解的面向对象设计原则?
- 依赖倒置原则,实现和应用?
- 开闭原则,如何实现?
- 代理模式,它的应用场景?
- UML图了解吗?
6.算法题:面试官并没有要求手写,感觉重点是在考察编程思路和考虑问题的全面性
- 实现n的阶乘,实现过程中有什么需要注意的地方?
- 银行排号系统的实现,实现中需要注意的地方?
- 统计一篇英文文章中各个单词出现的次数?
7.讲一下你的课题,其中的难点是什么?以及你的解决办法是?
8.班级成绩排名。
9.最近在看的一本完整的技术书籍是?有什么收获?
10.你有什么要问的?
综合面
1.介绍一下你的专业。
2.你是考研的还是保送的?
3.你本科专业的最大收获是什么?
4.你为什么考研?
5.生活中和工作中你最不喜欢跟哪类人打交道?
6.聊课题,但感觉并不很深入,同时会关注你的一些想法,比如怎么确定技术方向的,什么时间确定的。
- 你的项目是自己负责还是有他人?导师怎么指导的?
7.自我评价
8.对于工作地点有没有要求?
9.你有没有什么要问的?