面试的流程
面试的三种形式
电话面试
能清楚表达自己的想法,特别是在解释复杂算法的时候。尽可能用形象化的语言把细节说清楚.当不确定面试官的问题的时候,应大胆地向面试官多提问,直到弄清楚面试官的意图为止.共享桌面远程面试
面试官能通过共享桌面观看应聘者编程和调试的过程。这一part主要是关心应聘者的编程习惯及调试能力.
- 思考清楚再开始编程
- 良好的代码命名和缩进对齐的习惯
- 能够进行单元测试
- 现场面试
准备一些问题,在每一轮面试的最后,面试官都会让应聘者问几个问题,应聘者可以提前准备好问题
面试的3个环节
- 行为面试
一般是为了暖场用的,一般不会问技术难题.先是自我介绍,然后深入了解简历中列举的项目经历。
应聘者的项目经验:
一般采用STAR模型描述
Situation:简短的项目背景
Task:自己完成的任务
Action:为完成任务自己做了哪些工作,是怎么做的
Result:自己的贡献
应聘者掌握的技能应注意”了解”、”熟悉”和”精通”的区别
“了解”:只上过课或者看过书,但没有做过实际的项目,通常不建议在简历中只是肤浅地了解一点的技能
“熟悉”:在实际项目中使用某项技术已经较长的时间,通过查阅相关文档可以独立解决大部分问题,那么我们就熟悉它.
“精通”:一般对一项技术使用得心应手,在开发中,当别人来请教有信心也有能力解决则可说是精通.
- 技术面试环节
总体会关注5个方面:
- 扎实的基础知识:包括编程语言、数据结构和算法
- 高质量的代码:考虑到问题的各种情况
- 思路清晰:不要在形成清晰思路之前草草开始写代码
- 优化效率的能力:对时间和内存效率要学会分析
- 优秀的综合能力:沟通能力和学习能力等
- 应聘者提问环节
推荐问的问题是与应聘的职位或者项目相关的问题