Exodus Point的數(shù)據(jù)工程面試把量化招聘的嚴苛和工程落地的細節(jié)擰在一起:SQL里顆粒度必須交代清楚,ROW_NUMBER和RANK得明確說出怎么打破平局,K遠小于n時得用heapq而不是直接sorted(),多路歸并要能一步步講清楚怎么把有序分片合成一個流。公開題庫偏向Python和排序,但SQL環(huán)節(jié)同樣繞不開。
這篇按四個模塊拆解,每個模塊先講考點是什么、為什么重要,再給一道完整題目:輸入數(shù)據(jù)、代碼、逐步解釋、可驗證的輸出。面試收尾時還會補一個"為什么這樣答"的清單。準備這類面試,核心不是搞到某家公司的內(nèi)部PDF,而是在時間壓力下把基礎操作練到肌肉記憶。
![]()
Exodus Point面試的四大考點
按官方練習庫梳理,四個模塊對應這張圖譜:
1. 面試流程:從電面到現(xiàn)場
量化圈的數(shù)據(jù)工程面試骨架大同小異:電面或視頻面限時寫Python,SQL環(huán)節(jié)先口頭定義顆粒度和關聯(lián)基數(shù)再動手,后續(xù)輪次混著系統(tǒng)設計、代碼重構和行為問題。Exodus Point的JD不管強調(diào)分析、平臺還是研究支持,流程都按這個模板走——鍵盤和白板都得準備。掛掉的候選人常見三宗罪:跳過定義(一行代表什么)、平局時不處理導致結果不確定、K很小時還無腦全排序。
電面真題:流式Top-K帶平局打破
電面通常45-60分鐘,一道主題(堆、雙指針、歸并或流式聚合)加追問:空輸入、重復項、復雜度。面試官想聽你先說出比較規(guī)則和內(nèi)存方案再敲代碼。有限流里取Top-K是經(jīng)典題型:用最小堆只保留K個"最優(yōu)"行,元組排序規(guī)則定義為"分數(shù)高的贏,分數(shù)相同則record_id小的贏"。
題目:給定有限列表(score, record_id),返回分數(shù)最高的K對,平局時取record_id更小的。
輸入示例:scores = [(90, 5), (85, 2), (90, 1), (70, 3)], K = 2
核心操作:維護大小為K的最小堆,堆頂是當前第K大的元素。新元素分數(shù)更高,或分數(shù)相同但record_id更小時,彈出堆頂、壓入新元素。最終堆內(nèi)即所求。
復雜度:時間O(n log K),空間O(K)。n很大、K很小時,這比全排序的O(n log n)省得多。
面試收尾清單:是否明確定義了"最優(yōu)"的比較規(guī)則?是否說明了為什么堆比排序更合適?是否處理了空輸入和K大于n的情況?
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.