Skip to content
所有標籤

#coding

10 篇文章

AI Engineer 面試日練 — 2026-10-09:Coding

今天的 Coding 輪練換個方向,從前幾週已經練熟的推論排程、tokenizer、sampling 轉向 LLM API gateway 另一個幾乎每家公司都要自己刻的元件:token bucket rate limiter。跟一般 API 限流不同,LLM API 的限流單位是 token 而不是請求數(OpenAI、Anthropic 都用 TPM/RPM 雙軌限制),單一請求的 cost 可能是幾千個 token,不是固定的 1。核心概念涵蓋 lazy refill(檢查時才用經過時間 × refill rate 計算補了多少 token,不用背景 timer)、check-then-deduct 的 race condition(多執行緒同時檢查餘額會超放)、單次請求 cost 超過 bucket 總容量時的邊界處理,以及延伸到多台 API gateway 實例共享同一組 quota 時,怎麼用 Redis Lua script 做跨機器的原子操作、並用 Redis 自己的時間而非各台機器的本地時鐘。練習題來自 AI Engineering 面試題庫收錄的真實題目。

AI Engineer 面試日練 — 2026-10-02:Coding

今天的 Coding 輪練換個方向,不再碰前幾週已經練熟的 batching scheduler 跟 tokenizer,改做幾乎每個 LLM API 都會暴露、卻很少人真正手刻過的功能:實作一個吃 logits、temperature、top_k、top_p 四個參數的 sample_token 函式。核心概念涵蓋 softmax 數值穩定性(exp 之前要先減去最大值,否則大 logit 直接 overflow 成 inf)、temperature 的邊界情況(T=0 在公式上是除以零,業界慣例是退化成 greedy decoding 而不是丟例外)、top-k 與 top-p 的套用順序(先 temperature 整形分佈,再 top-k 砍固定數量,再 top-p 依累積機率動態砍)、以及 top-p 最容易寫錯的邊界判斷(要用「加入這個 token 之前」的累積機率跟門檻比較,不是加入後)。練習題來自 AI Engineering 面試題庫收錄的真實題目,額外延伸到 top_k 超過字典大小、renormalize 分母為零這類容易被面試官抓到的邊界案例。

AI Engineer 面試日練 — 2026-09-25:Coding

今天的 Coding 輪練是 Anthropic 在 SWE / ML / hardware / EM 各條面試線都會考的高頻題:設計並實作一個單 GPU 的 inference batching scheduler,支援最多 100 筆輸入一批、使用者同步等待結果,核心張力是 throughput 跟 latency 的取捨。核心概念涵蓋 dynamic batching 的兩個觸發條件(batch size 上限 / 等待時間上限)、依序列長度分桶減少 padding 浪費、continuous batching(iteration-level scheduling)跟傳統固定批次的差異、PagedAttention 怎麼用分頁管理 KV cache 記憶體、以及 backpressure 怎麼在佇列爆滿時維持有界的尾端延遲。練習題把 Anthropic 這道系統設計題轉成可以真的寫程式碼實作的 scheduler class,附完整拆解與範例回答。

AI Engineer 面試日練 — 2026-09-18:Coding

今天的 Coding 輪練是 Anthropic Technical Screen 的一道真實題目——實作一個 case-sensitive 的 longest-match tokenizer:在每個位置貪婪匹配詞彙表裡最長的可能字串,輸出精確的 token id 與消耗掉的原文;沒有匹配時要能選擇「逐字元」或「合併連續未知字元」兩種 unknown-run 處理模式。核心概念涵蓋 WordPiece 這類次詞切分背後的 greedy longest-match-first 策略、詞彙表一大就該從線性掃描換成 trie(搭配 Aho-Corasick 式的失敗跳轉,像 Google 的 LinMaxMatch 一樣把複雜度從 O(n²) 壓到線性)、unknown-run 合併策略對下游訓練的實際影響,以及 Python 處理字串切片時常見的 off-by-one 陷阱。

AI Engineer 面試日練 — 2026-09-11:Coding

今天的 Coding 輪練的是 xAI 一道真實的 dynamic batching for token decoding 題目——在固定容量 B 的 batch 裡動態填補完成的 slot,同時正確處理 stop_token、stop_sequence、max_tokens 三種停止條件,並維持 slot_id 到 request_id 的正確對應。核心概念涵蓋 continuous batching 如何在 GPU 利用率跟延遲之間取捨、NumPy 用 broadcasting 跟 boolean mask 取代顯式迴圈、padding 與 attention mask 怎麼處理不定長輸入,以及 batch inference API 該用 queue depth 而非單純 GPU utilization 來驅動自動擴縮。額外補一個面試設計視角:2026 年的 ML coding 面試越來越少考裸演算法背誦,轉而用真實的生產情境題(像今天這題)測你的工程判斷力。

AI Engineer 面試日練 — 2026-09-04:Coding

ML coding 面試考的不是背 LeetCode 樣板,而是能不能用 NumPy 徒手寫出 building blocks(linear、residual、layer norm、causal self-attention)並且看得懂別人的訓練/推論迴圈在哪裡壞掉。今天聚焦四個概念:coding 面試的真正考點是徒手實作能力而不是背答案;BPE tokenizer 的核心是「頻率統計 → 迭代合併 → 用同樣的合併順序 encode」,順序錯了 encode 就會跟 decode 對不上;batch inference 的吞吐量/延遲取捨要處理不同長度序列的 padding 與浪費運算;NumPy 向量化的判斷依據是「這段迴圈裡有沒有跨元素依賴」。練習題是 Glean 技術篩選常出的題目:實作一個 BPE tokenizer,走一遍從訓練到 encode/decode 的完整思路。

AI Engineer 面試日練 — 2026-08-28:Coding(推論排程與除錯手刻)

2026 年的 ML coding round 不再只考「從零寫出來」,也考「看得懂別人寫壞的程式碼」。今天聚焦五個考點:LLM 推論排程的狀態機設計、debug 既有 ML 程式碼的方法、NumPy shape 陷阱、pandas 時序特徵的資料洩漏防範,以及 AUC-ROC 的從零手刻。練習題取自 Anthropic 近期一份公開流出的 OA 真題:簡化版 GPU 請求排程器。

aideep-dive

BytePlus ModelArk Coding Plan:字節跳動的 AI 編碼訂閱方案

BytePlus ModelArk Coding Plan 提供 Lite($10/月)和 Pro($50/月)兩種訂閱,整合 DeepSeek-V4、GLM-5.2、Seed-2.0 等多模型,支援 Claude Code、Cursor 等主流工具,Lite 月配額約 24,000 次請求,Pro 為其 5 倍。

AI Engineer 面試日練 — 2026-08-21:Coding(ML 手刻實作)

ML coding round 考的不是背 leetcode,而是能不能只用 NumPy 把 attention、k-means 這類 ML 元件從零寫出來,同時講清楚每一步的 shape 和複雜度。今天聚焦五個高頻考點:向量化思維、softmax 數值穩定性、shape 追蹤與複雜度分析、batch inference 的 padding/masking,以及手刻演算法時該怎麼驗證正確性。

Coding 面試攻略:ML-flavored 程式題的準備策略

AI Engineer 的 coding 面試和 SWE 不完全一樣——除了 LeetCode medium,還會出 ML-flavored 的題(實作 tokenizer、寫 batch inference pipeline、處理稀疏矩陣)。準備策略:LeetCode medium 練到 70% 通過率就夠,剩下的時間花在 numpy/pandas 操作、資料處理 pipeline、以及 ML 相關的程式題。