跳到主要內容

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 怎麼用 · 所有輪次和職位