如何系统有效地准备一场面试

1. 澄清阶段

澄清阶段的任务,是理清我们有什么、想要什么,明确自己的求职目标。这个阶段的工作,可以分为下面 6 部分:

  1. 明确自己的职业价值观
  2. 盘点自我价值
  3. 筛选公司
  4. 分析职位
  5. 寻找亮点
  6. 设定期望

1.1 明确自己的职业价值观

职业价值观是个人追求与工作有关的目标,从事满足自己内在寻求的活动时所追求的工作特质或属性,它是个体价值观在职业问题上的反映。

换句简单的话讲,职业价值观就是你认为一种职业的什么东西最重要。

一份符合我们职业价值观的工作,干起来会比较自在、顺心,我们会更容易投入,更容易获得满足感、成就感。

参考《10 天谋定好前途》一书,职业价值观可以精简为 9 种:

  1. 工资高、福利好;
  2. 工作环境(物质方面)舒适;
  3. 人际关系良好;
  4. 工作稳定有保障;
  5. 能提供较好的受教育机会;
  6. 有较高的社会地位;
  7. 工作不太紧张、外部压力少;
  8. 能充分发挥自己的能力特长;
  9. 社会需要与社会贡献大。

从上面的九种因素里,分别挑出对你来讲最重要的、次重要的、最不重要的、次不重要的,填入下面的职业价值观表格:

当你澄清了职业价值观,以它们为选择标准,就能快速有效地确认一家公司是否适合自己,不会在选择 Offer 时左右为难。

如果你觉得前述 9 种职业价值观粒度较粗,不能准确描述你的需求,也可以从我的另一本书《程序员的成长课》5.2 节中列出的 43 种工作特质中选择。

程序员小北的职业价值观表格如下:

1.2 盘点自我价值

这个步骤我们要确认自己有什么价值,尤其是可以被别人明确感知的价值。你可以从知识、技能、经历、人脉、天赋等 5 个方面来盘点自己。如果你撰写过简历,一定熟悉这个过程。

下面是小北的价值点表格:

你的价值点,可以在很大程度上影响你选择工作机会的范围——因为多数企业在招募人选时会考虑相关性。比如你精通 Golang 开发,那可能你就比较容易找到后端开发的岗位;比如你精通算法,很多人工智能方面的公司都可以为你敞开大门。

这个方向,就是你要致力为自己打造的标签,就是别人一提起你就恍然大悟的那个点。比如我,在软件开发群体中,一提起来,大家就会说,“哦,安晓辉是 Qt 专家”。

我们的时间和精力都有限,聚焦在一个方向上,打造出一个长板,是投资自己的最好方式。

1.3 筛选公司

筛选公司可以分为三个阶段:

  • 首先,从行业前景、公司前景和个人倾向做初步筛选,得出基础公司名录;
  • 接下来,根据个人想要培育的价值点,选择契合的机会,形成潜在机会清单;
  • 最后,分析潜在机会,根据职业价值观做进一步筛选,生成目标机会清单。
阶段 1:生成基础公司名录

在求职时,遵循“先选领域、再选公司”这个大逻辑,能够大概率确保你在正确的河道上坐上快船,为你的远航奠定坚实的基础。所以,我们首先要锚定发展较好或者有长足潜力的行业领域,选择其中处于领先地位或者拥有潜力产品的公司。

如果你有明确的行业领域或产品类型倾向,那应当优先考虑它们。

注意,要避开夕阳产业,避开正在衰落的公司。

比如小北选择人工智能这个领域,使用搜索引擎,以“人工智能公司”为关键字搜索,即可得出基础公司名录:

  • 百度
  • 腾讯
  • 阿里
  • 思必驰
  • 科大讯飞
  • 搜狗
  • 字节跳动
  • 寒武纪
  • 格灵深瞳
  • 大疆
  • 旷视科技
  • 出门问问
  • 奥比中光
  • 小马智行
  • 星行科技
  • 商汤科技
  • 达闼科技
  • 涂鸦智能
  • 云知声
  • 若琪
  • 普强信息
  • 初速度
  • 智能管家
阶段 2:发掘潜在机会

小北希望在语音识别领域深入发展,那他就可以用“语音识别”进一步来筛选。

筛选时需要了解一家公司的主要产品、业务、服务,有 2 种常见的途径:

  • 登录官网,查看产品、业务、服务的介绍或查看关于我们;
  • 使用天眼查,搜索公司,查看企业业务、软件著作权、专利信息等。

小北使用上述两种方法,发掘出的潜在机会清单如下:

  • 百度
  • 腾讯
  • 思必驰
  • 云知声
  • 科大讯飞
  • 出门问问
  • 普强信息
  • 若琪
  • 达闼科技
  • 字节跳动
  • 爱笔
  • 智能管家
阶段 3:锁定目标机会

小北最看重的是能够发挥自己的能力特长——算法分析与优化,因此对他来讲,算法类的、要求 C++ 语言的岗位,比较适合他。

此时他有两种途径可以查看哪家公司提供算法类岗位:

  • 登录官网,找到招聘栏目;
  • 使用拉勾、猎聘、智联招聘等招聘平台进行检索。

