Nvidia MLE OA 今年依然在 Karat 平臺進行,90 分鐘 3 道題,時間非常緊張,但題目型別比較固定(影象處理 + ML 基礎實現)。我先做自己最擅長的影象題,後面兩道也比較順利地完成了。下面把平臺資訊、3 道最新真題、詳細解題思路和 Python 參考程式碼完整分享給大家。

Nvidia OA 整體情況
- 平臺:Karat
- 時長:90 分鐘
- 題量:3 道題(1 道 Python 程式設計 + 1 道機器學習建模 + 1 道 AI 協作題)
- 難度:Medium 為主,時間非常緊張
- 建議:先做自己最擅長的題,不要在一道題上死磕。提交後 1-2 周出結果,透過後進入技術面。
Nvidia MLE OA 偏重影象處理 + ML 基礎實現,對程式碼能力和數值穩定性的要求較高。
題目 1:影象中心裁剪(Center Crop)
題目描述
實現一個函式,對二維整數列表表示的灰度影象進行中心裁剪。
- 輸入:image(形狀為 [H, W] 的二維列表)、crop_height、crop_width
- 輸出:裁剪後的影象,形狀為 [crop_height, crop_width]
- 保證:crop_height 與 image 高度差為偶數,crop_width 與 image 寬度差為偶數,且裁剪尺寸不超過原圖尺寸。
解題思路
- 計算需要在上下 / 左右各裁剪多少畫素:
- 上下裁剪量:(原圖高度 – 裁剪高度) // 2
- 左右裁剪量:(原圖寬度 – 裁剪寬度) // 2
- 按行、按列取出中心區域的畫素即可。
參考程式碼(Python):
def solution(image: list[list[int]], crop_height: int, crop_width: int) -> list[list[int]]:
h = len(image)
w = len(image[0]) if h > 0 else 0
start_row = (h – crop_height) // 2
end_row = start_row + crop_height
start_col = (w – crop_width) // 2
end_col = start_col + crop_width
cropped = []
for row in image[start_row:end_row]:
cropped.append(row[start_col:end_col])
return cropped
題目 2:影象順時針旋轉 90 度
題目描述
實現一個函式,將二維整數列表表示的灰度影象順時針旋轉 90 度。
- 輸入:image(形狀為 [H, W] 的二維列表)
- 輸出:旋轉後的影象,形狀為 [W, H]
- 限制:不能使用 np.rot90(),純 Python 或 numpy 均可。
解題思路(純 Python 實現)
順時針旋轉 90 度的本質是:
- 先將原矩陣轉置(行列互換)
- 再將轉置後的每一行反轉(左右翻轉)
參考程式碼:
def solution(image: list[list[int]]) -> list[list[int]]:
if not image or not image[0]:
return []
h = len(image)
w = len(image[0])
rotated = []
for col in range(w):
new_row = [image[h – 1 – row][col] for row in range(h)]
rotated.append(new_row)
return rotated
題目 3:Softmax 函式實現
題目描述
實現 Softmax 函式,輸入為 logits 列表,輸出為歸一化後的機率列表。
- 公式:σ(z)i = e^zi / Σ e^zj
- 限制:不能使用 torch 或 numpy;直接按公式實現可能會有數值溢位問題,需要最佳化。
解題思路(數值穩定版)
為了避免指數運算導致的數值溢位,採用減去最大值的最佳化方式:
σ(z)i = e^(zi – max(z)) / Σ e^(zj – max(z))
參考程式碼:
import math
def solution(z: list[float]) -> list[float]:
if not z:
return []
max_z = max(z)
exps = [math.exp(x – max_z) for x in z]
sum_exps = sum(exps)
softmax = [exp / sum_exps for exp in exps]
return softmax
備戰建議(26NG MLE 專屬)
- 時間管理:90 分鐘 3 道題非常緊張,建議先做自己最擅長的題(我先做了影象處理題)。
- 影象處理:Nvidia MLE OA 經常考中心裁剪、旋轉、歸一化等基礎操作,提前熟悉二維列表操作。
- 數值穩定:Softmax 這類 ML 基礎函式一定要掌握減 max 的最佳化技巧。
- AI 協作題:可能涉及 prompt engineering 或簡單多 Agent 協作,提前瞭解常見協作模式。
推薦閱讀
LeetCode 相關題目:
48. Rotate Image
1302. Deepest Leaves Sum
更多 Nvidia MLE / 26NG 的 OA 和 VO 最新真題、解題思路和模擬練習,可以參考 Programhelp 上的 Nvidia 系列面經文章。他們整理了大量一手資料和 VO實戰輔導 分享,非常值得一看。
祝大家早日透過 OA,拿到 Nvidia Offer!