Loading... ## 1 面试的3种形式 - 电话面试 - 尽量用形象的语言说清楚细节 - 对未听清、未听懂的问题,要积极询问面试官 - 共享桌面远程面试 - 思考清楚前再开始编码 - 良好的编码风格 - **先写单元测试,再写解决问题的函数(这种测试在前、开发在后的程序员非常的稀缺)** - 现场面试 - 预估好出行时间 - 得体的穿着 - 邀请函的面试流程 - 准备几个问题 注:目前因为疫情原因,电话面试、远程面试的占绝大多数 ## 2 面试的3个环节  ### 2.1 行为面试环节 算是一个暖场环节,面试官参照简历了解应聘者;通常会让应聘者做个自我介绍,而此时的**自我介绍不用花太多时间,30~60秒时间**介绍自己的主要学习、工作经验 #### 2.1.1 应聘者的项目经验  **Situation:** 比如项目规模,开发的软件功能、目标用户等 **Task:** 需要区分“参与”和“负责” **Action:** 介绍系统框架的特点、平台应用了哪些技术、测试手段等 **Result:** 最好能具体且有数字加以说明;比如性能提升多少,修改了多少个BUG **面试官对项目经验最常问的问题类型:** - ***你再该项目是碰到的最大问题是什么,你是怎么解决的?** - 从这个项目中你学会了什么? - 什么时候会和其它团队成员(开发、测试、项目经理等)有什么样的冲突,你们是怎么解决冲突的? **总结:** 主要突出介绍自己完成的工作及取得的成绩 #### 2.1.2 掌握的技能 和描述项目时要注意“参与”和“负责”一样,描述技能掌握程度时要注意“了解”、“熟悉”、“精通”的区别。 “了解”指只上过课或者看过书,但没做过实际项目,这部分不建议描述过多。 “熟悉”指实际项目中使用某项技术已经较长实际,通过查阅相关文档可以独立解决大部分问题;已经工作过的,再项目开发过程中所用到的技能;对应届生毕业生来说就是毕业设计。 “精通”指对技术使用的得心应手,能很轻松回答这个领域里的绝大多数问题,切记为了修饰成“高人”而轻易使用“精通”,装高手很容易暴露的。 #### 2.1.3 回答“为什么跳槽” 面试官很喜欢问这种问题,主要是考察应聘者的性格,这个基本可以大胆回答,但在回答中少抱怨,也不要流露出负面的情绪,应尽量避免以下4个原因: - 老板太苛刻 - 同事太难相处 - 加班太频繁:IT行业加班可是家常便饭耶! - 工资太低:这块不要和面试官抱怨,面试是为了面试通过;通过后跟HR好好谈 **作者给出的答案:** 现在的工作做了一段时间,已经没有太多的激情了,因此希望寻找一份更有挑战的工作。然后具体论述为什么有些厌倦现在的职位,以及面试的职位我为什么会感兴趣。 > 如果我想在现在的职位上得到提升,就必须加强土木行业的学习,可我诸如计算土方量、道路设计等没有太多兴趣,因此出来寻找机会。 > 我在微软的主要工作是开发xxxx。由于xxxx已经非常成熟,不需要添加多少新功能,因此我的大部分工作是维护和修改Bug。两年下来,调试的能力得到了很大的提高,但长期如此,自己的软件开发和设计能力将得不到提高,因此想出来寻找可以设计和开发系统的职位。同时,在过去几年里的工作都是开发桌面软件,对网络了解甚少,因此希望下一个工作能与网络有关。众所周知,思科是一家网络公司,这里的软件和系统或多或少都离不开网络,因此我对思科的职位很感兴趣。 ### 2.2 技术面试环节 面试官了解应聘者的背景后,接下来就是技术面试了。通常技术面试占用40~50分钟,对面试结果起决定性作用,会关注应聘者的5中素质:  语言细节、链表、树、栈、队列、哈希表、二叉树、二分查找、归并排序、快速排序 边界条件、特殊输入、代码质量、鲁棒性 3中办法分析解决复杂问题:画图、举例、分解 软技能:最近看的书,从中学习了那些新技术 知识迁移能力 ### 2.3 应聘者提问环节 最好能在面试前准备2~3个问题,面试官让应聘者问几个问题,主要是想了解他最关心的问题有哪些。 - 不要问和自己职位没有关系的问题 - 不要问薪水 - 不要打听面试结果 面试前要先对应聘职位或者项目的背景有一定了解: - 一是面试前做足功课,收集相关信息,做到对公司成立时间、主要业务、职位要求了然如胸 - 二是面试中留心面试官说过的话。有不少面试官面试之前会简单介绍相关内容,其中包含其他渠道无法获得信息,项目进展情况等。 最后修改:2021 年 12 月 17 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1