最终小北得出的目标机会清单如下:

  • 搜狗
  • 思必驰
  • 云知声
  • 爱笔
  • 出门问问
  • 达闼科技
  • 普强信息

有了目标清单之后,我们需要进一步了解公司的信息,包括下列几方面:

  • 公司所处领域,及该领域的发展情况;
  • 公司的主要产品、业务,以及市场情况;
  • 公司的组织架构;
  • 公司目前的运营发展状况;
  • 公司的竞品。

这些信息,可以通过官网、搜索引擎、天眼查、行业分析报告等搜集到。

1.4 分析职位

分析职位的目的是为了弄明白目标职位都要求什么、想找具备什么特征的候选人。

职位描述信息(JD)一般由用人部门拟定,经由人力资源专员(HR)发布。

用人部门的负责人在确认招聘需求时,一般是先看要做什么项目(产品),然后根据这个项目(产品)的需要推导出要招募的人应该具备什么知识、技能、经历……

当他拟定招聘信息时,就会把脑海里这些知识、技能、经历等要求融入在职位描述信息中。

我们分析职位,就是要努力解码招聘信息,还原出用人部门的关键要求。

一般来讲,你可以从以下 6 方面提取招聘信息中的关键词:

  1. 学历
  2. 工作年限
  3. 知识
  4. 技能
  5. 项目经历
  6. 软能力

我抓取了拉勾的一个招聘信息,作为案例,简单分析了一下,画出了关键词,如下图所示:

除了基本信息,你还要关注优先录用(优选)条件,如果你具备,那竞争力就远超不具备的候选人。

在分析职位时,除了从 JD 中直接提取关键词,还可以再深入做两点。

  1. 这个职位,可能是在做什么产品?会面临什么问题?
  2. 把自己想象成这个职位候选人的上司,换位思考,琢磨他为什么会写这样一个 JD。

1.5 寻找亮点

在求职过程中,亮点是相对企业用人需求而言的。因此,你与职位要求匹配的价值点,才是你的亮点。

在分析职位之后,我们已经有了若干关键词,再结合之前盘点出的价值点,就能找到自己和职位的匹配点。匹配点可以分学历、知识、技能、经历、软实力、天赋等几类。

我设计了一个简单的匹配点表格,供参考:

如能找到必备的和优选的匹配点作为亮点,是最好的。

1.6 设定期望

在寻找工作时,我们会有非常多的期望。但现实是,这些期望很难一一被满足。所以,我们需要合理管理我们的期望。

期望可以简单划分为两类:

  • 保障
  • 成长

保障类期望,是基础期望,被满足后我们才能安心工作。它主要包括收入、环境、交通、稳定性等。

如果保障类期望不能满足,就会严重影响我们的工作,甚至会导致我们无法接受这样的工作机会。比如单程通勤时间超过 2 个小时,对于我就无法lor:transparent;text-size-adjust:none;-webkit-font-smoothing:antialiased;box-sizing:border-box;margin:0px 0px 1.1em;outline:0px;">成长类期望被满足,会带来工作幸福感,个人会更乐意向别人谈及自己的工作。

如果一份工作,只满足保障类期望,不满足成长类期望,做久了就会慢慢失去热情,投入程度降低;如果一份工作,只满足成长类期望,不满足保障类期望,做久了很容易因为现实压力和心理失衡而陷入自我怀疑,最终无法继续下去。

所以,我们必须得合理设定自己的保障类期望和成长类期望。

在设定期望时,最重要的是找到可接受的值和让人满足的值。

以薪水为例,可接受值可以取月生活开支的 150%、市场行情的低位、上一份工作薪水的 120% 这三个数值中的高值;满足值可以取月生活开支的 200%、市场行情的高位的 80%、上一份工作薪水的 150% 这三个数值中的低值。

我做了一个简单的薪水期望表格:

小南在西安,三年工作经验,应聘 Android 应用开发工程师。他的薪水期望表格如下:

像薪水这种可数字化的因素,可以采用找下限(可接受值)和上限(满足值)的方式来设定期望。而对于成长类期望中的某个因素,要么有要么无,不能数字化。所以,我们只能从自己的若干成长类期望中,找出自己认为最重要的和次重要的,作为自己求职的底线。这一点,和我们明确自己的职业价值观时的做法是一致的(在一定程度上也可以说,设定期望这部分,是对澄清职业价值观的细化)。

比如我找工作,会把自主性、兴趣爱好作为选择底线。这是因为,如果一个工作岗位,要做的事情,一件件都是别人安排好了我来执行,我没有一点发言权和参与感,那我是不可能接受的;如果要做的产品或服务,我完全不感兴趣,那我也是不可能接受的。

当我们设定了期望,后续就能比较准确地判断一个 Offer 是否要可以接受。

2. 准备阶段

我们在澄清阶段明确了自己的职业价值观、求职目标、亮点、期望等非常关键的内容,现在可以带着它们进入准备阶段了。

简历优化

  • 练习自我介绍
  • 温习掌握的知识、技能、做过的项目
  • 储备目标职位需要的知识、技能
  • 备好要向面试官提问的问题

