剑指offer快速回忆之面试的流程
摘要
重点是项目贡献、链表、二叉树、查找、排序、鲁棒高质量;提问项目和自己的结合问题
三种面试形式
1.电话面试
- 有些面试官喜欢搞突袭,准备手机有电,不要长时间处于嘈杂环境
- 表达要清晰,问题没搞明白,不懂就问
- 外企可能会有英语电话,不懂就pardon
2.共享桌面远程面试
- 考察编程习惯
- 思考清楚在编码
- 良好的命名和缩进习惯
- 能够单元测试
- 测试驱动编程
- 考察调试能力
- 断点、单步跟踪、查看内存、分析调用栈
3.现场面试
- 规划好路线
- 穿得体衣服
- 注意面试邀请函里的面试流程
- 准备几个问题
现场面试的三个环节
3.1 行为面试
- 自我介绍(30s,主要学习工作经历)
- 项目经验
- 极简的项目背景(很少)
- 自己完成的任务(参与和负责)
- 为了完成任务是怎么做的(主要)(比如平台工具)
- 贡献(最好能量化)
- 遇到的问题(提问)
- 你的收获(学到了什么,提问)
- 如何处理冲突(提问)
- 应聘者掌握的技能(了解,熟悉,精通)
3.2技术面试
- 基础知识(编程语言、数据结构、算法)
- 链表、二叉树、查找、排序(不要眼高手低)、动归、贪心
- 能写出正确、完整、鲁棒的高质量代码
- 边界条件、特殊输入、错误处理(看似细枝末节,实则至关重要)
- 数字带符号还是不带符号
- 最大正整数和最小负整数的溢出
- 最简单的空指针
- 多个输入值,应优先考虑多个输入值之间的关系不满足的情况
- 思路清晰的分析解决复杂问题
- 画图、举例、分解抽象
- 能从时间、空间两方面优化算法
- 查找、排序(切忌眼高手低)
- 具备优秀的沟通能力、学习能力、发散思维能力
- 最近在看什么书啊,学到了什么新技术(提问)
- 面试官先抛一个简单问题,在抛一个复杂问题(二者关联,要从这里思考)
- 建模能力,就是考察数据结构会写会用了吗
3.3应聘者提问环节
- 准备2-3个问题
- 不要薪水,不要面试
- 要与项目和你自己的学习发展情况相关