第一章 面试流程
个人简介,基本信息介绍
电话面试
- 应聘者在电话面试的时候应尽可能用形象的语言把细节说清楚
- 如果在英语面试时没有听清或没有听懂面试官的问题,应聘者要敢于说Pardon
共享桌面远程面试
- 编程习惯及调试能力
- 思考清楚再开始编码
- 良好的代码命名和缩进对齐习惯
- 能够单元测试,先写单元测试用例,再写解决问题的函数
- 熟练地设置断点、单步跟踪、查看内存、分析调用栈,能很快发现问题的根源并最终解决问题
现场面试
- 规划好路线并估算出行时间
- 准备好得体的衣服
- 注意面试邀请函里的面试流程
- 准备几个问题
面试的几个环节
-
行为面试
-
应聘者的性格特点
-
自我介绍:主要学习、工作经历
- 项目经验

- Situation:简短的项目背景,比如项目的规模,开发的软件的功能、目标用户
- Task:自己完成的任务。这个要写详细,要让面试官对自己的工作一目了然
- Action:为了完成任务自己做了哪些工作,是怎么做的
- Result:自己的贡献
- 你在该项目中碰到的最大的问题是什么,你是怎么解决的
- 从这个项目中你学到了什么
- 什么时候会和其他团队成员(包括开发人员、测试人员、设计人员、项目经理等)有什么样的冲突,你们是怎么解决冲突的
- 突出介绍自己完成的工作及取得的成绩
- 应聘者掌握的技能
- 描述技能掌握程度时也要注意**“了解”、“熟悉”和“精通”**的区别
- 为什么跳槽
- 不要抱怨,也不要流露出负面的情绪
- 现在的工作做了一段时间,已经没有太多的激情了,因此希望寻找一份更有挑战的工作
- 为什么有些厌倦现在的职位,以及面试的职位我为什么会有兴趣
- 项目经验
-
技术面试
-
扎实的基础知识、能写高质量的代码、分析问题时思路清晰、能优化时间效率和空间效率,以及学习沟通等各方面的能力

- 简单的问题,应聘者一定要注重细节,写出完整、鲁棒的代码
- 复杂的问题,应聘者可以通过画图、举具体例子分析和分解复杂问题等方法先理清思路再动手编程
- 不断优化时间效率和空间效率,力求找到最优的解法
- 不断优化时间效率和空间效率,力求找到最优的解法
- 扎实的基本知识
- 编程语言、数据结构和算法
- 熟练掌握链表、树、栈、队列和哈希表等数据结构,特别是链表和二叉树
- 查找、排序等算法,重点掌握二分查找、归并排序和快速排序**,**动态规划和贪婪算法
- 高质量的代码