2.1 简历优化

在这里我只想澄清三个关于简历的误区,具体优化,参看我另一个 Chat ——“程序员简历优化实战”,或者我的书《程序员的成长课》。

误区一:一份简历到处投递

我大学毕业找工作时,就一份简历,一会儿投给大唐电信,一会投给华为,一会儿投给某某研究所。工作了两年多,转型做软件开发时,依然这么做。

现在想来,这就像不管去什么场合,都把超人内裤反穿一样,傻得可爱。

正确的做法是:针对每一个岗位(哪怕两个岗位都是 Android 开发工程师),根据澄清阶段的职位分析和寻找亮点两部分的结果,定制一份简历,突出亮点。

误区二:不顾需求方要求,随意罗列信息

很多简历,每个部分都是流水账,信息多而杂乱,让人看了不知所云。

专业技能(综合评价)类似这样:

  • 熟练掌握 Android 体系架构、各类控件,能够熟练实现 UI 复杂布局;
  • 熟练掌握 AsyncTask、Handler 和 Loader 数据异步加载机制;
  • 熟练掌握图片的二次采样、LruCache 缓存工具类;
  • 熟悉 Android 视频播放,Camera、传感器、二维码、推送;
  • 熟悉 Android 推送、第三方登录、友盟 App 统计、支付宝支付流程;
  • 熟悉腾讯 Bugly 版本更新、错误统计、热更新,蒲公英版本更新、统计;
  • 熟悉 View 的工作流程、事件分发,自定义 View;
  • 熟悉理解 Window 和 WindowManager;
  • 熟悉 Android 的线程和线程池;
  • 熟练掌握 XUtils、EventBus 框架以及 Retrofit+RxJava 网络请求,高德/百度地图和定位,Vitamio 视频播放;
  • 熟悉 3ds Max/Maya 三维模型、场景制作及 Premiere 视频制作。

拜托,这会把 HR 看凌乱的好嘛!我们在简历中应优先给出与目标职位匹配的亮点信息,那才是对方想要的,才能一下子抓住看简历的人的眼球,你的简历才能通过。所以,类似专业技能这样的介绍,三两行关键信息足矣。

项目经验类似这样:

项目一
……
项目二
……
项目三
……

有考虑 JD 中对相关经验的要求吗?有考虑 JD 里的优选条件吗?请重点突出相关的,不相关的一语带过即可。

误区三:项目介绍中不突出自己所做之事和所起效果

下面是从我为公司招人时收到的简历中截图的项目经历:

请你想想,这样的描述,有没有价值?

没有!

一点都没有!

我作为看简历的人,既不知道你做了什么事情,又不知道你所做工作对项目有什么样的贡献。在我看来,这是完全失败的写法。

正确的写法需要遵循下面 3 点:

  • 突出项目过程中用到的与目标职位匹配的技能
  • 描述你做的事情
  • 描述取得的成绩(显化、量化)

比如上面的例子,改造成下面这样就会更加清晰:

项目描述:该应用是一款路测优化工具,包含三个主要功能,路测、室分测试、CQT 测试。

环境:安卓

职责

担任核心开发,个人负责下列功能:

  • 在地图上显示基站信息
  • 在地图上回看测试日志路径信息和周围基站情况
  • 网络测试
  • 通话质量测试

使用到了百度地图、Gson、MPAndroidChart、友盟、HUD 等开源类库。

成果

  • 网络测试准确率 99%,时间误差控制在 1 秒以内;
  • 二维图表展示效果获得用户好评。

2.2 练习自我介绍

很多面试官喜欢让你先来一段自我介绍,不少小伙伴就很纳闷:简历上都有了啊,还介绍什么?

实际上,面试官希望通过你的自我介绍考察下面的内容:

  • 你能否胜任工作
  • 你的语言表达、逻辑思维等能力
  • 你的聚焦意识和把控能力
  • 你的价值取向

从这个角度来看,自我介绍绝不能从头到尾复述简历上已有的内容,而是应当根据职位关键词,萃取你的亮点,集中展示。

自我介绍时可以展示下列信息:

  • 毕业院校、专业与学历
  • 与岗位相关的最近的工作经验
  • 最强技能
  • 深入研究的知识领域
  • 取得过的成就
  • 与岗位匹配的个性与特长

自我介绍的时间控制在 3~5 分钟为宜,大概需要说 400 ~ 600 字。建议在面试前先撰写逐字稿,使用手机录音,自己多听听,多改改,直到脱稿能够流畅说 3~5 分钟。

下面是我自己应聘一家公司的职位时的自我介绍(该职位要求精通 C++ 和 Qt):

我是安晓辉,2002 年毕业于西安交大电信学院,信息工程专业,本科学历。

我在最近服务的公司——信利,负责互联网智能机顶盒的开发。我从无到有组建了研发团队,从 2009 年一直做到 2014 年,研发了 4 代产品,其中第 1 代、第 2 代、第 3 代,都是用 C++ 和 Qt 开发的,基于嵌入式 Linux 系统。

