“Tell me about yourself” in Software Engineer Interviews
面试准备的关键问题
这是开发者面试中必须准备的行为问题——因为99%的情况下都会被问到。
“介绍一下你自己”。这个问题的可怕之处在于它的开放性、主观性,没有标准答案……
本文将深入探讨如何以最有力的方式回答这个问题。
“介绍一下你自己”是你打开面试官思维的第一扇门。好好利用这个机会。
如果回答得当,你将能够基于对这个问题的回答来引导后续的面试进程。
自我介绍中的“禁忌”
你肯定不想在面试一开始就表现得语无伦次。所以在面试前要稍微思考一下这个问题。
回答时避免这些错误,最大化获得好评的机会:
- 不要堆砌流行词:对你使用的每个形容词,都要准备好真实的生活轶事
- 不要漫无边际:这不是讲述整个人生故事或重复简历的时候。不要提供不必要的信息。不要让他们无聊到睡着
- 不要自贬:是的,你应该展现人性化的一面。但过度分享或强调缺点不是正确的方式
- 不要说你的目标是“赚钱”或“搬到那个城市”:他们想雇佣的是被更高目标驱动的人
用你的回答让面试官记住你
“介绍一下你自己”归根结底是“你希望面试官记住你的什么?”
你需要给出一个引人入胜的回答,让他们相信你是一个有能力、有趣的候选人,并在他们眼前看到一个与你共事的积极未来。
但如何做到这一点呢?
你的软件工程三部曲故事(及如何讲述)
正如我们所说:我们不想用回答让面试官感到无聊——我们想激发他们的好奇心,让他们对我们来自哪里以及想去哪里感到兴奋。
为此,你可以将你的生活讲述成一个引人入胜的故事(因为它本来就是)。
为了让你的回答充满生机,你可以使用一个简单的三部分讲故事公式:
- 开端:一切是如何开始的——是什么最初引导你走上这条道路
- 中间:你旅程中的亮点和见解
- 结尾:这一切如何与你正在面试的工作相契合
在构思回答时,不断问自己这个编剧问题:“这如何推动故事发展?”
如果不能推动故事发展,那就没有用。
就像电影角色一样,我们也有自己的故事。我们正试图尽可能有说服力地将这个故事传达给观众。
1. 你的起源故事(设定场景,介绍角色,添加背景)
在这里,你要快速描绘你的背景,是什么定义了你这个人,以及这如何引导你开始进入技术领域。
你不想把这部分拖得太久。
这是为决定性时刻“搭建舞台”:那个让你意识到这是你的使命,并愿意将所有精力投入其中的时刻。
决定性时刻
这个时刻触发你说:“这就是我想用一生去做的事情”。
它为你的职业生涯设定了方向。这是你 consciously 为自己选择这条道路的地方。
没有人想雇佣没有方向的人。但如果你能向面试官阐明这个决定性时刻和决定,你就会脱颖而出,成为一个有决心、在正确道路上、并准备在生活中取得更多成就的人。
这是在面试中展示的绝佳品质。
2. 你职业生涯至今的旅程
在决定性时刻之后,你可以开始详细说明:
- 你迄今为止的职业生涯是什么样的:自从心中燃起那团火之后,你一直在做什么?
- 你学到了哪些重要的东西
- 你取得了什么成就和创造了什么
- 你能够展示哪些个人优势
- 你如何在这一路上保持灵感
- 这段旅程为你做好了什么准备(可能是在他们的公司?)
一位面试官这样说道:
“面试的这一部分是我试图给你一个推销自己的机会。告诉我关于项目、学到的教训、领域内的目标、技能的实际例子,任何能告诉我你适合这份工作的事情。”
了解了雇主的痛点,就很容易通过描述(详细地)你在之前的项目中如何解决类似问题来回答关于你自己的问题。
简而言之,你生来就是为了解决这些确切的问题,并且一生都在为此接受训练。
3. 高潮:运用你所学的一切在他们的公司做大事
你故事的这一部分全都是关于在他们脑海中描绘一幅有希望的画面:一幅你为他们公司服务的画面。
面试官在问:“帮助我理解今天的你是谁,因为这关系到这个职位。”
你的回答应该相应地构建框架。
LionStack的首席技术官Alex Rogachevsky给出了以下建议:
“按下面试官的愉悦按钮,其中最重要的是消除‘痛点’。你被雇佣是为了解决某个问题。”
而你独特地具备这样做的资格——因为你在旅程中到目前为止所做的一切。记住要专注于面试官认为与你正在面试的职位相关的经验或技能。
如果你能令人信服地描述这一切如何导致这一刻,以及你的经验将如何帮助他们解决重要问题,你就会让面试官感兴趣,并相信你的故事。
当到了评判你面试的时候,他会记得他对你讲述这个故事的方式的感受。
软件工程师自我介绍示例
为了让这更实用,让我们看一些例子,看看人们如何使用这个框架以一种有趣的方式传达他们的职业故事,并吸引面试官。
职业转换者示例 – Jaclyn Ling, Hatchways CEO
假设你学过心理学,但现在有兴趣在科技初创公司工作。你编程大约一年了。
“在我成长的过程中,我一直对人类行为着迷,喜欢了解人们为什么会做他们所做的事情。
但在我的学习和实习期间,我意识到心理学更理论化,而不是实际执行。
所以我仍然非常欣赏了解人们,但用它来构建一些能改善他人生活的东西。
所以我想寻找一些更注重执行的东西。那时我发现了编程——我在学校把它作为选修课之一——我完全爱上了它。
能够构建一些东西并立即看到结果对我来说是神奇的。
所以在过去的几年里,我一直在努力构建我的网络开发技能。我喜欢的一点是,我可以构建网络项目,帮助人们解决他们在日常生活中面临的问题。
我从心理学学位和编程时间中学到的是做有影响力的工作。”
高级开发者自我介绍 – Pen Magnet, 20多年经验的程序员
“我选择学习电子学是因为我童年时对电路感兴趣。另外,我听说学习电子学可以让人编程计算机——在那些日子里它们是奢侈品!
在X公司担任高级开发人员时,我领导了一个由4名开发人员组成的团队,负责我们零售网站支付微服务。我们负责所有交易的CRUD操作——结账、退款、预扣税。
我还优化了几个功能,将平均执行时间/CPU利用率/内存利用率降低了60%。”
社交媒体开发者示例
“我开始编程是因为我想为猫建立一个社交网络。
那个项目没有成功,但原型帮助我在家乡的一家小科技公司找到了一份工作。
上个月,我在Hacker News上读到了一篇关于贵公司正在构建的社交网络的精彩文章。你们面临的扩展挑战似乎会帮助我比在当前角色中成长得更快更强。”
结论
我参加的每次面试都会问到这个问题。
你最好能完美应对。