ZipRecruiter DS / ML 面試全流程復盤|OA+Onsite 真題

1,121Views
尚無留言

想進做招聘平台的演算法團隊? 別小看 ZipRecruiter。 作為典型的數據驅動型公司,ZipRecruiter 在數據科學(DS)和機器學習(ML)崗位的選拔流程上非常“工程化”:不僅刷題考得精,還要動手寫代碼調試腳本、設計系統、甚至查 debug 錯誤。 Programhelp 最近輔導了幾位同學成功拿下 ZipRecruiteroffer,下面這篇就來幫你還原一次完整的 DS/ML 面試全流程,供你參考準備!

ZipRecruiter DS / ML 面試全流程復盤|OA+Onsite 真題

一、面試流程總覽(DS/ML 崗)

面試階段 說明
電面(電話 or Zoom) 自我介紹 + 專案深挖 + 即興小題 / 後續發 OA
OA 在線筆試 CodeSignal 平臺,4 道程式設計題,時間緊,題型包含演算法、資訊流類比、矩陣處理等
Onsite 第 1 輪 演演算法題(如 Min Stack)現場手寫 + 跑通測試,重視寫代碼的完整度和溝通方式
Onsite 第 2 輪 Web 應用 Debug,涉及 Perl 腳本和 HTML,考系統排查思路和代碼讀懂能力
Onsite 第 3 輪 Database Schema Design:設計 TinyURL 系統 + 使用者投票功能擴展
現場 第 4 輪 手寫實現 Merge Sort 等排序演算法,重點在於代碼邏輯完整、能跑出結果

整體上,這是一套「全維度選拔方案」:不僅考你刷題能力,更看你是否能寫、查、改、搭建系統,適合那些有實戰背景或專案經驗的候選人。

二、程式設計題真題拆解(OA+Onsite 綜合)

第一輪

題目 1:給一組正整數,第一個數為加,然後輪換加減數位數,返回總和。 比如[1,2,3,4,5]ans = 1 - 2 + 3 - 4 + 5

題目 2:給一組長度為n的整數[number[0], ..., number[n - 1]],返回number of shifts,使得數位變成[n, n - 1, n - 2, ..., 1]t-shift的意思是把陣列變成[number[n - t], number[n - t + 1], ..., number[n - 1], number[0], ..., number[n - t - 1]]

題目 3:給一個矩陣,矩陣的element是整數或者"+","-"string,返回valid expression的最大和,只能是一行的和或者一列的和。 像"9"+"+""0"這種屬於invalid

題目 4:給一組正整數,比較陣列裡的數,返回只有一個digit不同的pair count

第二輪(Codesignal 平臺)

題目 1:給一個string: c1c2c3c4...,要求前後兩個char互換變成c2c1c4c3...

題目 2:判斷能否通過cyclic shift(迴圈移位)後變成一個sorted(有序)的序列。

題目 3:給一個正方形矩陣與一個陣列,陣列包含 0、1、2 三個數位:0 代表對矩陣進行順時針rotate(旋轉); 1 代表對矩陣沿主對角線reflex(翻轉); 2 代表對矩陣沿副對角線reflex(翻轉) 。 可參考類似力扣題目思路,rotate可分解為transpose(轉置)加flip(翻轉)操作 。

題目 4:處理一系列矩陣操作,格式如[0, x0, y0], [0, x1, y1], [1, x2, y2]:陣列第一個元素為 0 時,新添加一個矩形; 陣列第一個元素為 1 時,判斷xy(可旋轉矩形)能否適配到已添加的所有矩形中(比較長寬比等 )。
示例:[0, x0, y0], [0, x1, y1], [1, x2, y2]中,前兩個是添加矩形,第三個是判斷適配性 。

第三輪(ZipRecruiter DS/MLE 崗位 OA)

題目 1:給兩個字串s、t,检查t中每個字元是否是s對應位置字元的 「下一個」 (s中字元為'z'时,t對應為'a' )。 若全對應返回True,否則False。 實現時用chr(ord(i)+1)需注意'z''{'問題,要提前處理 。

題目 2:操作矩陣,根據參數i執行不同變換:i == 0:將矩陣順時針旋轉 90 度;i == 1:沿主對角線翻轉矩陣;i == 2:沿副對角線翻轉矩陣 。

題目 3:找當前時間后最早一班公交車的到達時間,並計算時間差。 輸入為時間清單schedule和當前時間time,輸出為時間差字串。 例如:schedule = ["10:00","11:30","13:00","15:30"], time = "13:25",結果"02:05"schedule = ["10:00","11:30","13:00","15:30"], time = "13:00",結果"00:00"
難點在於時間差的計算和字串格式處理 。

題目 4:涉及xy軸碰撞相關邏輯

系統設計 & Debug 環節(hard)

Web Debug

問題:調試一個包含 HTML 頁面和 Perl 腳本的小系統,輸出頁面數據不顯示。

面試重點:

看你是否能讀懂別人寫的代碼(Perl + JS)

理解 GET / POST 參數傳遞機制

不要求精通 Perl,但要清楚調試流程

Database Schema Design

設計 TinyURL 服務:

輸入長 URL,返回唯一短連結

後續支援用戶註冊/登錄、用戶歷史記錄

設計擴展功能:Upvote / Downvote 投票系統

面試官會追問:

URL 如何去重?

是否有併發寫入衝突? 如何避免?

使用者表和連結表的結構關係?

Programhelp 助你衝刺 DS / ML Offer|高效備考組合

Programhelp 是專注技術面試輔助的專業團隊,已成功助攻學員斬獲 ZipRecruiter、Meta、Amazon、Databricks、Stripe 等大廠 Offer,針對 DS / ML 崗位我們提供:

高頻 OA 題庫訓練 + 解法精講

類比系統設計題 + 口頭表達訓練

專案故事梳理 + STAR 框架答題

Debug 實操訓練 + Perl/HTML 環境類比

OA 在線即時助攻服務

VO 輔助,代面試、面試代面、SDE 代面

如果你也在準備 DS / ML 崗位 OA / 技術面試,歡迎私信我們,領取專屬題庫樣本 + 1v1 輔導計劃!

author avatar
azn7u2@gmail.com
END
 0
Comment(尚無留言)