第 2 代产品,最为成功,UI 交互、网络传输和播放性能都是行业领先,有当时我们能够在 2 兆宽带下流畅播放 720p 的在线视频,很有竞争优势。这款产品使得公司和安徽电信、陕西电信建立了合作,获得大面积推广,卖了几十万台。

在开发智能机顶盒时,我把 Qt 引入我的团队,帮助大家学会使用 Qt。机顶盒客户端的架构和核心 EPG 框架,都是我写的。我个人比较喜欢探究技术的原理,解决疑难问题时觉得很有成就感,团队里有人遇到 Qt 的问题,都会来找我。慢慢地,我对 Qt 有了比较深入的研究,源码也读了个七七八八,还为 Qt 做了显示扩展模块和键盘扩展模块,用在我们的机顶盒内。

2013 年、2014 年,基于我对 Qt 的研究和实践,我写了两本书,《Qt on Android 核心编程》和《Qt Quick 核心编程》,电子工业出版社博文视点出版,现在开始预售了。

我的自我介绍,涵盖了学历、最近项目经验、取得的成绩、最强技能、深入研究的知识领域以及个性等内容,这些内容的顺序没有一定之规,大家可以根据自己的情况来调整。

2.3 温习掌握的知识、技能、做过的项目

我们写在简历上的内容,极可能被面试官一一追问,所以,最好是多多温习,了然于胸,这样就不会出现“被人问到做过的东西却回答不上来”这种尴尬局面。

如果觉得做过的项目太多,没那么多时间一一温习,可以按下列原则来筛选:

  • 与目标职位相关的知识、技能和项目经验;
  • 最近两年的掌握的知识、技能,参与的项目。

温习过之后,可以到网上搜搜常见的技术问题、别人分享的面试题,自己试着答一答。

2.4. 丰富目标职位需要的知识、技能

JD 中列出的知识点、框架、问题、技能,就是老师划定的考试范围,最有可能在面试中被问到。如果有我们不了解、说不出所以然的知识、技能、问题,一定要即刻准备,一一了解。

2.5 刷笔试题

对于一般的、不是很高级的开发岗位,很多公司都会先让应聘者完成一个笔试。没有笔试的,也可能出一两道题,让你手写代码。所以,我们也必须做准备。

我 2018 年初帮人招募 Golang 工程师,因为我不懂 Golang,就让一位朋友帮我出几道题,于是他就从网上找了一些给我。

有两位小伙伴来应聘时,我给他们做那套笔试题,他们表示——好简单啊,网上都有。然而,即便如此,还是有一些题目做得不对。这可能是对某些知识点理解有误,也可能是缺乏足够的练习,还可能是从心态上没有真正重视。

所以,请多多练习教程上的习题、网络上的笔试题、面试宝典里的题目,统统都找来做做看,做错的,认真分析原因,再做。只有足够认真地准备,才可能有好的结果。

2.6 准备常见的非技术问题

技术面试中,不仅仅有技术问题,还有一般性的非技术问题,甚至会有不少小伙伴,被非技术问题拿下,拿不到 Offer。因此,这里列出几个常见的问题,给出思路,方便大家准备。

1) 你为什么离开上家公司?

提示:面试官要了解你的离职原因,是想挖掘你找工作的动机,判断你是不是适合公司和职位。所以你的回答,最好是积极正面的,诸如上司很烂、队友很猪、项目管理水平很糟糕之类偏负面和主观的原因,最好别说,因为面试官很容易就联想到你是不是也会觉得要应聘的公司这些方面怎么样怎么样。

比较安全的回答,有两类:一是和职业发展相关的原因,比如工作内容不喜欢、没有晋升空间、和自己的未来目标不合等;二是大家都能理解的个人原因,比如想和女友在同一个城市、北京房价太贵买不起房……

2) 你为什么选择我们公司?

提示:面试官要了解你来公司的动机以及对这个选择的态度,判断你的职业价值取向是不是和公司一致。与离职原因类似,从职业发展角度回答会更好一些。比如你可以说更喜欢公司所做的产品,公司的技术氛围好技术积累厚能够更好地获得技术成长,公司重视技术人才有更好的发展空间,公司职位要求的很多技能都是我擅长的,公司平台大软件流程规范,公司初创但产品很赞未来有很大想象空间等。

3) 描述一个你在项目中曾遇到过的难题,说说如何解决的。

提示:面试官想了解你在项目中学到了什么,是怎么自我成长的。注意,不能说没遇到过什么难题哦,那代表你没有做过重要的事情或没有认真思考的习惯。这里的难题,不一定真的是世界级的大难题,只要契合你当时的个人发展阶段即可。比如一个前端动效的实现,一个后端服务的内存溢出问题,一个 App 启动时长优化问题,一个安卓应用的 OOM 问题,都可以。我们需要琢磨简历中的每一个项目,找出里面的难题,想明白当时怎么解决的。

4) 你怎么看待加班?

提示:虽然大部分问这个问题的公司都会有一定程度的加班,但这个问题,其实是想测试你是否愿意为公司奉献。

我一般会回答:如果工作需要,我会义不容辞地加班。但我也会努力提升工作效率,争取在工作时间内搞定事情,减少不必要的加班。

你可以根据自己的情况来回答。

