vlambda博客
学习文章列表

程序员面试 Behavioral Question 准备心得

一般 Behavioral Question 会出现在 onsite 环节。而且大家往往不会很关心,但我认为挂在 BQ 上是非常可惜的。


在我有限的面试官职业生涯中遇到过这么一个事情,一个名校小哥个方面都非常不错。不仅人帅,国内和美国的学历背景都很相关而且都是 CS 名校。在我这一轮算法也答得非常不错。

我给了比较好的评价。过了很久正纳闷这个小哥为啥还没来入职,于是看了一下其他面试官的评价发现挂在了 BQ 上面。

面试官让他自我介绍一下。结果这小哥反问道你看了我的简历吗?

可能是由于紧张,也可能是开玩笑,但结果可想而知。


一般 Behavioral Question 会出现在 onsite 环节。而且大家往往不会很关心,但我认为挂在 BQ 上是非常可惜的。因为我们平时吭哧吭哧地刷题,好不容易都答上来了,却在一个简单的讲故事 BQ 环节挂掉了。


01

正确使用 STAR method


STAR method 是解决 BQ 问题最好的方式,是一种回答问题的模板,非常好用。具体如下:

程序员面试 Behavioral Question 准备心得

Situation:描述你当时所经历的情况。

Task:解释你具体的任务。

Action:完成上面的任务所用到的具体的行动。

Result:完成任务所产生的结果。


02

创建自己的故事素材库


一般大家都习惯根据亚麻的 14 个 Leadership Principles 来创建个人故事素材库。但我认为那还不够,因为不是所有的时候都是可以把自己的故事往上面生搬硬套的。

我的做法是首先总结一套自己的 personal traits,即个人性格特征。然后在这个基础上再去根据不同的问题类型(详细见下面总结)来分类准备自己的故事素材库。

例如我随便列几条我自己的 personal traits,具体怎么应用可以点击“阅读原文”看我的真实案例。

  • Industrious

  • Fast Learner

  • Willing to share

  • Outgoing

  • Logic


03

常见问题解法


这里是目前最全的问题汇总,题目大部分来自网络,我会针对不同的题型给出一些例子。


1. Basics

Tell me about yourself?

不是要你讲真正的关于自己的兴趣爱好,而是一切和应聘的岗位有联系的。例如相关工作经验,以及相关的 personal traits。按照面试官给定的时长来说。

万能公式:总结过去的工作经验 + 1 个该工作相关 personal traits

举例:

Tiger has a solid understanding of modern fullstack technologies with hands-on experiences in fullstack development. In the past decade, tiger has been following the latest frontend trend from jQuery, BackboneJS, AngularJS to React/Angular; from objective-oriented to functional programming.


Why this company / this position / this team?

如果该公司是大公司,则着重强调大公司的优势,例如制度完整,有完善的学习路径;如果该公司是小公司,则说明这个公司非常有潜力,可以看到是未来炙手可热的 unicorn。一般从大公司跳到小公司更容易考这个点。

针对小公司的举例:

XXX is a very hot unicorn company and it matches my next career goal - a larger stage so I can have more impact and contribute more in term of mentoring, leading and etc.


Why leave your last position / company?

如果从大公司跳到小公司,主要有几个方面

1 lack of impact(自己在公司缺乏影响力)

2 bording(干的活非常无趣)

3 boiling frag(温水煮蛙)

如果是从小公司跳到大公司,那就更简单了,主要说明小公司不稳定,对自己的职业发展不有利。


Walk me through your typical day at work.

一般的大概是这样:Scrum meetings / Interviews / Codings / Design meetings / Retros


2. Success

a) Tell me a time when you succeed / a project you proud of b) Tell me a time when you exceed the expectation c) Tell me a time when you took a risk / without approval then succeed d) Tell me a goal you achieved

讲一个自己在工作中成功的例子即可。记住使用 STAR method 来描述。


3. Failure

a) Tell me a time when you failed on something

b) Tell me a time when you made a mistake

c) Tell me a time when you received a negative feedback

d) Tell me a time when you showed resilience

e) Tell me a time when you didn't meet the expectation

f) Tell me a time when you took a risk / without approval then you failed

