面试经验小结

总结一下近期的面试感想。

Coding

面试的时候,相对来说是比教难静下心来认真思考解法的。往往是有个初步概念,然后就开始讨论,如果平时练习不够,容易 hold 不住讨论时候的发挥。平时需要加强「连续思考解法」的过程。

需要频繁地和面试官确认需求,如何处理边界输入、错误输入等等。

有时候可以避免给出确定的否定性答案,而是用婉转的方式问「我们有其他的假设吗?」来探讨其他优化。

System Design

对于 New Grad 来说,完全凭靠平时积累,在面试过程总很容易陷入局部设计,而遗漏整体的要求或者某些细节。需要多加练习,强化下面这个大致的回答步骤。

  1. Discuss functional & non-functional requirements
  2. Write down the APIs
  3. Discuss the high-level design & design choices
  4. Discuss detailed components
  5. Walk through the in-depth deisgn of each component
  6. Walk through the high-level design

Behavior

Introduction

介绍相关经历需要有逻辑,类似 STAR 模式,但一定要结合对岗位的优势。

  1. 「背景」一句话概括这个项目的学校、经历、项目
  2. 「任务」一句话介绍扮演的角色和任务要求,不要讲一堆细枝末节的废话。
  3. 「行动」分点详细讲自己做了什么、为什么这样做,这是核心部分。
  4. 「结果」简单总结一下成果,用数据或事实支撑。
  5. 「意义」强调对岗位的优势

Misc

很多时候会突然后悔,面试中举的例子不够完全恰当,思考过程没有完全清晰表达出来,等等。这类思绪最好作为经验记下来,然后看向未来。而不要让他纯粹干扰自己的心态,卡在过去无法跳出来。任何面试都是不完美的,吸取经验,活在当下。