5) 你最擅长的技术方向是什么?

提示:最好是把你和目标职位相关的技术方向说出来。如果没有,那就说自己过去最擅长的。

6) 你能为公司带来什么?

提示:员工能为企业带来什么?无非是降低费用或者创造价值。你可以结合职位要求和公司产品状况,重复自己的优势或畅想自己可以做出的贡献。

比如我应聘 Qt 相关的岗位时,就可以提到一点:我能解决 Qt 的疑难问题,加快公司产品上线速度,还可以帮助团队快速导入 Qt,提升团队效率。

比如一个懂后端的前端开发者,就可以说:我有后端开发背景,能够更好地理解前后端之间的问题,降低前后端团队的沟通成本以及因为沟通不畅带来的研发成本。

7) 你对我们公司了解多少?

提示:面试官想考察你是不是真想到公司工作,以及你的做事风格。

我们在澄清阶段筛选公司时,有让大家了解公司的信息,包括所处行业、运营状况、拳头产品、市场情况、竞品等。此时可以说说你了解到的信息。

我遇到过不少求职者,在我问他们这个问题时,一脸懵懂地回答“不太清楚”、“还没来得及了解”,这是让人难以接受的。

8) 对于未来五年的职业规划,你是怎么考虑的?

提示:很多 HR 或者用人部门的决策人,会问这个问题。他们想通过这个问题,判断你的稳定性。因为如果个人的职业规划和公司能提供的发展机会不一致,个人就很难长期待在公司。另外,面试官喜欢有进取心的回答,不要随随便便说“不知道”或者“还没考虑清楚”。

对于开发者来讲,大抵有技术和管理两个大方向。

你喜欢技术的话,可以这么回答:未来五年,我喜欢在某某领域持续深耕,成为资深的专家或者架构师。

你想转管理的话,可以这么回答:接下来的两三年内,我希望继续在技术方面多做积累,不断提升解决复杂问题的能力,再往后的话,如果有机会,我想试试技术管理角色。

9) 你发现工作可能无法按时完成,会怎么处理?

提示:面试官想考察你的进度管理、风险管理和协作能力。一般来讲,越早告知上司和利益相关人,风险越小。系统第二天要上线了,你晚上发个邮件给上司,说“进度有点滞后,还得一周”,那上司一定会发飙的。

我喜欢这样的回答:我觉得可能无法按时完成时,会先评估一下,通过加班、协调资源、改变工作方式等手段,能否加快进度,如果不能的话,会评估滞后的工作量和可能的应对策略,然后向上司汇报。

10) 在你和同事或上司发生争执时,你是怎么处理的?

提示:面试官想考察你的冲突处理能力、沟通和协作能力。

我比较程式化,一般会这样回答:

  1. 首先要观察一下气氛,如果沟通已无法和平继续,就主动暂停,提议大家冷静,再挑时间讨论;如果气氛还好,大家都比较理智,就短暂暂停一下;
  2. 接下来再继续讨论时,先回顾共同目标,力争把讨论拉回轨道,围绕目标进行;
  3. 聚焦目标后,如果还有争执,就要分析争执的焦点是什么,找出来,列出来;
  4. 然后,围绕争执焦点,采用发言权杖,大家轮流说话,以事实、论据为基础来进行讨论,用理性的方式化解争执;
  5. 假如最终还是无法统一,服从上司决议。

你可以根据自己的经验和行为风格,找出自己的答案。

11) 什么会让你有成就感?

提示:这个问题考察你的职业价值观、工作动机、稳定性等。作为开发者,可以说“竭尽所能和大家完成一个项目”、“解决一个很有挑战的技术难题”、“掌握一门新的技术”、“帮助别人解决问题”、“自己做的产品被上亿人使用”等。简单讲,让你有成就感的事情或经历,最好是积极的事情、工作中的高光时刻,如果你说“玩王者荣耀获得最强王者”,恐怕只会给你减分。

2.7 备好要向面试官提问的问题

如果面试官觉得你基本 OK,可以作为岗位候选人,一般会给个机会,让你提问。很多小伙伴被问到“你还有什么问题要问吗?”时,会说“我没什么问题”,真是遗憾呢!因为没有问题,代表没有思考、不够积极。

虽然可以问问题,但也不能随便问,比如第一面就问薪水福利什么的,很招人烦。应当问一些与公司、产品、职位等相关的问题,这样可以体现你对机会的重视。

我准备了几个问题,供大家参考。

  • 这个职位的挑战是什么?
  • 入职两个月内,公司希望我达成什么目标?
  • 如果我被录用,会进入哪个项目组,项目组的成员构成是怎样的?
  • 如果我入职的话,会有哪些入职培训?
  • 公司 XXX 产品有什么新的动态?
  • 公司的晋升机制是什么样的?
  • 下一步的面试流程是什么?

3. 面试过程

相信前面的澄清阶段和准备阶段完成后,我们悬着的小心脏都会放下来。因为自信源自于充分的准备。所以,到了面试过程,只要注意几点,就能取得不错的效果。

  • 外在形象
  • 心态
  • 理解题目要点
  • 结构化表达
  • 应对不会的问题

