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!