【剑指offer-1】面试流程
这是《剑指offer》这本书的总纲,主要总体介绍面试的形式与环节。
面试形式
后疫情时代我们现在的面试形式应该就包含电话面试和远程桌面面试。电话面试值得注意的是需要尽可能使用形象化的语言将细节解释清楚,重点是远程桌面面试。
远程桌面面试
这种形式的面试,面试官最关心应聘者的编程习惯于调试能力。
良好的编程习惯:
- 思考清楚之后再开始写代码:首先需要先问清楚题目,想清楚思路,在写代码的过程中需注意有哪些特殊情况需要处理(如特殊的输入,边界条件等);
- 良好的代码命名和缩进对齐习惯:我现在在
cpp
上使用的主要是驼峰命名法,而在python上使用的主要是下划线命名法; - 能够进行单元测试:尽量先考虑特殊的输入,再写单元函数;
良好的调试能力:
- 设置断点
- 单步跟踪
- 查看内存
- 分析调用栈
面试的环节
一般面试会有好几面,我们这里主要针对的是技术面。
行为面试
行为面试主要集中在面试刚开始的5-10分钟,面试官会在这个阶段注意应聘者的性格特点,深入的了解简历中列举的项目经历。一般在面试刚开始会有一个自我介绍,这个自我介绍主要是用来给面试官熟悉简历,以及暖场的作用,我们准备自我介绍时准备差不多30s-1min的就差不多了,在介绍项目经验时,应该不要将具体的项目细节,应主要突出自己完成的工作于取得的成绩。
项目经验
在简历里面可以采用STAR模型来描述自己经历的项目:
- (Situation)简短的项目背景:如项目的规模,软件的功能,目标用户等;
- (Task)自己完成的任务:注意参与和负责两个词的使用;
- (Action)为完成工作自己做了哪些工作,是怎么做的:基于什么工具在哪个平台上应用了哪些技术;
- (Result)自己的贡献:尽量用数字体现。
如果应聘者描述的不够清晰,面试官可能会追问相关的问题,除此之外,面试官还有一些常温的问题:
- 你在该项目中遇到的最大的问题是什么?怎么解决的?
- 你在这个项目里面学到了什么?
- 什么时候会与其他团队成员有什么样的冲突,怎么解决的?
掌握的技能
在写掌握的技能时注意了解,熟悉与精通的用词。了解一般指对某项技术只是上过课或者看过书,但没有做过实际的项目。熟悉指在实际项目中我们已经使用某项技术较长的时间,能够通过查阅相关的文档独立的解决大部分问题了;精通一般不写。
技术面试
技术面一般会持续40-50分钟,面试官总体会注意应聘者以下5个方面的素质:
- 扎实的基础知识:
- 编程语言:准备至少两种编程语言
- 数据结构:主要需要熟悉链表和二叉树
- 算法:主要需要熟悉查找(二分查找)和排序(归并排序和快速排序),有的还需要熟悉动态规划和贪心算法
- 高质量的代码:需要格外注意边界条件和特殊输入的情况;
- 清晰的思路:一般在问题比较复杂时,需要在短时间内形成清晰的思路。
- 可以举几个简单的具体的例子来让自己理解问题
- 可以试着用图形来表示抽象的数据结构(如在分析链表和二叉树相关的题目的时候)
- 尝试把复杂的问题拆解成若干简单的子问题,再来一一解决
- 优化效率的能力:
- 要知道如何分析效率:这就要对各种方法的实现效率心中有数
- 要熟知各种数据结构的优缺点,并能够选择合适的数据结构来解决问题
- 要掌握常用的算法:如查找,排序
- 优秀的综合能力:
提问环节
- 不要问和自己职位无关的问题
- 不要问薪水
- 不要立即打听面试结果
【剑指offer-1】面试流程
http://example.com/2022/05/27/【剑指offer-1】面试流程/