3.1 外在形象

一般的公司对软件开发工程师的外在形象,都没什么特殊要求,我们简单说下注意事项。

  • 着装干净整洁;
  • 头发不要油腻,注意不要有头皮屑;
  • 指甲不要太长,双手保持干净;
  • 戴眼镜的同学,要提前把眼镜上的灰尘、油点什么的都擦拭掉;
  • 面试前不要吃有刺激性气味的东西,大蒜、韭菜、臭豆腐、芥末等,统统免掉;
  • 注意照下镜子,看看牙齿上是否粘有小零碎;
  • 耳朵最好掏下,不要有一眼看得着的耳屎屑(我有遇到过这样的求职者 o(╥﹏╥)o)。

3.2 心态

我见过不少小伙伴,面试时双眼不敢和面试官对视,说话躲躲闪闪,桌面上双手紧扣,桌面下两股战战。

这往往是因为我们心中在意这个机会,又不确定自己是不是能妥善应对面试官的问题,所以内心比较忐忑,整个人比较紧张。

其实反过来想想,我们找一个合适的职位难,公司招一个合适的人也很难。找工作,不是我们求着公司给机会,也不是公司求着你去,而是双方基于能力和需求的双向评估和选择。所以,公司没有比我们高一头,双方是平等的。

能接纳这点,心态放平,就比较容易做到不卑不亢,再加上前面的认真准备,面试大概率会发挥出应有水平,效果不会差到哪里去的。

3.3 理解题目要点

有一次面试一位简历中写有“熟悉掌握自定义控件”的 Android 开发者,我问他:“通过继承 View 来实现一个自定义控件,一般需要重写哪些方法?”

他很快回答“onDraw”,然后就停住了。

我静静看了他几秒钟,他有点莫名其妙地问我:“不对吗?”

其实不是他的回答不对,而是,他没有留意我的问题,没能抓到我想了解的要点——我的问题中,带了“一般”和“哪些”这两个关键词,是想了解一般性做法。

这就是面谈时比较常见的一个问题:答非所问。

出现这种情况,往往是因为急于回答问题,没有抓到面试官想要了解的要点。

解决策略,就是是按下面的步骤来回答问题:

  1. 认真听面试官的问题,不要听到一半就开始猜测后面的话语,留意他的用词、语气等;
  2. 在面试官抛出问题后,停顿几秒钟,琢磨一下他想问的到底是什么;
  3. 如果琢磨不清楚,或者觉得问题很泛,就向面试官提问,请他澄清,比如你可以问面试官“您是想了解官方文档推荐的标准做法还是让我说说我实践过的做法”、“升级方案需要考虑对老版本的兼容吗”、“您想了解哪个具体方面的问题”……不要担心面试官会因为你提问而看轻你,提问代表你在思考,只有清晰了解问题,才能准确回答;
  4. 针对面试官想了解的方向作答。

3.4 结构化表达

面试时有一个常见的问题:求职者吧啦吧啦说了半天,面试官没搞明白他说的什么。

我们从求职者的角度考虑这个问题,如果我们能够改善一下说话的方式、方法,就能提升沟通的效率,促进面试官对我们的理解。

下面是面试时常用的 4 种回答问题方式:

  1. 遵循 STAR 法则
  2. 列清单
  3. 递进
  4. 总分总

一一举例说明。

1) 遵循 STAR 法则

STAR 是 Situation(情境)、Task(任务)、Action(行动)、Result(结果)四个单词的首字母组合。

使用 STAR 法则可以很方便地说明:在什么情况下,我接到了什么样的任务,采取了什么行动,取得了什么样的结果。因此它特别适用工作经历或项目经历的梳理,我曾经在“程序员简历优化实战”那个 Chat 文章中使用它来优化简历,现在我们要用它回答面试问题。

比如面试官问你这个问题:“描述一个你在项目中曾遇到过的难题,说说如何解决的。”

你就可以采用 STAR 法则来组织语言,参考下面的回答:

(Situation 部分) 2017 年 2 月份,公司准备做陪伴儿童的智能语音机器人,可以讲故事、唱歌、跳舞,还可以教英语。

(Task 部分) 公司觉得我学习能力比较强,就安排我负责语音交互这部分。我之前从没有做过语音识别,完全没有头绪,但是我决定挑战下自己。

(Action 部分) 我先从网上搜索了各种资料,下载了各个知名的语音识别引擎,搭建环境,挨个测试效果,连续两个月,心心念念都是这件事,天天晚上加班到 11 点,终于把语音交互的框架搭建了起来。

(Action 部分) 这个项目还遇到一个很大的问题,硬件设计上一开始采用了全向麦克风,觉得小孩子在哪里说话,都能收音,效果会不较好,可是 DEMO 出来后,放进商场,发现机器人总是识别不准指令 (嵌套的 S 部分),项目经理就觉得我们语音识别部分的准确度比较低,责令我们改善 (嵌套的 T 部分) 。我经过反复测试,发现在安静环境下,语音识别的准确率很高。我就找硬件开发人员,带了一堆仪器,跑到商场去查,跑了 8 个商场,反复测试,最后确认是全向麦克风的问题,它太容易受环境噪音的影响了。于是我们就考虑用指向性麦克风,先后换了单向、双向、心型麦克风…… (嵌套的 Action 部分) 最后采用了心型麦克风 (嵌套的 Result 部分)。