g) Tell me a goal you didn't achieve

讲一个自己在工作中失败的例子,不是真的在业务上失败,而是其他无关痛痒的地方失败。记住使用 STAR method 来描述。


4. Conflict

a) Tell me a time when you resolved a conflict on your team

b) Tell me a time when you disagreed with your manager

c) Tell me a time when you disagreed with your team / peer

d) Tell me a time when you provided suggestion but had not been considered, what was the impact of it

e) Tell me a time when you had to go behind your manager's back to do something

解题公式同上,最好不是真的在业务上或者那些有负面影响的 conflict,例如各种歧视,自己的偏见等等。


5. Pressure / Challenge

a) Tell me a time when you handle difficult customer / task

b) Tell me a time when you were forced to do something you are not familiar with

c) Tell me a time when you worked under pressure / managed numerous responsibilities / had to multitask

d) Tell me a time when you overcame an obstacle and delivered the result

e) Tell me a time when you overcame a challenge

f) Tell me a time when you worked under close supervision or extremely loose supervision

可以说明是工作上的一些压力,例如时间比较紧,但最后成功的例子。


6. Leadership / Relationship

a) Tell me a time when you helped a peer / other

b) Tell me a time when you lead a team to achieve

c) Tell me a time when you earned trust of others

d) Tell me a time when you motivated others

e) Tell me a time when you persuaded someone to do something

f) Tell me a time when you showed leadership

g) Tell me about a time when you had to deal with a poor performer on your team.

h) Tell me about a time when you had to convince your team on some design decision.

主要是 mentering、leading 某个项目等等。


7. Responsibility / High Standard / Deep Dive

a) Tell me a time when your team or company undergoing some change

b) Tell me a time when you took on something outside your area of responsibility

c) Describe a time when you were the resident technical expert. What did you do to make sure everyone was able to understand you?

d) Tell me about a time you were dissatisfied in your work. What could have been done to make it better?

e) Tell me a time when you improved a process

f) Tell me about a time when you could have stopped working but persisted.

g) Tell me about a time when you had to dive deep into the system / data to solve some technical bug / problems.

可以把 pressure / challenge 准备的故事拿在这里用。


8. Decision

a) Tell me a time when you made a difficult decision / choice

b) Tell me a time when you made a bad decision

c) Tell me a time when you made a quick and successful decision

d) Tell me a time when you took the initiative to deal with something

e) Tell me a time when you dealt with ambiguity

f) Tell me a time when you broke the rule

g) Tell me about a time when you had to take a decision in your project where the complete data was not available

h) Tell me about a time when you had to make some changes backward because it was impacting your customer.


9. New ideas, Innovations, Inventions

a) Tell me a time when you invented/innovated something

b) Tell me a time when you propose a new business

c) Tell me a time when you learned something about yourself

d) Tell me a time when you learned something new


10. Deadline / Efficiency

a)  Tell me a time when you missed a deadline

b)  Tell me a time when you had to deal with a tight deadline but deliver in time

c)  Tell me a time when you provided a simple solution to a complex problem

d)  Tell me a time you had to be very strategic in multitasks and meet all your top priorities.

e)  Describe a long-term project that you managed. How did you keep everything moving along in a timely manner?


11. Frugality

a)  Tell me about a time where you thought of a new way to save money for the company.

b)  Describe a time when you had to manage a budget (or manage time/money/resources/etc.). Were you able to get more out of less?

c)  Tell me about a time when you had to work with limited time and resources / no resource.


12. Common Follow-ups

a)  What’s your role in this project

b)  What’s your impact in this project

c)  What were the challenges and how you made sure that you finished it perfectly

d)  What did your manager / peer say, how did they like it

e)  What did you do afterward

f)  What did you sacrifice to deliver it and how did you feel

g)  Why did you make that decision

h)  Why did you think that decision was appropriate

i)  Do you think you could have done better

j)  How did you find / fix this problem

k)  How deep did you track down the problem


BQ 问题不需要花费太多时间准备,优先级应该排在算法之后。在 onsite 前集中准备即可。下面是详细的准备时间表。

 准备 BQ 问题


自我提升 | 编程规划 | 美国生活

你若喜欢,为小老虎点个在看