资讯动态

AI岗位面试100题:从语言基础到深度学习的答题框架

发布时间:2026/10/27 14:24:43 来源:尧图企业网站定制
简介《名企AI面试100题》是面向AI、算法与研发求职者及校招备考人群的面试题精编从近4000道题库中筛选常考题目帮助在有限时间内系统梳理高频考点、提升复习与自测效率。整包仅含1个PDF文件约49.22MB内容按计算机语言基础、算法和大数据、机器学习、深度学习、应用方向等章节组织题目顺序与题库页面保持一致便于对照检索。正文覆盖extern C、Java类初始化顺序、死锁构造、ArrayList遍历删除、Linux CPU与进程查看、iptables规则、Python去重与拷贝等典型问题并给出解析与代码示例部分答案经多轮审校。已有251人学习适合需要集中刷题、查漏补缺的初中级求职者。1. 从 4000 道真题里挑出的 100 题AI 岗位面试到底考什么翻开这份 100 题的 AI 面试题清单很多人的第一反应是先跳到机器学习那一章。真正拉开分差的往往是前面那些看起来「不像 AI」的题extern C 为什么要加、ArrayList 能不能在 for 循环里直接删、top 里哪一列才是内存占用。这些计算机语言基础题在 AI 岗位面试里出现频率不低答不上来比答错模型原理更伤——面试官会默认你连工程基本功都没过一遍。手册把近 4000 道真题里最常考的 100 道挑出来按计算机语言基础、算法和大数据、机器学习、深度学习、应用方向五块排好每题带解析章节顺序和题库页面保持一致。适合已经能写模型、但一被追问底层就卡壳的人。拿分的思路很简单先把每个模块的高频考点背成骨架再用真题演练把骨架填上肉。后面几章就按这个顺序展开先讲考什么再讲怎么答。2. 计算机语言基础与算法两类「写得出来」的题怎么答计算机语言基础这一章有 16 道题算法和大数据有 12 道。这两块在 AI 岗位面试里的角色不一样语言基础题考的是「你知不知道」算法题考的是「你能不能写出来」。前者靠背模板后者靠手写熟练度。很多人复习时把这两块混在一起刷结果语言题答得太浅算法题又在边界条件上翻车。拆开练效率会高很多。2.1 extern C 与名称修饰从链接错误往回推C 程序调用 C 编译器编译出来的函数链接阶段报找不到符号十有八九是名称修饰name mangling在作怪。C 编译器把void foo(int, int)编译成_foo这样的符号C 编译器为了支持函数重载会生成_foo_int_int这种带参数类型信息的名字。两边符号对不上链接器自然找不到。extern C的作用就是告诉 C 编译器这段声明按 C 的规则编译和链接不要做名称修饰。标准写法是把它和#ifdef __cplusplus配合保证头文件被 C 和 C 两种编译器包含时都不出错。// C 语言头文件 c_api.h #ifndef C_API_H #define C_API_H #ifdef __cplusplus extern C { #endif int add(int x, int y); #ifdef __cplusplus } #endif #endif这段代码的关键在条件编译__cplusplus是 C 编译器内置的宏C 编译器不认。头文件被 C 包含时extern C { ... }展开里面的add按 C 规则编译被 C 包含时条件不成立直接按普通 C 函数声明处理。add的两个参数都是 int返回值也是 int参数名和类型要跟实现文件完全一致否则运行时对不上。面试里这道题常见的追问是「extern C 只能修饰函数吗」。答案是否定的它也能修饰变量用来告诉编译器这个变量按 C 的链接方式处理。更完整的答法是先说动机——实现 C 与 C 的混合编程再说机制——关掉名称修饰最后补一句「C 语言里没有 extern C 语法所以 C 侧头文件只能用 extern 声明不能直接包含带 extern C 的 C 头文件」。2.2 死锁、ArrayList 循环删除、Java 初始化顺序的答题模板这三道题在语言基础里出现频率最高答法都有固定套路背下来就能用。写死锁的题面试官要看的不是你能不能背出定义而是你能不能把「两个线程、两把锁、相反顺序」这个最小模型写出来。代码不用长但四个条件互斥、持有并等待、不可剥夺、循环等待要能在解释里点出来。public class DeadLockDemo { private static final Object lockA new Object(); private static final Object lockB new Object(); public static void main(String[] args) { // 线程1先拿 lockA睡一会再拿 lockB new Thread(() - { synchronized (lockA) { System.out.println(线程1持有 lockA); try { Thread.sleep(100); } catch (InterruptedException e) { } synchronized (lockB) { System.out.println(线程1持有 lockB); } } }).start(); // 线程2先拿 lockB睡一会再拿 lockA new Thread(() - { synchronized (lockB) { System.out.println(线程2持有 lockB); try { Thread.sleep(100); } catch (InterruptedException e) { } synchronized (lockA) { System.out.println(线程2持有 lockA); } } }).start(); } }两个线程各自先拿一把锁sleep(100)保证对方有时间拿到另一把然后互相等对方手里的锁循环等待成立死锁就出现了。sleep在这里不是必须的但加上之后死锁几乎必现面试时能说清楚「不加 sleep 也可能死锁只是概率低」是加分项。解释的时候顺带说一句「把加锁顺序统一成先 A 后 B 就能破坏循环等待」面试官会认为你不只是会写还知道怎么修。ArrayList 循环删除的题考点是ConcurrentModificationException。用普通 for 循环删元素modCount和迭代器的expectedModCount对不上迭代器就抛异常。正确答法给三种方案用Iterator.remove()、用removeIf()、或者换成CopyOnWriteArrayList。面试官最想听的是第一种和第二种的区别——removeIf底层也是迭代器代码更短CopyOnWriteArrayList是写时复制适合读多写少不适合频繁删除。Java 类初始化顺序的题结论要背成一条链父类静态代码块和静态成员字段按出现顺序只执行一次→ 子类静态代码块和静态成员字段同上→ 父类普通代码块和普通成员字段 → 父类构造函数 → 子类普通代码块和普通成员字段 → 子类构造函数。答的时候先给结论再用「静态先于普通、父类先于子类」一句话收住最后补一句「静态部分只在类加载时执行一次」这三点说全基本不会丢分。2.3 Linux 命令与 Python 手写背命令不如背「为什么」Linux 题看起来零散其实考的是「你平时有没有真的在服务器上干过活」。查看物理 CPU 数量和每颗核数用lscpu输出里CPU(s)是逻辑核总数Core(s) per socket是每颗 CPU 的核数Socket(s)是物理 CPU 颗数。top里%Mem是内存使用率RES是驻留内存大小SHR是共享内存大小这三个别混。查进程用ps aux或ps -ef前者 BSD 风格后者 System V 风格面试时说出区别是加分项。iptables 那道题是写规则不是背概念。来源 IP 为 192.168.1.101、访问本机 80 端口的包直接拒绝规则写成# 在 INPUT 链追加一条规则源地址 192.168.1.101协议 tcp目的端口 80动作 DROP iptables -A INPUT -s 192.168.1.101 -p tcp --dport 80 -j DROP-A INPUT表示追加到 INPUT 链末尾-s指定源地址-p tcp指定协议--dport 80指定目的端口-j DROP表示直接丢弃、不返回任何响应。如果换成-j REJECT对方会收到一个拒绝响应这是 DROP 和 REJECT 的区别面试里主动提一句比只写命令印象深。网卡和硬盘故障排查网卡用ifconfig或ip addr show看接口状态、收发包计数、错误计数硬盘用smartctl -a /dev/sda看 SMART 信息重点看Reallocated_Sector_Ct、Current_Pending_Sector这类指标有没有涨。这题答「用什么命令」只是及格答「看哪个指标、指标涨了说明什么」才是面试官想听的。Python 手写题里去重、lambda、快排、回文、深浅拷贝、遍历目录是高频。去重最简洁的写法是list(set(my_list))但要补一句「set 不保序需要保序就用dict.fromkeys()」。lambda 的答法是「匿名函数适合只在一处用一次的小逻辑不能写语句只能写表达式」。深浅拷贝要能说清楚赋值是引用同一个对象浅拷贝只复制最外层深拷贝递归复制所有层copy.deepcopy处理嵌套列表才不会互相影响。2.4 真题演练三道基础题的完整答法第一道extern C 的作用。答题顺序先说现象C 调用 C 函数链接报错再说原因名称修饰机制不同再说解法extern C 关掉修饰最后补场景混合编程、调用 C 写的动态库。四步说完控制在两分钟内不要一上来就背定义。第二道for 循环删 ArrayList 会出什么问题。答题顺序先给结论抛ConcurrentModificationException再说原因modCount与expectedModCount不一致迭代器检测到并发修改再给三种解法并比较适用场景最后补一句「如果只是删一个元素用remove(int index)不会触发迭代器检查但删多个必须用迭代器或removeIf」。最后这句是区分「背过」和「用过」的地方。第三道判断单链表是否有环。答题顺序先说思路快慢指针慢指针走一步快指针走两步相遇即有环再写代码最后说复杂度时间 O(n)空间 O(1)。如果面试官追问「怎么找环的入口」接着答「相遇后把一个指针放回头节点两个指针同速前进再次相遇的位置就是入口」这个追问在算法章里出现频率很高提前准备好。3. 机器学习七类模型原理与四个工程问题的答题顺序机器学习这一章有 29 道题是五块里题量最大的。表面上题多实际上集中在两类模型原理题和工程问题题。原理题考的是「你能不能把公式背后的直觉讲清楚」工程题考的是「你有没有真的调过模型」。两类题的答法完全不一样混着背会两头不讨好。3.1 模型原理题SVM、GBDT、XGBoost、EM 的答法SVM 的答法分四层。第一层核心目标是在特征空间里找一个间隔最大的超平面让最近的点到平面的距离最大。第二层硬间隔要求完全线性可分软间隔引入松弛变量允许少量点越界用惩罚系数 C 控制容忍度。第三层对偶问题把原问题转成只依赖样本内积的形式这样才能引入核函数。第四层核函数的作用是把低维不可分映射到高维可分常用线性核、多项式核、RBF 核。四层说完面试官基本不会再追问因为该覆盖的都覆盖了。GBDT 的答法要抓住「拟合负梯度」这四个字。每一轮用一棵回归树去拟合当前模型损失函数的负梯度然后把新树的输出加到模型里学习率控制每棵树贡献多少。分类问题用对数损失回归问题用平方损失负梯度的形式不一样但框架是同一个。面试官常追问「GBDT 和 AdaBoost 的区别」答「AdaBoost 调样本权重GBDT 调梯度方向」一句话就能区分开。XGBoost 在 GBDT 基础上做了几件事损失函数做二阶泰勒展开、加正则项控制复杂度、支持列采样、支持并行找分裂点、自带缺失值处理。答的时候按这五点展开每点一句话不要展开成论文。追问「为什么要用泰勒展开」答「二阶信息让每棵树的拟合目标更准收敛更快同时把损失函数抽象成只依赖一阶导和二阶导的形式换损失函数时不用改框架」。EM 算法的答法分两步。E 步用当前参数估计隐变量的后验分布M 步最大化期望对数似然更新参数两步交替直到收敛。面试官想听的是「为什么不能直接最大似然」——因为隐变量观测不到对数里有求和直接求导解不出来EM 是绕开这个问题的迭代法。能说到这一层说明你不是只背了流程。3.2 工程问题过拟合、归一化、特征选择、缺失值过拟合这道题几乎每场必问答法不能停在「加数据、加正则」。完整的答法分四组数据侧增加样本、数据增强、清洗噪声、模型侧降低复杂度、加 L1/L2 正则、Dropout、早停、训练侧交叉验证、学习率衰减、Batch 加大、集成侧Bagging 降方差。面试官追问「L1 和 L2 的区别」答「L1 产生稀疏解、可以做特征选择L2 让权重整体变小、更平滑」再补一句「损失函数等高线和正则项等高线相切的点决定解的位置」这道题就答透了。归一化的问题要分场景。梯度下降类模型对特征尺度敏感归一化之后等高线更接近圆形收敛更快基于距离的模型KNN、K-means、SVM 的 RBF 核必须归一化否则量纲大的特征会主导距离计算树模型不需要归一化因为分裂点只看特征的相对顺序不看绝对大小。这三类分开答比笼统说「归一化让训练更稳」得分高得多。特征选择分三类过滤式方差选择、卡方检验、互信息先选特征再训练、包裹式递归特征消除用模型效果反过来选特征、嵌入式L1 正则、树模型的特征重要性训练过程中完成选择。答的时候每类给一个代表方法再说适用场景——数据量大用过滤式追求效果用包裹式想要平衡用嵌入式。缺失值处理按缺失比例分档缺失少比如低于 5%可以直接删样本或均值/中位数/众数填充缺失中等可以用模型预测填充KNN 填充、回归填充缺失多就把「是否缺失」本身做成一个指示特征让模型自己学。XGBoost 和 LightGBM 自带缺失值处理分裂时把缺失值分到增益更大的一侧这一点要能说出来。3.3 对比题判别式 vs 生成式、RF vs GBDT、分类算法对比判别式模型直接建模 P(y|x) 或学一个决策边界代表是逻辑回归、SVM、神经网络生成式模型建模 P(x,y)再用贝叶斯公式求 P(y|x)代表是朴素贝叶斯、隐马尔可夫、GAN。区别在于判别式通常分类精度更高生成式能处理缺失数据、收敛更快、可以生成新样本。答的时候不要只列名字要落到「什么场景选哪个」。随机森林和 GBDT 的对比核心是 Bagging 和 Boosting 的区别。随机森林并行训练多棵树每棵树用自助采样最后投票或平均主要降方差GBDT 串行训练每棵树拟合前面模型的残差或负梯度主要降偏差。面试官追问「哪个更容易过拟合」答「GBDT 更容易因为它不断拟合残差需要学习率和树数量来控制随机森林树越多越稳但收益会递减」。常见分类算法的对比可以整理成一张表面试时按「模型假设、优缺点、适用场景」三列说。算法核心假设优点局限逻辑回归特征与对数几率线性相关可解释强、训练快拟合非线性能力弱SVM间隔最大化小样本表现好、核函数灵活大样本训练慢、调参敏感决策树特征空间递归划分可解释、不用归一化单棵树容易过拟合随机森林多棵树的 Bagging稳、抗过拟合模型大、解释性下降GBDT/XGBoost串行拟合负梯度精度高、能处理缺失值调参复杂、训练慢朴素贝叶斯特征条件独立极快、小样本可用独立性假设常不成立KNN相似样本标签相似无需训练、直观预测慢、对尺度敏感这张表不用全背记住每个算法的「一句话定位」和「一个典型局限」面试时按题目挑着说。3.4 真题演练两道机器学习题的完整答法第一道过拟合怎么解决。答题顺序先定义训练集表现好、测试集表现差泛化能力不足再给四组手段数据、模型、训练、集成每组挑一个最常用的展开最后补一句「要先判断是真过拟合还是数据分布不一致后者加正则没用」。最后这句是分水岭能说出来说明你踩过坑。第二道XGBoost 为什么要用泰勒展开。答题顺序先说 GBDT 只用一阶导负梯度XGBoost 用二阶导拟合目标更精确再说二阶展开后损失函数变成只依赖一阶导和二阶导的二次型求最优叶子权重有闭式解最后说工程价值——换损失函数时不用重新推导只要提供一阶导和二阶导即可。三步说完再补一句「二阶信息也让模型对学习率不那么敏感」这道题就答满了。4. 深度学习与应用方向CNN、RNN、目标检测、推荐的分层答法深度学习 15 题应用方向 28 题加起来 43 题占手册将近一半。这两块的特点是「题面简单、追问深」。面试官问「ReLU 为什么比 sigmoid 好」你答「缓解梯度消失」只能算及格追问「为什么能缓解」「有没有副作用」才是拉开差距的地方。复习时按「基础 → 结构 → 任务」三层准备每层准备两三个能展开的点。4.1 深度学习基础激活函数、BN、梯度消失、调参ReLU 比 sigmoid 和 tanh 好的原因有三条正区间导数恒为 1缓解梯度消失计算简单只有比较和乘法稀疏激活负区间输出 0减少参数耦合。副作用是「神经元死亡」——学习率太大会让一部分神经元永久输出 0所以现在常用 Leaky ReLU、ELU 或 GELU 兜底。能主动提副作用面试官会认为你读过论文也调过模型。BN 的答法分训练和推理两段。训练时对每个 mini-batch 做归一化再乘可学习的缩放和平移参数推理时用训练阶段累计的滑动均值和方差不再依赖当前 batch。追问「BN 为什么能加速训练」答「把每层输入拉回稳定分布减少内部协变量偏移允许更大的学习率」。再追问「BN 和 LayerNorm 的区别」答「BN 在 batch 维度归一化依赖 batch 大小适合 CVLN 在特征维度归一化不依赖 batch适合 NLP 和序列模型」。梯度消失和梯度爆炸的题答法按「现象 → 原因 → 解法」走。现象是深层层梯度接近 0 或爆炸成 NaN原因是链式法则连乘sigmoid 导数最大 0.25多层连乘就趋近 0解法分五类——换激活函数ReLU 系列、加 BN、用残差连接、梯度截断、换初始化Xavier、He。每类一句话不要只答「用 ReLU」。调参效果不好时从哪些角度思考这题考的是工程经验。答法分四组数据侧标签质量、分布偏移、样本不均衡、模型侧容量够不够、结构合不合适、训练侧学习率、batch size、优化器、正则强度、评估侧指标选错、验证集泄漏。每组给一个具体检查动作比如「先看训练 loss 能不能降下去降不下去是欠拟合降下去但验证不降是过拟合」这样答比列清单有说服力。4.2 目标检测与 CVIOU、NMS、anchor、one-stage vs two-stageIOU 是目标检测的地基面试里经常让手写。定义是交集面积除以并集面积代码不长但边界要处理干净。def iou(box_a, box_b): # box 格式[x1, y1, x2, y2]左上角和右下角坐标 xa1, ya1, xa2, ya2 box_a xb1, yb1, xb2, yb2 box_b # 交集矩形的左上角和右下角 inter_x1 max(xa1, xb1) inter_y1 max(ya1, yb1) inter_x2 min(xa2, xb2) inter_y2 min(ya2, yb2) # 宽高小于 0 说明不相交用 max(0, ...) 截断 inter_w max(0, inter_x2 - inter_x1) inter_h max(0, inter_y2 - inter_y1) inter_area inter_w * inter_h area_a (xa2 - xa1) * (ya2 - ya1) area_b (xb2 - xb1) * (yb2 - yb1) union area_a area_b - inter_area # 防止除零 return inter_area / union if union 0 else 0.0关键在两处交集宽高用max(0, ...)截断避免两个框不相交时出现负面积并集用两个面积相加减去交集避免重复计算。这两处是手写时最容易漏的面试官看的就是你会不会漏。NMS 的答法分四步按置信度排序、取最高分的框、计算它和剩下框的 IOU、超过阈值的抑制掉重复直到处理完。追问「NMS 有什么缺点」答「两个真实目标靠得很近时其中一个会被误抑制所以有 Soft-NMS 和 IoU-aware NMS 这类改进」。anchor 的作用是给检测头提供不同尺度、不同长宽比的先验框让网络在特征图上预测「相对 anchor 的偏移量」而不是直接回归绝对坐标训练更稳。one-stage 和 two-stage 的对比按「精度、速度、代表方法」三列说two-stage 先出候选区域再分类回归精度高但慢代表是 Faster R-CNN 系列one-stage 直接在特征图上密集预测速度快但小目标精度弱代表是 YOLO、SSD、RetinaNet。RetinaNet 用 Focal Loss 解决正负样本不均衡这一点主动提出来是加分项。4.3 推荐与 NLP协同过滤、冷启动、TF-IDF、Transformer协同过滤分 UserCF 和 ItemCF。UserCF 找相似用户推荐相似用户喜欢的物品适合用户数少、物品更新快的场景ItemCF 找相似物品推荐用户历史喜欢的相似物品适合物品数相对稳定、用户兴趣变化慢的场景。面试官追问「冷启动怎么办」答法分三种利用注册信息做粗粒度召回、利用物品内容特征做内容召回、用探索利用Exploitation Exploration策略先给新用户推热门或多样性内容收集反馈后再个性化。推荐系统的评价标准分线上和线下。线下常用 AUC、GAUC、RecallK、NDCGK、MAP线上看点击率、转化率、停留时长、GMV。答的时候要说清楚「线下指标涨了线上不一定涨」因为线下评估和线上分布不一致这是推荐岗面试的常见追问。TF-IDF 的答法是「词频乘以逆文档频率」TF 衡量词在当前文档里出现多频繁IDF 衡量词在整个语料里有多稀有两者相乘既惩罚高频停用词又突出文档特有的词。追问「TF-IDF 和 BM25 的区别」答「BM25 对 TF 做了饱和处理词频再高收益也有限同时考虑了文档长度归一化」一句话就能区分开。Transformer 的答法抓住「自注意力」三个字。每个 token 通过 Q、K、V 三个矩阵投影用 Q 和 K 的点积算注意力权重再对 V 加权求和。多头注意力是并行做多组捕捉不同子空间的关系。位置编码补上序列顺序信息因为自注意力本身对位置不敏感。追问「Transformer 和 RNN 的区别」答「RNN 串行、长距离依赖衰减Transformer 并行、任意两位置直接交互但计算量随序列长度平方增长」。4.4 真题演练两道应用方向题的完整答法第一道one-stage 和 two-stage 的区别和优缺点。答题顺序先说流程差异two-stage 有候选区域生成one-stage 没有再说精度和速度的取舍再说代表方法和适用场景最后补一句「one-stage 在小目标上偏弱常用 FPN 多尺度特征和 Focal Loss 来补」。四步说完控制在三分钟内。第二道推荐系统冷启动怎么解决。答题顺序先分冷启动类型用户冷启动、物品冷启动、系统冷启动再给每类的解法用户侧用注册信息和探索策略物品侧用内容特征和类目召回系统侧用热门兜底和快速实验最后说评估方式用 A/B 测试看新用户留存和转化不要只看点击率。分类作答比笼统说「用内容特征」更有层次。5. 易错点五类一答就露怯的题错在哪、怎么改有些题不是不会是答的方式不对。面试官听完你的回答心里已经给你贴了标签后面再想翻盘就很难。下面五类是最常见的失分点每类按「错在哪 → 为什么错 → 怎么答对」拆开说对照自己的答题习惯改。5.1 原理题里的三个经典翻车点第一类SVM 只会说「最大间隔」。错在只背了结论没答出对偶和核函数这两层。为什么错——面试官问 SVM 不是想听定义是想看你知不知道它怎么从线性不可分走到非线性可分。怎么答对按「最大间隔 → 软间隔 → 对偶 → 核函数」四层说每层一句话重点落在「对偶形式只依赖样本内积所以能引入核函数」这个因果链上。第二类XGBoost 和 GBDT 混着答。错在把两者的改进点说反比如把「二阶泰勒展开」说成 GBDT 的特性。为什么错——这两个模型在面试里经常连着问答混了会让面试官怀疑你只是背了八股。怎么答对先给共同点都是 Boosting、都串行拟合残差或梯度再给 XGBoost 的五个改进点二阶展开、正则项、列采样、并行分裂、缺失值处理最后补一句「GBDT 是一阶框架XGBoost 是它的工程化升级」。第三类BN 只答「加速训练」。错在没说清楚训练和推理的差异。为什么错——BN 最容易被追问的就是「推理时均值和方差从哪来」只答加速训练等于把追问的路留给面试官。怎么答对先给训练流程mini-batch 归一化 缩放平移再给推理流程用滑动统计量最后说「训练和推理行为不一致是 BN 的固有特点所以推理前要切 eval 模式」。5.2 工程题与手写题的两个高频失分点第四类过拟合回答成「加数据、加正则」六个字。错在答得太薄面试官会接着问「还有呢」你接不上就冷场。为什么错——过拟合是开放性题考的是知识面宽度不是标准答案。怎么答对按「数据、模型、训练、集成」四组展开每组给一个具体手段最后补一句「先判断是真过拟合还是分布不一致」。四组说完面试官基本不会再追问。第五类手写题不写边界条件。错在代码只处理正常输入空数组、单元素、全负数这些 case 直接跳过。为什么错——面试官看手写题第一看思路第二看边界边界漏了说明平时写代码不严谨。怎么答对写完主逻辑后主动说「我再检查一下边界」然后逐个说空输入、单元素、全负数、重复元素分别返回什么。这个动作本身比代码写得多漂亮更加分。6. 答题技巧把一道题拆成「定义—原理—场景」三步面试现场最容易犯的错是想到哪说到哪。明明知道答案说出来却像一团乱麻面试官抓不住重点你自己也越说越虚。我的习惯是把每道题都拆成三步先给定义再说原理最后落到场景。三步走完两分钟内一定收得住。第一步定义要短。一句话说清楚这个东西是什么不要超过两行。比如问「什么是 AUC」答「AUC 是 ROC 曲线下的面积衡量模型把正样本排在负样本前面的能力」一句话结束不要展开。第二步原理要有一条因果链。还是 AUC接着答「随机抽一个正样本和一个负样本模型给正样本打分更高的概率就是 AUC 值」把定义翻译成一个可操作的实验面试官立刻能听懂。因果链的关键是「因为……所以……」不是罗列知识点。第三步场景要具体。继续 AUC最后答「AUC 对正负样本比例不敏感所以样本不均衡时比准确率更可靠但它只看排序不看概率校准所以风控场景还要看 KS 和 PSI」。落到场景面试官就知道你不是背的。这三步可以套到几乎每道题上。模型原理题套「定义—推导—适用场景」工程题套「问题—原因—解法」手写题套「思路—代码—复杂度」。套熟之后答题节奏会稳很多。下面这张表是我自己复习时用的把五类题的答题骨架列在一起面试前扫一眼就能回忆起来。题型第一步第二步第三步时间控制概念题一句话定义一条因果链一个适用场景1 分钟模型原理题目标函数求解思路优缺点与场景2 分钟工程题问题现象根因分析两到三个解法2 分钟手写题思路口述写主逻辑补边界与复杂度5 到 8 分钟对比题共同点核心差异选型建议2 分钟这套骨架不是万能的遇到没准备过的题至少能保证你有话可说、说得有条理。从那以后我每次进面试间之前都会把这张表在脑子里过一遍提醒自己「先定义、再因果、后场景」语速自然就慢下来了面试官的表情也会从皱眉变成点头。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