(Result 部分)后来我们的陪伴机器人上市,在同类产品中,成了语音识别准确率最高的。

STAR 框架让我们的回答分成清晰 4 部分,便于面试官了解我们做的事情,判断我们的能力。

2) 清单

清单,我们都很熟悉,看上去就是项目列表,类似“1、2、3”、“第一、第二、第三”这样,我们写简历时经常用。这样的清单,也可以在回答面试问题时使用。

比如面试官问:“你对我们公司了解多少?”

你就可以采用清单的方式来回答:

“我提前做了不少信息搜集工作,有一些了解。

  • 第一,行业方面……
  • 第二,产品方面……
  • 第三,研发团队……
  • 第四,市场……
  • 第五,从竞品来看……”

这样子的回答,看起来就比较有条理。比下面的回答,更容易显出你的语言组织和表达能力:

“有一些了解,你们的产品是 x,我还用了下,据说某某公司也有类似产品,还有另外一家公司也有。嗯……你们所在的这个行业我蛮看好的,不过你们的产品好像用的人比较少……”

可以应用清单结构的问题很多,比如离职原因,你可以一二三说个明白;比如为什么要来我们公司,你也可以列出几条原因。

需要注意的是,在回答时,明确的说出“1、2、3”这样的字眼并适当的停顿,会让别人更容易抓住要点。

3) 递进

有些问题,在回答时,我们所说的内容,可能会有前后顺序关系、深潜层次关系,此时可以使用递进式结构。把“首先、然后、接下来”、“现在、接下来、再往后”、“不仅、而且”之类能明显表示递进关系的词语嵌入到回答中,可以凸显出层次关系。

比如面试官问你未来 5 年的职业规划,你刚工作两年,可以这么回答:

“考虑到我现在刚入门没多久,接下来的两三年,我希望继续在技术道路上积累,争取在大数据分析这个方向上建立竞争优势。再往后的两三年,我希望能够带一个小规模的团队,发挥更大的作用。”

比如面试官问,“假设你们经理离职,公司安排你顶上来接管你们研发部门,你打算怎么开展工作”,你可以这么回答:

“首先我会和上司、公司沟通一下,看看他们对我的期待,弄明白我需要做什么、怎么做、如何获取资源和支持;然后我会和团队的骨干成员一一沟通,了解团队和项目的关键信息,了解他们的想法,维系他们的重要性,争取他们的支持;接下来我会和关联部门的负责人沟通一下情况;再往后,我会找出我们部门当下的首要目标,和大家一起搞定它,以此来让团队对我有信心,建立信任关系……”

4) 总分总

总分总是我们在汇报工作时常用的语言组织方式,回答问题时也可以使用。

比如前面我们用 STAR 法则回答的问题—— “描述一个你在项目中曾遇到过的难题,说说如何解决的。”——就可以在外面套一层总分总框架。具体是这样的:

(总)我遇到过不少难题,有一个项目印象深刻,它让我跳出了自己的舒适区,还让我发现了一个处理问题的一般性方法。 (分) 2017 年 2 月……(这部分是 STAR 法则的内容)…… (总)通过这个项目,我获得了两方面的成长。第一,我掌握了语音识别技术;第二,我对如何跨部门排查软件问题有了……

这样子回答,是不是更完整了呢?而且,我们在最后总结时,又采用了清单。

3.5 应对不会的问题

在面试中,你一定会遇到一些难以回答的问题。

比如面试官问:“你有 x 的相关经验吗?”

你刚好没有,你会怎么回答?

常见的错误回答有两种。

错误回答一:“有啊。上一份工作,我和同事就做过这块,做得还不错呢。”

这显然不是一个好办法,因为:

  • 说谎。说谎很糟糕,因为在关键问题上诚实是很多公司看重的品质。而且,你说一个谎,后面就要用另一个更大的谎来掩盖,工作中得处处小心,累心。
  • 经验丰富的面试官很容易通过问一些问题判断出来你不具备 x 相关经验。
  • 即便你当时骗过了面试官,进了公司,要做 x 相关的项目,也会因为技能和经验不足而面临工作难以开展的困境,甚至会面临被追溯被拆穿的尴尬。
错误回答二:“没有。”

这样的回答虽然很诚实,但也是比较糟糕的。因为你这样回答,一来让谈话难以继续,比较尴尬,二来,你失去了把自己的经历和职位关心的经历联系起来的机会,进而可能失去这次工作机会。

正确的回答是:“没有,但是我有 xxxx 的相关经验,我分析了一下,x 和 xxxx 之间有很多相似的东西,它们在 a、b、c 这些点上都是一致的,而且,xxxx 中用的一些 d、e、f,实际上是可迁移到 x 的。”

