跳到正文

Coding 面试练习:边写边讲

在编辑器里解真实的题目,Vera 在一旁听,请你说出思路和复杂度,并追问边界情况。45 分钟后,你会拿到一份报告,为每项能力打分,并引用你说过的话。

Vera 用英文面试你,就像你正在准备的美国面试一样。注册、应用和报告也都是英文的。

时长
45 分钟
题目
Regular 级别两道,Lead 级别一道、挖得更深
提示
最多三次小提示
语言
Python、Java、Go、C++ 或 TypeScript

这一轮怎么进行

  1. 01

    思路

    澄清题意,在动手之前说出你的思路和复杂度。如果说的是暴力解法,你会被反问一句:能做得更好吗?

  2. 02

    实现

    一边写代码一边讲。Vera 大部分时间保持安静,只有在你长时间不说话或明显卡住时才会提示。

  3. 03

    测试和 follow-up

    用一个例子走一遍,说出边界情况,给出时间和空间复杂度,然后回答一道 follow-up。Lead 级别的面试中,Vera 还会问放到生产环境会有什么变化。

报告评哪些方面

每项能力都会对照你所在级别的标准线打 1 到 5 分,并附上评分所依据的原话和你说出它们的时间。报告最后会给出下一步最该改的一件事。

  • 解题能力 Problem solving
  • 代码质量与正确性 Code quality and correctness
  • 复杂度与优化 Complexity and optimization
  • 测试与边界情况 Testing and edge cases
  • 沟通 Communication

Lead 级别还会评: 生产环境思维(Production thinking)。

真实面试中这一轮怎么进行

现场 coding 面试通常持续 45 到 60 分钟,围绕一到两道题展开:澄清题意并想好思路,一边写代码一边讲解,测试代码,然后讨论复杂度和一道 follow-up。我们读过的指南都认为评分看四个方面,只是叫法不同:沟通、解题能力、代码质量和测试。它们最常提到的失误是:没想好思路就开始写、闷头写不说话,以及没测试就说代码写完了。

阅读完整指南(英文)

Regular 和 Lead 级别

Regular
两道题。标准线是:能跑通的解法、正确的复杂度、清晰的沟通和合理的测试。拿到提示后能调整过来,也会计入评价。
Lead
一道题,做得更深:代码跑通后会有更难的变体,还有生产环境相关的问题:扩展、并发、故障和可观测性。

时长:两个级别都是 45 分钟。

在各个岗位中

开始之前,先看看反馈

由真实报告流程生成的完整报告,学生是虚构的,面试是按脚本进行的。

常见问题

面试中可以运行代码吗?

可以。编辑器会用题目的示例运行你的代码,Vera 也能看到结果。Vera 不会帮你修 bug:准备好被问你原本预期的是什么,以及某个用例为什么失败。

写代码时必须一直说话吗?

是的,这一轮练的就是这个。真正的 coding 面试评的是你怎么思考,所以动手前先说思路,并把主要决策讲出来。如果你很长时间不说话,Vera 会请你把思路讲一讲。

卡住了怎么办?

直接说出来,或者请求提示。Vera 会给一个指向下一步的小提示,一轮最多三次,而且绝不直接给答案。

应该选哪种语言?

选你最熟练的。软件工程面试可以用 Python、Java、Go、C++ 或 TypeScript。数据科学的 coding 是 SQL 和 pandas,量化方向用 C++。

Mockich 怎么用 · 所有轮次和岗位