面试经验小结
总结一下近期的面试感想。
Coding
面试的时候,相对来说是比教难静下心来认真思考解法的。往往是有个初步概念,然后就开始讨论,如果平时练习不够,容易 hold 不住讨论时候的发挥。平时需要加强「连续思考解法」的过程。
需要频繁地和面试官确认需求,如何处理边界输入、错误输入等等。
有时候可以避免给出确定的否定性答案,而是用婉转的方式问「我们有其他的假设吗?」来探讨其他优化。
System Design
对于 New Grad 来说,完全凭靠平时积累,在面试过程总很容易陷入局部设计,而遗漏整体的要求或者某些细节。需要多加练习,强化下面这个大致的回答步骤。
- Discuss functional & non-functional requirements
- Write down the APIs
- Discuss the high-level design & design choices
- Discuss detailed components
- Walk through the in-depth deisgn of each component
- Walk through the high-level design
Behavior
Introduction
介绍相关经历需要有逻辑,类似 STAR 模式,但一定要结合对岗位的优势。
- 「背景」一句话概括这个项目的学校、经历、项目
- 「任务」一句话介绍扮演的角色和任务要求,不要讲一堆细枝末节的废话。
- 「行动」分点详细讲自己做了什么、为什么这样做,这是核心部分。
- 「结果」简单总结一下成果,用数据或事实支撑。
- 「意义」强调对岗位的优势
Misc
很多时候会突然后悔,面试中举的例子不够完全恰当,思考过程没有完全清晰表达出来,等等。这类思绪最好作为经验记下来,然后看向未来。而不要让他纯粹干扰自己的心态,卡在过去无法跳出来。任何面试都是不完美的,吸取经验,活在当下。