没有,但是……”这个简单有用的技巧包含了以下几个关键点:

  • 你很诚实,谈到你做过的项目时,面试官会更愿意相信你所说的;
  • 转移了话题,将面试聚焦到你有经验的领域;
  • 表明了你具有学习新技能的信心和能力;
  • 用你以往成功的经历,向面试官表明,你有信心可以做好新的项目。

所以请记住,在面试中遇到比较关键而你又暂时难以回答的问题,不要撒谎说 “有”、“会”,也不要直接说“没有”、“不会”,而是要用“没有,但是……”,把你的过往经历和问题关联起来,创造更多的机会。

4. 复盘

复盘,是把经历沉淀为经验的有力武器。想要把每一次面试都变成学习机会促进自己的成长,就要善用复盘。

每一次面试结束,都要尽快找时间(最好是离开面试地点就找一个安静地方,最迟当天晚上)来复盘。可以简单做下面的事情:

  • 回顾面试过程,一一记录问题和自己的回答;
  • 知识性问题,温习或开启学习之旅;
  • 非知识性问题,找到表现好的地方,问自己“怎样才能重复获得这样的表现”,比如回答的态度、话术、内容等;
  • 非知识性问题,找到表现不好的地方,问自己:“下次遇到类似问题,采取哪些措施,可以改善回答效果?”

欢迎关注我的公众号,回复关键字“大礼包” ,将会有大礼相送!!! 祝各位面试成功!!!

如何系统有效地准备一场面试相关推荐

  1. 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路...

    1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头of ...

  2. xxl-job 执行结果是空_空指针,段错误,这场面试我栽倒在这里了!

    空指针,段错误,这场面试我栽倒在这里了! NULL在C/C++中的标准定义 NULL的标准定义 #if !defined(NULL) && defined(__NEEDS_NULL) ...

  3. 12家国内外之名公司多场面试,微软到谷歌.让我们通过学习达到100%面试率与100%通过率...

    下面内容来源于_lcu_,我摘要了一些大家值得借鉴与参考的东西,与大家一起学习成长,来源地址:http://www.cnblogs.com/figure9/archive/2013/01/09/285 ...

  4. 大数据工程师职场面试攻略技巧有哪些?

    面试是一个双向选择的过程,面试官在选人,面试者在选公司.而面试者了解这家公司最直接的途径就是通过面试官.如果面试者是个到处抢着要的高手,那你有水平的提问会给这个面试者留下深刻印象,毕竟大家都是喜欢和厉 ...

  5. 35场面试,应届计算机毕业生的霸气求职之路

    1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头of ...

  6. 初入职场-面试官都会问些什么?(结尾附视频)

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  7. 转发:9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的求职之路

    1 作者:_Luc_ 来源:www.cnblogs.com/figure9 文章来源: https://mp.weixin.qq.com/s?__biz=MzUyOTk5NDQwOA==&mi ...

  8. 我的求职之路:9个offer,12家公司,35场面试,最终谷歌【转载】

    作者:Luc(写于2012年) 一.简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百 ...

  9. 【程序员面试】我的求职之路:9个offer,12家公司,35场面试,最终谷歌

    转载:http://www.imooc.com/wenda/detail/240787 作者:Luc(写于2012年) 一.简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个 ...

最新文章

  1. LinearLayout (线性布局)的分析
  2. usaco Dual Palindromes
  3. 了解过去与理解现在的一把钥匙
  4. 牛客c语言数组,牛客网学习笔记 - C/C++
  5. sierra mysql_macOS High Sierra 使用 Homebrew 安装 MYSQL 5.7
  6. 团队行为心理学读书笔记(5)执行力背后的行为心理学
  7. 三星Galaxy Note 10+真机照公布:居中开孔前摄实锤
  8. php删除二维数组的某一行某一列_php中怎么去除二维数组的某个字段?
  9. jquery 添加可操作,编辑不可操作
  10. 每天一个linux命令(25):chgrp命令
  11. .NET读、写、查、删、改XML文件
  12. c语言设计题库及详解答案,c语言程序设计题库及其答案
  13. Flutter封装加载状态视图,加载中、加载成功、加载失败、加载无数据
  14. 5款 Mac 常用PDF阅读和编辑软件推荐
  15. 人工智能数学基础---不定积分5:常用不定积分表
  16. tornado程序中出现ValueError: invalid literal for int() with base 16: ‘
  17. 百度脑图制作的简单的个人介绍
  18. Project使用总结-如何统计项目总工时,设置Project起始日期,修改项目日期格式
  19. 计算机网络思维导图(零基础--思维导图详细版本及知识点)
  20. 在调试器下理解RK3588和LINUX5.10

热门文章

  1. UESTC 1634 记得小苹初见,两重心字罗衣 欧拉路径(回路)
  2. 电源设计调试过程中的异常现象介绍
  3. 日语一级语法选择题2000题
  4. 【ANSYS Workbench仿真】动密封仿真分析学习总结
  5. DNS原理及DHCP原理
  6. 会声会影使用技巧小结
  7. Android 保存图片到SQLite,读出SQLite中的图片
  8. 计算机专业体现哲学规律的,自然辩证法论文-关于计算机的哲学思考
  9. 如何使用会声会影制作手机竖屏效果
  10. 轮胎领域RFID技术应用解析