ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

2025京东算法AI岗面试高频考点全解析:从基础到实战

2025京东算法AI岗面试高频考点全解析:从基础到实战 这两年AI岗位的热度一点没降尤其是大模型相关的方向几乎把整个算法岗的面试节奏都带快了。2025年开春我陆续帮团队做了几十场技术面试也跟不少从京东面出来、或者刚入职的朋友聊过一个很直观的感受是面试题的问法变了深度变了光靠刷题已经不顶用了。网上能搜到的“京东算法/AI岗面试题”大多是零零散散的回忆版没有体系也没有人讲清楚“为什么这么考”。这篇文章我就从面试官和候选人的双重视角把2025年京东算法/AI岗的高频考点拆开揉碎讲清楚每类题背后的真实考察意图以及你怎么准备才不白费功夫。这篇文章适合正在准备大厂算法岗校招或社招的朋友也适合那些想系统梳理自己算法功底的工程师。文章里不会只列题目我会把每一类高频题的原理、推导过程、面试追问方向还有我自己在面试中看到的典型翻车现场都写出来。你可以把这篇文章当成一份备考地图按照章节往下看就行。1. 2025年京东算法岗面试到底在考什么1.1 我对京东算法岗面试的整体印象京东的算法岗分布很广搜索、推荐、广告、供应链、运筹优化、CV、NLP、大模型这些方向都有。不同部门的面试风格其实差别挺大但如果非要提炼一个共同点那就是**“基础不牢地动山摇”**。相比某些公司上来就聊项目聊得天花乱坠京东的面试官普遍更愿意在数据结构、经典算法、机器学习理论上深挖。这不是说项目不重要而是他们默认“项目可以包装但基础题做不了假”。从我观察到的面试流程来看京东算法岗一般是3到4轮技术面加一轮HR面。校招的第一轮基本是算法题加基础知识问答第二轮开始才侧重项目和场景设计第三轮往往是交叉面或者部门负责人面更多聊方案选型和业务理解。社招的话第一轮就会直接切入项目和系统设计算法题更像是“开胃菜”但别小看这道开胃菜很多候选人就是挂在第一轮的。1.2 2025年面试风向的三大变化和两三年前相比2025年的面试题有几个明显变化。第一个变化大模型相关内容从“加分项”变成了“必考题”。以前问Transformer还只是问个 attention 公式现在会追问位置编码的细节、RoPE和ALiBi的区别、LoRA为什么有效、RAG的召回链路怎么设计。面试官默认你对大模型有基本认知哪怕你简历上写的是传统CV方向也得能说出个一二三。第二个变化代码题不再只是“写出答案”而是要讲清楚“为什么”。我面试的时候最喜欢干的一件事就是候选人写完代码之后让他讲一下时间复杂度的推导过程或者问“这个写法在极端输入下会出什么问题”。很多候选人能写出二分查找但一问到int mid (left right) / 2在什么情况下会溢出就卡住了。这种细节才是区分度所在。第三个变化场景题和项目的结合更紧密了。京东的业务场景太丰富了搜索排序、供应链库存优化、物流路径规划、营销转化率预估每个场景背后都有对应的算法问题。面试官会把题目包装在一个具体业务背景里让你设计解决方案。这一块没有标准答案但很考验你对算法落地边界的理解。提示准备京东算法岗面试不要抱侥幸心理。那些“背个八股就能过”的时代早就过去了面试官问的每一道题背后都在考察你的逻辑思维、数学功底和工程判断力。2. 数据结构与基础算法高频必刷题拆解2.1 KMP算法next数组的两种求法别再背模板了KMP是面试题里出现频率高到离谱的题目。我在面试候选人的时候十个人里有八个能说出“KMP是用来做字符串匹配的”“时间复杂度是O(mn)”但真让他手写一个next数组再拿模式串p abacaba现场算一遍挂掉的比例非常高。先说清楚next数组的定义。KMP的核心思想是当匹配失败时不要从头开始而是利用已经匹配的部分信息把模式串向右滑动尽可能远的距离。这个“部分匹配信息”就存在next数组里。next[j]的经典定义是模式串中p[0...j]这个子串的最长相等前后缀的长度有些资料定义是减一后的偏移值这里统一用“长度”定义。拿p abacaba来算。先看每个子串p[0] a前后缀为空next[0] 0p[0..1] ab前缀a后缀b不相等next[1] 0p[0..2] aba前缀a、后缀a相等最长长度是1next[2] 1p[0..3] abac前缀和后缀的最长相等长度是0next[3] 0p[0..4] abaca最长相等等于1前缀a、后缀anext[4] 1p[0..5] abacab这里注意前缀ab和后缀ab相等长度是2next[5] 2p[0..6] abacaba最长的相等前后缀是aba长度3next[6] 3所以这个模式串的next数组就是[0, 0, 1, 0, 1, 2, 3]。如果面试官把next数组定义为“失配时j应该跳到哪”那一般会让next[0] -1然后整体往右平移这时候结果就变成了[-1, 0, 0, 1, 0, 1, 2]。两种定义本身没对错但写代码之前一定要跟面试官确认清楚不然很容易被扣分。再说一个容易被追问的点nextval优化。当p[j] p[next[j]]时如果失配发生在j跳到next[j]后依然会失配所以可以用nextval[j] nextval[next[j]]进行递归优化。这个优化在笔试里不一定会考但面试官很容易拿出来问“KMP还可以怎么优化”如果你能说出来印象分会高不少。手写KMP的核心代码可以这么写vectorint getNext(const string p) { int m p.size(); vectorint next(m, 0); for (int i 1, len 0; i m; ) { if (p[i] p[len]) { next[i] len; } else { if (len 0) len next[len - 1]; else next[i] 0; } } return next; }这个写法的时间复杂度是O(m)关键在于使用了一个“回溯指针len”它记录的是当前已匹配的前后缀长度。匹配阶段的代码类似用两个指针分别遍历文本串和模式串失配时把模式串指针跳到next数组对应位置。注意面试中手写KMP不要照搬模板最好边写边把注释写清楚比如失配时跳转的依据。这是面试官判断你“真会”还是“背模板”的重要依据。2.2 排序算法从快排到堆排面试官真正想听到什么排序算法是算法岗面试的“保留项目”几乎没有人能躲过去。但2025年的面试不再满足于“背个时间复杂度表”而是要求你现场推导、手写、并且能回答边界情况。我梳理了一下京东算法岗面试里出现频率最高的排序题题目高频追问点考察意图快排为什么最坏是O(n²)怎么避免partition怎么优化是否理解递归树退化堆排建堆的时间复杂度为什么是O(n)为什么不稳定是否理解堆调整的本质归并排序空间复杂度求逆序对的变体怎么写分治思想是否有深度桶排序/计数排序适用场景数据分布有要求吗是否懂得“因场景选算法”以快排为例我面试时最爱问的一个问题是“快排在最坏情况下是什么时候”大多数候选人都能答“当数组已经有序的时候”。但如果我继续问“那为什么有序时会退化随机选pivot能不能彻底解决问题”能答好的人就少了一半。实际上随机选pivot只能从概率上避免最坏情况不能从理论上根除。真正根除最坏情况的办法是使用三数取中法或者BFPRT算法但BFPRT因为常数太大工程上反而很少用。堆排序是我觉得面试里问得最“刁钻”的排序算法。建堆过程为什么是O(n)而不是O(n log n)这个推导很多候选人答不上来。实际上堆排序的建堆是从最后一个非叶子节点开始向下调整的每一层节点的调整代价与该层节点高度成正比。总代价可以写成求和公式经过等比数列求和之后收敛于O(n)。如果把这个推导过程写在白板上会很加分。手写堆排的核心是siftDown调整函数void siftDown(int[] arr, int n, int i) { while (true) { int maxPos i; int left 2 * i 1; int right 2 * i 2; if (left n arr[left] arr[maxPos]) maxPos left; if (right n arr[right] arr[maxPos]) maxPos right; if (maxPos i) break; swap(arr, i, maxPos); i maxPos; } }另一道高频变体题是“求数组第K大元素”。这个题既可以借助快排的partition做到平均O(n)也可以借助大小为K的小根堆做到O(n log K)。面试官会继续追问“如果K远小于n选哪个如果数据会动态增删呢”动态场景就得用堆了因为partition没法增量维护。2.3 贪心与动态规划高频题型的判断方法与思考框架贪心和动态规划是算法岗笔试和面试中占比最大的题型没有之一。京东的面试题库里这两类题基本保持在40%以上的权重。但很多候选人准备的时候喜欢“刷题战术”刷了很多题真到面试遇到新题还是无从下手。我分享一下我自己带人准备时的一套判断框架。什么样的问题适合用贪心一句话回答局部最优能推导出全局最优时才能用贪心。经典的区间调度问题选最多的不重叠区间就可以用贪心因为按结束时间排序后选最早结束的区间永远不亏这个性质叫做“贪心选择性质”。动态规划呢动态规划适合两类问题最优子结构问题和计数类问题。核心就两件事定义状态、写状态转移方程。我见过太多候选人卡在“状态定义”这一步。一个实用的技巧是先不考虑优化暴力枚举所有可能然后从中抽象出“在某个阶段、某个状态下的最优值/方案数”。这个抽象过程就是状态定义。状态定义一旦清楚转移方程就是顺理成章的事。下面整理几个京东面试中出现频率很高的DP题最长递增子序列O(n²)的DP大家都会写但面试官会追问“能不能优化到O(n log n)”。这个问题考的是“贪心二分”的融合需要一个额外的数组d[i]保存长度为i的递增子序列的最小末尾值。编辑距离经典的二维DP状态定义是dp[i][j]表示字符串a的前i个字符转换成字符串b的前j个字符所需的最小操作数。这个题面试官经常会给一个实际场景比如“搜索纠错中用户输错了一个单词怎么判断和哪个候选词最接近”。背包问题变体0-1背包、完全背包、多重背包京东供应链方向的岗位特别喜欢考背包的变体。比如“仓库里有若干种商品每种有体积和利润货车容量有限怎么装货利润最大”。实操心得我建议候选人不要只刷题试着把每一道DP题的状态定义和转移方程写在纸上然后自己口头推导一遍。面试的时候你能不能用30秒把状态定义讲清楚很大程度上决定了面试官对你的评价。3. 机器学习与经典算法理论功底决定上限3.1 手推逻辑回归与SVM公式推导背后考察的逻辑机器学习基础是算法岗面试的“基本盘”尤其是逻辑回归和SVM这两个算法几乎每轮面试都会被问到。京东的面试官很少直接让你背公式而是会从一个场景切入然后一步步往下追问。逻辑回归是面试官最喜欢的“第一问”因为它足够基础但又能往外延伸出很多知识点。常见的提问路径是这样的“逻辑回归的损失函数是什么”多数人能答出交叉熵。“为什么不能用均方误差MSE当损失函数”这个问题就开始区分人了。正确答案是因为逻辑回归是sigmoid函数加线性组合如果使用MSE损失函数关于参数是非凸的梯度下降很容易陷入局部最优而交叉熵在这种结构下是凸函数有全局最优解。“手推一下梯度表达式。”这时候你能不能在五分钟内把sigmoid求导、损失函数对w求梯度写清楚就成了过关的关键。SVM的追问就更加硬核了。常见的提问包括“什么是支持向量”“为什么要引入拉格朗日对偶”“KKT条件是什么”“核函数的作用是什么”如果你在简历里写了“熟悉SVM”那面试官很可能让你现场手推一遍线性SVM的对偶形式。这个过程并不复杂但需要记清楚每个符号的含义以及为什么要用对偶原始问题min 1/2 ||w||²约束是y_i(w·x_i b) 1拉格朗日函数引入乘子α_i 0对w和b求偏导令其为0代回原式得到对偶形式max Σα_i - 1/2 ΣΣ α_i α_j y_i y_j x_i · x_j对偶形式的价值在于优化目标里只出现样本的内积x_i · x_j这为后面的核技巧铺平了道路——把内积替换成核函数K(x_i, x_j)就能隐式地把样本映射到高维空间。注意手推公式的时候不要只顾着写要一边写一边解释每一步的含义。面试官愿意看到的是“有逻辑的推理”而不是“背下来的默写”。3.2 集成学习GBDT与XGBoost的高频追问在2025年虽然大模型很热但传统机器学习算法在实际业务中依然是中流砥柱。京东的搜索排序、广告CTR预估、营销响应用户预测这些场景大量线上模型仍然以GBDT、XGBoost、LightGBM为主。所以集成学习的考点绝对绕不开。先分清两个基础概念Bagging和Boosting。Bagging的思路是“并行训练多个弱学习器投票或平均”代表是随机森林核心价值是降低方差。Boosting的思路是“串行训练每个学习器重点关注前面做错的样本”代表是AdaBoost和GBDT核心价值是降低偏差。面试官问得最多的是GBDT和XGBoost的区别。这个问题的标准答案一般有这几层损失函数GBDT只支持一阶导数信息XGBoost使用了二阶泰勒展开能更快地逼近真实损失。正则项XGBoost在目标函数中显式加入了叶子节点数量和叶子权重的L2正则GBDT没有。列抽样XGBoost支持按特征列进行随机抽样这个技术借鉴了随机森林能降低过拟合也加快了训练速度。缺失值处理XGBoost能自动学习缺失值的方向把它分到增益更大的那个子节点。并行化XGBoost在特征粒度上支持并行按特征预先排序并以块格式存储训练速度更快。如果再往深了问“XGBoost的分裂增益公式是怎么推导出来的”你就得能写出来Gain 1/2 * [ (G_L² / (H_L λ)) (G_R² / (H_R λ)) - ((G_L G_R)² / (H_L H_R λ)) ] - γ这个公式看着复杂其实直觉很清晰分裂后的增益等于左子树增益加右子树增益减去分裂前整体的增益再减去分裂带来的复杂度惩罚γ。如果Gain小于0就不分裂。这个公式要能当场解释每个符号的含义尤其要能说清楚λ和γ的作用。3.3 优化算法从梯度下降到模拟退火、粒子群机器学习模型的训练离不开优化算法。这一块面试官常问的是梯度下降的变体比如SGD、Momentum、RMSProp、Adam的区别。但如果你的岗位方向是供应链调度、路径优化或者运筹优化那面试官会大概率追问一些更传统的优化算法模拟退火、粒子群、遗传算法等。我在热搜词里看到“粒子群算法原理”出现的频率很高这里展开讲一下。粒子群算法PSO模拟的是鸟群觅食行为每个解是搜索空间里的一个“粒子”粒子有两个属性位置和速度。每次迭代时粒子根据两个“最优位置”来更新速度个体最优pBest当前粒子自己历史上最好的位置。全局最优gBest整个种群历史上最好的位置。速度更新公式是v w * v c1 * r1 * (pBest - x) c2 * r2 * (gBest - x) x x v其中w是惯性权重代表粒子保持原有速度的倾向c1和c2是学习因子分别控制“向自己学”和“向群体学”的强度r1和r2是[0,1]的随机数。面试官如果考PSO大概率会问“w和c1、c2怎么调”我一般会答w大一点能增强全局搜索能力w小一点能增强局部搜索能力所以工业界常用线性递减的w让算法前期多探索、后期多收敛。模拟退火SA的原理则是借鉴金属退火过程在高温时系统能接受较差的解随着温度降低接受差解的概率逐渐减小。SA最核心的概念是Metropolis准则如果新解比当前解好一定接受如果新解更差以概率exp(-ΔE / T)接受。这个“以一定概率接受坏解”的机制是避免陷入局部最优的关键。面试官喜欢把这两个算法对比着问维度模拟退火(SA)粒子群(PSO)求解机制单点搜索靠概率接受差解跳出局部最优群体搜索靠粒子交互共享信息参数敏感度主要调初始温度、降温速率主要调w、c1、c2、种群规模适用场景解空间较小、对解质量要求高连续优化问题、工程参数寻优并行性天然串行难以并行群体之间可并行评估如果你面的是京东物流或供应链相关岗位建议把粒子群、模拟退火、遗传算法都准备一遍并且想好“在什么业务场景下你会用启发式算法”。比如车辆路径规划VRP问题精确解算法在规模大了之后根本算不动这时候用遗传算法加局部搜索就能在可接受时间内给出一个不错的解。4. 深度学习与大模型2025年避不开的考点4.1 Transformer八股这几问几乎每场必考2025年了如果面试一个AI岗候选人不问Transformer几乎是不可能的。但Transformer能问的问题太多了我总结几个高频中的高频第一问注意力机制为什么要除以根号dk这个问题的标准答案是当维度dk较大时Q和K的点积数值会变得很大导致softmax进入梯度极小的饱和区。除以根号dk是为了把点积的方差拉回到1左右让softmax的梯度保持在一个合理的范围。如果面试官继续追问“为什么方差是dk”你还要能解释假设Q和K的每个元素都是均值为0、方差为1的独立随机变量那么它们的点积的方差是dk标准差是根号dk。第二问位置编码为什么用sinusoidal为什么不用可学习的位置编码这个问题的层次很丰富。最初Transformer论文用sinusoidal的原因之一是它可以泛化到比训练时更长的序列长度因为公式是固定的不依赖训练样本。它可以被表示成相对位置的线性函数这意味着模型能通过绝对位置编码间接学到相对位置关系。但后来的实践发现可学习位置编码在大多数任务上效果也差不多所以现在GPT系列用的是可学习的。RoPE和ALiBi是2025年面试更爱追问的后起之秀RoPE的核心思想是通过旋转矩阵把相对位置信息编码到Q和K里ALiBi则是直接在attention分数上加上一个与距离成正比的线性偏置。第三问LayerNorm和BatchNorm的区别为什么Transformer用LayerNorm简单来说BatchNorm是在batch维度上做归一化对batch大小敏感而且在不同样本之间引入了依赖LayerNorm是在每个样本的隐层维度上做归一化与batch大小无关。Transformer用LayerNorm的核心原因之一是NLP任务里序列长度和batch大小经常变化LayerNorm更稳定。还有一个原因是LayerNorm不依赖batch内其他样本的统计量在推理时也不需要维护全局均值方差。第四问多头注意力为什么需要多头多头的本质是让模型并行关注不同位置的不同表征子空间。单头注意力只能关注一种特征空间多头相当于把特征空间切成多个子空间每个头学习不同的注意力模式。面试官如果追问“所有头学到的模式一样怎么办”你可以说实践中确实存在冗余所以有些研究做“剪头”减少不重要的头来加速推理。4.2 大模型微调与RAG实用场景下的面试追问2025年的大模型面试已经过了“只会喊Prompt Engineering就够”的阶段。面试官更多考察的是你在真实业务场景里怎么把大模型用起来用得好用得便宜。LoRA为什么有效这是微调部分最常问的问题。LoRA的核心洞察是预训练模型在微调过程中权重更新的本质是低秩的。既然权重矩阵W的增量ΔW是低秩的那就没必要直接更新整个W而可以把ΔW分解成两个小矩阵A和B的乘积ΔW BA其中A的维度是r×kB的维度是d×r秩r远小于d和k。训练时冻结W只学习A和B。这样做的好处是显存占用大幅下降不同任务可以共享同一个预训练底座只需要存一个小而轻的LoRA权重。面试官会追问“LoRA的秩r应该设多大”这个问题没有标准答案一般经验是8到64之间。秩太小表达能力不够秩太大又失去了低秩微调的意义。有些实践甚至发现r8时在大多数任务上已经足够好r大了反而容易过拟合。RAG的完整链路是什么这也是必考问题。一个完整的RAG系统包含离线索引构建和在线查询两个部分文档切分将长文档按段落、语义边界切成chunkchunk太大会导致检索不精准太小会丢失上下文。向量化用embedding模型把chunk转成向量。向量存储存入向量数据库构建近似最近邻索引如HNSW、IVF。查询召回用户query向量化后用ANN算法召回Top-K个相关chunk。重排序用cross-encoder或者LLM做rerank把相关性最高的chunk排到最前面。生成把query和召回的chunk拼进prompt交给LLM生成答案。面试官如果深挖RAG最容易问的是“召回Top-K怎么选K大了会有什么问题”K太大会引入噪声导致LLM生成的答案被无关信息干扰K太小又可能漏掉关键信息。实际操作中K一般取5到10但也要看chunk大小、任务复杂度做实验。4.3 AI Agent工程落地能力的新考区如果说2024年是RAG年那2025年绝对是AI Agent年。京东内部很多业务场景都在探索Agent化改造比如智能客服Agent、供应链决策Agent、数据分析Agent。所以面试官出题也越来越喜欢往Agent方向靠。面试官问Agent相关的问题一般不会只让你解释概念而是给一个具体场景让你设计。比如“如果让你用Agent做新品上架前的市场分析你怎么设计”你回答的时候要覆盖这几个关键部分任务分解市场分析可以拆成用户需求分析、竞品分析、价格策略分析、评论情感分析多个子任务。工具调用每个子任务需要哪些外部工具比如DB查询工具、搜索工具、NLP分析工具。规划机制如果Agent的能力不足时要怎么应对。记忆设计短期记忆保存当前会话的关键上下文长期记忆保存历史决策偏好。纠错机制如果获取到的数据质量差或者工具调用失败Agent怎么自动重试或者切换方法。我建议大家准备Agent面试题时多研究一下ReAct模式也就是推理和行动交替进行的范式。ReAct的思路是让模型交替输出“Thought思考”“Action行动”和“Observation观察”。这样Agent的每一步决策都有迹可循方便调试和兜底这是工程落地时很看重的点。5. 手撕代码与工程能力别让细节拖后腿5.1 手撕代码的高频题型与时间分配算法岗面试几乎都逃不掉手撕代码环节京东也不例外。根据我这两年的面试体验手撕代码的题目难度中等偏上很少有那种“看一眼就懵”的超级难题但很考验边界处理和工程习惯。我整理了2025年面试中出现频率最高的几类题TopK问题海量数据求最大的K个用小根堆求第K大用快排的partition。面试官常追问“数据量放不进内存怎么办”这就是分治堆的经典场景。LRU缓存要求手写核心是HashMap 双向链表。这个题考察的是你对数据结构的组合运用以及get和put操作O(1)时间复杂度的理解。二叉树遍历前中后序、层序遍历既要会递归也要会迭代。面试官经常追问“morris遍历了解吗”这个遍历能把空间复杂度优化到O(1)。字符串相关最长回文子串动规或中心扩展、判断括号是否有效、字符串转整数。链表操作反转链表、环形链表判断、合并K个有序链表。手撕代码的时间分配建议简单题控制在10分钟以内中等题控制在20到25分钟如果超过30分钟还没有完整思路大概率是状态不对或者准备不足这时候别硬凹先沟通思路让面试官帮你指一条路。我特别想提醒一点代码写完之后一定要自己过一遍测试用例。很多候选人写完就停笔等着面试官问“写完了吗”。实际上最好的做法是主动拿一个简单例子比如二叉树题构造一个三层小树手动跑一遍你的代码确认每步结果合理。这一步能暴露大量边界错误也能让面试官觉得你工程能力强。注意手撕代码时先在注释里写清楚思路再动笔写代码。这不是浪费时间而是让面试官能跟着你的思路走即便最后代码没完全跑通思路正确也能拿不少分。5.2 从检索到重排推荐/搜索方向的一段典型追问模拟京东大量的算法岗位集中在搜索、推荐、广告方向。这类岗位的面试里除了算法题和基础题还会有一道“场景题”模拟一个完整的业务链路。我举一个我在面试中很喜欢问的例子各位可以感受一下考察深度。假设面试官问“系统里用户搜索一个query你负责从召回、粗排、精排到重排的完整链路。如果精排之后的点击率预估不准你从哪些角度排查”这个问题没有唯一答案但好的候选人会按顺序给出系统性的思路数据侧训练样本和线上特征是否一致是不是存在特征穿越正样本的采样比例对不对特征侧特征的重要性分布如何新特征有没有做上线对比实验模型侧用离线AUC、GAUC评估是否和线上指标一致有没有过度拟合老数据服务侧线上推理的特征服务是否超时、是否用了默认值兜底再往下面试官还会追问“召回阶段你怎么保证召回的效率和相关性”这时候你至少应该说出数据规模大用向量召回规模小用倒排索引两路召回策略比如关键词召回向量召回如何融合召回Top-K怎么和精排衔接。这一整串问题考察的不是某一个单独的知识点而是你对推荐系统整个链路的理解程度。我强烈建议准备搜索/推荐方向的同学把“召回-粗排-精排-重排”四个阶段的核心算法、典型模型、工程实践都画一遍做到能用一张图和一个故事把整条链路串起来。6. 我的面试复盘与避坑清单6.1 面试中常见的翻车现场与应对策略面试这半年我见过太多候选人在同一个坑里翻车。我把这些坑总结出来希望通过这篇文章能帮大家避掉翻车一只背答案不理解推导。比如问到“为什么快排是不稳定的”有人答“因为partition交换的时候会改变相同元素的相对顺序”这没错但面试官如果追问“那怎么改成稳定排序”很多人就懵了。实际上想让快排稳定可以用“两趟扫描”的方式先把小于pivot的按顺序放左边再放等于的再放大于的但这样空间复杂度就上去了。面试官考这个更多是想看你能不能举一反三。翻车二算法题不确认输入输出就动手。有些候选人看到“给一个数组”就直接开写没问数组里的数是不是正整数、长度范围是多少、能否修改原数组。这些信息直接决定了用哪种算法。我建议拿到题目先花一分钟把边界条件问清楚这不是浪费时间而是专业的表现。翻车三项目经验讲不清“为什么要这么做”。面试官问项目很少只关心“你做了什么”更关心“你为什么选这个方案”“当时还有哪些可选项”“你的方案上线后指标涨了多少为什么涨”。很多人把项目背景讲得绘声绘色一到决策依据就含糊其辞这非常减分。翻车四聊大模型只会背名词。2025年的大模型面试跟以前不一样了光抛出“RAG”“LoRA”“Agent”这些术语不能满足面试官。你得能结合实际案例讲清楚“你的业务里怎么用”“遇到什么问题”“怎么评估效果”。面试官不怕你不会就怕你只会名词解释。6.2 动手之前先做好这几件事这里结合我自己带人面试和辅导候选人的经验给出一份我觉得比较可靠的备考思路按优先级排第一把数据结构与算法基础过扎实。LeetCode中等难度题至少刷150道以上高频题型数组、链表、树、DP、贪心、二分、堆做到随手就能写。这不只是为了应付手撕代码更是为了在聊算法题时能自然地展示复杂度分析的功力。第二机器学习基础要能手推公式。逻辑回归、SVM、朴素贝叶斯、决策树、GBDT这五个算法的损失函数、梯度推导、正则化方式至少能手写一遍。不需要像数学专业那样严丝合缝但每个关键步骤要知道为什么。第三选择一个深度的方向做到能讲透。京东的搜索、推荐、广告、供应链、大模型、CV、NLP每个方向都能展开很多内容。你不需要全部精通但至少要有一个方向能连续深入聊30分钟从算法原理聊到工程落地的细节。第四项目复盘写到“口头表述版”。不要满足于简历上那几行字把你做过的项目的背景、方案选型、难点、效果、可复用性写成一页纸的解说词反复讲给自己的朋友或录音听。流畅度和逻辑性是这个环节最容易被忽视的。我个人在实际操作中的体会是面试不仅仅是“被考察”更是一场“你有选择权的双向沟通”。好的候选人不止是答对题更是在每个回答里展现自己的思考方式。你回答“这个方案有缺点我在什么条件下会选择它”比单纯说“这个方案很好”要可信得多。最后再分享一个小技巧每次面试结束把回答不好的题目趁热记录下来不用整理成漂亮的格式就写“这个问题我卡住了原因是什么正确答案的切入点是什么”。积累十次之后你会发现自己对考点的敏感度提升得非常快。
返回列表