ARTICLE DETAIL

资讯详情

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

速腾聚创秋招机器人算法岗笔试复盘:从状态估计到点云处理

速腾聚创秋招机器人算法岗笔试复盘:从状态估计到点云处理 2023年速腾聚创秋招机器人算法岗的笔试我印象很深。不是因为它难到劝退而是因为它把“机器人算法岗”这个岗位真正需要的东西拆得很清楚数据结构与算法、状态估计、运动规划、点云处理、甚至一部分机器学习几乎每个模块都踩在激光雷达技术的栈上。如果你正在准备机器人算法岗尤其是盯着激光雷达厂商去投这场笔试的复盘应该能帮你少走不少弯路。下面我从笔试整体结构、核心考点、答题策略和避坑经验几个角度完整拆一遍。1. 笔试整体设计拆解速腾到底想考什么1.1 考点覆盖面广、交叉性强不是背题能过的先给结论这场笔试不是“刷刷LeetCode就能过”的常规算法笔试。它更像是把机器人方向的核心课程抽出来合成了一张综合性考卷。当时我扫完卷子的第一感受是——它想考的不是你记住了多少知识点而是你能否把一个知识点迁移到另一个场景里。举个例子卷子里有一道点云聚类的题表面上是问“怎么给一帧激光雷达点云做目标聚类”但背后其实串了KD树最近邻搜索、欧式聚类阈值选择、体素滤波降采样、甚至点云时间戳同步这些工程细节。你单独会其中一个概念没用得能把整条链路串起来。这种出题方式很符合速腾聚创的公司属性一个做激光雷达硬件的厂商算法岗的人不能只会调库还必须有处理原始点云的底层能力。另外一点很关键题目之间不是孤立的。比如状态估计题里的协方差矩阵到了运动规划题里就变成了轨迹不确定性贝塞尔曲线的导数性质到了局部路径规划里就变成了速度连续性要求。这种交叉考察意味着你复习的时候最好也别按科目孤立地学要尝试把数学、感知、规划、控制串成一条线。1.2 各板块分值印象与时间分配建议虽然每年的题量和分值会调整但按照我复盘后的印象大致可以分成这么几块考察板块常见题型我的分值估计建议时间占比数据结构与算法单选、填空、手撕代码25%左右25%线性代数与状态估计填空、公式推导、计算20%左右15%运动规划与贝塞尔/RRT/RRT*简答、推导、设计15%左右15%点云处理与三维数据结构简答、方案设计、代码伪代码15%左右15%机器学习/优化/PSO简答、开放题10%左右10%工程与系统设计开放题、方案设计15%左右20%这个占比给我的启发是千万不要一上来就死磕手撕代码。很多准备算法岗的人习惯性先把LeetCode Hot 100刷完但到了这场笔试代码题只占四分之一左右而且难度没有到Hard级别更多是考察“能不能写对边界条件”和“复杂度分析是否清晰”。反而是一道状态估计推导题如果你没推过可能卡二十分钟都写不出来。我的建议是拿到卷子先花五分钟快速扫一遍所有题目把“会做的”“能拿一半分的”“完全没思路的”标出来优先保证总分最大化。手撕代码题留足20到30分钟不要在前面的填空题上死磕。2. 数学与状态估计题推导能力是分水岭2.1 高斯分布相乘、协方差矩阵与信息矩阵这类题几乎是机器人算法岗笔试的常客。当时有一道题是已知两个高斯分布 N(μ₁, Σ₁) 和 N(μ₂, Σ₂)让你求它们乘积的均值和协方差。这道题表面考概率论实际考的是你对信息矩阵的理解。如果你只看过公式会记得乘积后的协方差是 Σ (Σ₁⁻¹ Σ₂⁻¹)⁻¹均值是 μ Σ(Σ₁⁻¹μ₁ Σ₂⁻¹μ₂)。但如果你不知道为什么一旦题目变成“三个高斯相乘”或者“已知信息矩阵 Ω Σ⁻¹怎么更新”就很容易懵。我当时踩过这个坑公式背得出来但题目换了个写法就不认识了。这里我建议你记住一个更本质的理解方式高斯分布相乘本质上是把两个概率分布的信息相加。协方差矩阵的逆是信息矩阵信息矩阵相加就是信息融合。所以为什么乘积的协方差是“两个信息矩阵之和取逆”——因为信息越多的估计不确定性越小。这样理解之后不只是乘积公式卡尔曼滤波的更新步骤也顺带理解了因为卡尔曼更新的本质就是在融合预测分布和观测分布。关于协方差矩阵本身笔试还有一个高频考点它必须是对称半正定的。有时候题目会给一个矩阵让你判断能不能作为协方差矩阵这种题就是考察自相关矩阵的特征值是否非负。复习时建议把二维协方差矩阵的特征值分解画一遍理解长轴短轴和特征向量的关系比单纯背“半正定”三个字有用得多。2.2 卡尔曼滤波手推从预测到更新的五个公式卡尔曼滤波的五个公式很多人能写出来但笔试题往往不满足于让你默写。常见考法有两种一是给你一个一维的例子给几组带噪声的观测值让你手动递推算最优估计二是给你一堆矩阵让你说明每个变量的维度和物理含义。先说第一种一维标量卡尔曼其实非常好算。预测步x̂⁻ x̂P⁻ P Q。更新步K P⁻ / (P⁻ R)x̂ x̂⁻ K(z − x̂⁻)P (1 − K)P⁻。我当时在草稿纸上递推了三步发现K会很快收敛——这就是为什么工程上有时会用稳态卡尔曼增益替代动态计算降低计算量。笔试题里如果只给一个观测值序列让你手算最优估计本质就是在考你递归求均值的过程。你要注意第k步的估计值其实是对前面所有观测的加权平均权重由噪声方差决定。如果你理解了这一点就可以直接根据观测噪声R和过程噪声Q的比值来判断“我更相信预测还是更相信观测”而不是死记公式。再说矩阵版本。五个公式里最容易写错的是卡尔曼增益 K P⁻Hᵀ(H P⁻Hᵀ R)⁻¹。这里H是观测矩阵R是观测噪声协方差P⁻是预测协方差。我建议你手推一遍一维到多维的对应关系搞清楚为什么增益表达式里会出现H P⁻Hᵀ——因为你要先把状态空间里的不确定性映射到观测空间再跟观测噪声比较。2.3 向量求导、雅可比矩阵与线性化状态估计题里还有个隐藏考点雅可比矩阵。当时笔试有一道关于EKF扩展卡尔曼滤波的题前面是标准卡尔曼后面问“非线性观测模型怎么处理”答案就是在当前状态估计处做一阶泰勒展开求观测函数的雅可比矩阵H。这种题的坑在于很多人只会背“雅可比矩阵是偏导数的矩阵”真让求一个具体函数的雅可比比如二维旋转矩阵对旋转角度的导数或者一个向量函数 f(x) Ax 对x的导数就可能卡住。我给你几个高频公式都是面试手推时会用到的∂(Ax) / ∂x A∂(xᵀAx) / ∂x (A Aᵀ)x如果A对称就是 2Ax∂(aᵀx) / ∂x a旋转矩阵 R(θ) 对θ求导 R(θ π/2)因为导数是旋转90度后的矩阵这里我有一个实操建议拿不准的时候用数值求导验证。比如你手推了一个矩阵形式的导数不确定对不对可以写几行Python代码给x一个微小扰动算 (f(xε) − f(x−ε)) / (2ε)跟你的解析解对比。数值求导虽然精度不高但用来验证手推结果足够了。我当时就是用这个办法在笔试草稿纸上快速自检了一道旋转雅可比题省下了很多纠结时间。3. 数据结构和算法基础送分题与送命题3.1 KMP的next数组完整手算注意定义差异笔试里出现了一道很典型的KMP题对于模式串 p abacaba求它的next数组。这类题说难不难但特别容易错因为不同教材、不同网上博客对next数组的定义有两套你如果不知道对方用哪套定义上来就算很容易差一位。先说最常见的定义next[i] 表示模式串前 i 个字符即 p[0..i-1]的最长相等前后缀长度并且约定 next[0] -1。按这个定义p abacaba 的推导如下i子串最长相等前后缀next[i]0空无-11a无02ab无03abaa14abac无05abacaa16abacabab27abacabaaba3所以 next [-1, 0, 0, 1, 0, 1, 2, 3]。这里有个细节要注意有的教材会把 next[0] 定义成 0最后得到 [0, 0, 0, 1, 0, 1, 2, 3]。有的版本还会把 next 数组“整体加1”当作失配时跳转的位置。所以笔试时如果题目没有明确说明定义我建议你花十秒在题干附近找找有没有注释或示例。没有的话就按最长公共前后缀长度去算然后在答题时标注你使用的定义这样改卷老师至少能看到你思路是清楚的。计算next数组的代码其实也不难核心是递归推最长相等前后缀长度。写的时候注意next[i] 不是简单地看 p[i-1] 是否等于 p[next[i-1]]因为可能跳两三层。用 while 循环持续回退直到找到匹配或者回退到0。这个“跳转”的思想如果理解了KMP的O(mn)复杂度也就顺理成章了。3.2 排序算法速查稳定性、复杂度与工程选择数据结构题还会有一批排序相关的内容。我当时遇到的是几道选择题比如“堆排序是稳定的吗”“快速排序最坏时间复杂度是多少”“大量数据外排序应该选什么”。这些都是高频基础题但细节很容易混。我建议你记一张表考前扫一眼比翻书快得多排序算法平均时间复杂度最坏时间复杂度空间复杂度稳定性冒泡O(n²)O(n²)O(1)稳定插入O(n²)O(n²)O(1)稳定选择O(n²)O(n²)O(1)不稳定快排O(n log n)O(n²)O(log n)不稳定堆排序O(n log n)O(n log n)O(1)不稳定归并O(n log n)O(n log n)O(n)稳定机器人算法岗为什么也会考排序因为排序和搜索是所有空间数据结构的基础。比如后面点云里做最近邻搜索本质上是基于空间划分的搜索复杂度分析和归并、堆排序是一脉相承的。笔试里如果问“找点云中最远的两个点”你如果只会O(n²)暴力法在这个岗位的语境下就不太够看但如果你能说出“先用八叉树/KD树做空间划分再结合最近邻思想去搜”就给分更高。这也是为什么排序、堆这些基础在机器人算法岗笔试里不是孤立考的。3.3 贪心、二分与“识别题目套路”手撕代码题如果考贪心和二分通常不会太难但会有陷阱。比如区间调度问题标准的贪心策略是按结束时间排序然后逐个选择不重叠的区间。笔试如果考这个容易错的点在于按开始时间排序还是按结束时间排序答案是后者因为按结束时间排序能给后续区间留出更多空间。二分最容易错的是边界条件。我当时复盘的时候总结了一个技巧写二分之前先确定搜索区间是“左闭右闭”还是“左闭右开”然后把while条件、左右指针更新方式和mid的取整方式一起确定。不要写到一半换区间定义否则很容易死循环。比如左闭右闭写法while (left right)当 nums[mid] target 时 left mid 1否则 right mid - 1。这个套路看似简单但在“搜索旋转排序数组”“找峰值”这类变形题里非常容易错。对于机器人算法岗二分一个常见应用是“在代价地图里找某个cost阈值边界”或者“在轨迹参数空间里搜索可行解”。所以看到跟“搜索”“最优”相关的题目先想想能不能二分这会比一上来堆DP动态规划快很多。4. 运动规划与感知题从贝塞尔到八叉树4.1 贝塞尔曲线与轨迹规划考点速腾这种做激光雷达的厂商笔试里出现贝塞尔曲线并不意外因为机器人运动规划和轨迹生成都会用到。我记得当时的题是让你写出三次贝塞尔曲线的表达式并说明它有什么性质。三次贝塞尔曲线的公式是B(t) (1−t)³ P₀ 3(1−t)²t P₁ 3(1−t)t² P₂ t³ P₃, t ∈ [0,1]这个公式要记牢最好能手推出来思路是先从控制点之间做线性插值得到三个一阶点再从三个一阶点做线性插值得到两个二阶点最后再插值得到曲线上的点。这就是贝塞尔曲线的De Casteljau递推。性质方面高频考点有三个第一曲线经过第一个和最后一个控制点但不经过中间控制点第二端点的切线方向由相邻控制点的连线方向决定比如在P₀处的切线方向是P₁ − P₀第三曲线落在控制点的凸包内这个性质在做碰撞检测时很有用。为什么机器人局部规划喜欢用贝塞尔因为它能保证轨迹连续可微而且控制点少、计算轻。在局部避障场景里你可以用几段贝塞尔曲线拼接出一条平滑轨迹拼接处只要让前一曲线末端的切线方向和后一曲线起点的切线方向一致就能保证一阶连续。这个思想比单纯记公式更重要因为笔试如果追问“怎么保证速度连续”你就能答上来了。4.2 RRT与RRT*从概率完备到渐进最优RRT快速扩展随机树是机器人运动规划里绕不开的算法笔试里经常出简答题。它的基本流程不复杂在状态空间随机采样一个点然后在现有树中找到离它最近的节点沿两点连线向新点延伸一个固定步长如果这段路径没有碰撞就把新节点加入树中。重复这个过程直到终点被加入树中。RRT最核心的性质是“概率完备”——当采样点数量趋于无穷时找到一个可行路径的概率趋近于1。但要注意它不保证找到的是最优路径。RRT* 在这个基础上加了重连rewire步骤当新节点被加入树后检查它周围一定范围内的节点看能不能通过新节点获得更短的路径从而让树逐渐收敛到渐进最优。笔试里考RRT时我建议你这样答会显得比较有层次第一步说清楚适用场景高维状态空间、复杂约束、非完整约束机器人。第二步说清楚关键环节随机采样、最近邻搜索、碰撞检测。第三步说工程细节最近邻搜索要用KD树加速否则高维下每次Insert都是O(n)。第四步说局限性RRT的路径不平滑通常需要后端做轨迹平滑比如贝塞尔、B样条或者用Hybrid A*来处理车辆运动学约束。我当时就犯了最后一个错误只写了RRT流程没有提路径平滑结果面试环节被追问“规划出来的折线路径怎么给底盘用”一下子没答上来。所以如果你也去考这个岗位记得把“规划—平滑—控制”的链路想完整。4.3 八叉树与点云数据结构激光雷达算法岗的“本命”只要投的是激光雷达相关的机器人算法岗八叉树基本是必考的。它不是考“什么是八叉树”这种概念而是喜欢考“给你一帧点云你怎么插入八叉树”“八叉树和体素滤波的关系是什么”。八叉树的核心思想很简单把三维空间递归地切成八个子立方体直到子立方体里面的点数少于某个阈值或者达到最大深度。每个节点可以存是否被占据的信息所以它既适合做点云压缩存储也适合做占据栅格地图Occupancy Map表达。体素滤波可以理解为八叉树的一种应用把点云空间划分成固定大小的体素立方体每个体素内部保留一个代表点通常是重心这样就能把一帧几十万点的点云降采样到几万点同时保持点云拓扑。笔试如果考体素滤波你不仅要会写流程还要能说清楚参数怎么选体素边长太大会丢掉细节太小又达不到降采样效果。对一个16线或32线雷达我经验上常用0.1米到0.2米之间的体素尺寸这个值和你感知目标的大小、雷达安装高度都有关系。八叉树碰撞检测的优点是查询复杂度跟树的深度相关而不是跟点云点数线性相关。笔试时如果能答出“在八叉树中做射线遍历沿激光射线方向检查每个被穿越的叶子节点是否被占据”面试官就会知道你真的用过。4.4 DWA与局部避障从速度采样到评价函数DWA动态窗口法是局部路径规划里非常经典的算法机器人导航笔试几乎都会带一道。它解决的问题是底盘已经有一个全局路径但前方突然出现障碍物怎么在短时间内重新规划一小段速度。DWA的三个步骤一定要说清楚第一速度采样空间生成。根据底盘当前速度、最大加速度和最大减速度计算在一个时间窗口内能达到的所有速度组合v, ω。对于差速底盘这个速度空间是一个矩形加圆弧约束对于阿克曼底盘还要考虑前轮转角限制。第二轨迹预测。对每个候选速度组合模拟一小段时间的未来轨迹。轨迹通常用圆弧模型或运动学自行车模型近似。第三轨迹评价。常见评价函数是三项加权heading轨迹末端朝向与目标方向的角度差越接近目标方向得分越高dist轨迹与最近障碍物的距离距离越大得分越高vel速度大小速度越高得分越高最后总评分 α × heading β × dist γ × vel取最高分对应的速度作为控制指令。笔试如果问“DWA为什么容易陷入局部极小”你需要点出来因为评价函数只看当前窗口内的目标方向没有考虑全局拓扑所以可能绕不出来。工程上的解法是“全局A*规划 局部DWA”的嵌套结构用全局路径来引导局部评价函数朝正确方向走。5. 机器学习、优化与工程实现题开放题怎么拿分5.1 粒子群优化PSO原理与考点粒子群优化出现在这轮笔试里我一开始有点意外后来想想合理——机器人算法岗经常需要调参、搜优化解粒子群是一个比梯度下降更通用、且不需要目标函数可导的优化器。高频考点是让你写出速度更新公式和位置更新公式并解释每个参数的作用。标准的速度更新公式是vᵢ w·vᵢ c₁·r₁·(pbestᵢ − xᵢ) c₂·r₂·(gbest − xᵢ)位置更新公式xᵢ xᵢ vᵢ其中w是惯性权重控制粒子维持当前速度的程度c₁是“个体认知”系数控制粒子飞向自身历史最优位置的程度c₂是“社会认知”系数控制粒子飞向群体最优位置的程度r₁和r₂是[0,1]之间的随机数。笔试爱考的参数直觉是w大全局探索能力强粒子不容易早熟收敛w小局部开发能力强收敛快但容易陷入局部最优。常见做法是让w从0.9线性衰减到0.4前期多探索、后期多开发。以及“早熟收敛”是PSO最常见的失败模式——所有粒子都被某个局部最优吸引需通过变异或重启机制跳出。这道题能拿高分的关键是你得说出PSO在机器人领域的具体应用场景比如机械臂轨迹规划的参数优化、路径规划中的多目标优化权重整定、或者雷达外参标定的初值搜索。单纯默写公式只能拿基础分结合应用场景就能体现出你是真的在用。5.2 基础ML/DL梯度下降、交叉熵、感受野机器学习部分的比例不大但基础概念容易考。我当时遇到的是一道选择题为什么分类任务常用交叉熵而不是均方误差MSE作为损失函数。这个问题的标准答案是在Softmax或者Sigmoid输出层MSE的梯度含有 σ(z) 项而 σ(z) 在饱和区域趋近于0容易导致梯度消失交叉熵配合Softmax时梯度形式简化为 (预测值 − 真实值) 乘以上一层的输入大大缓解了梯度消失问题。另外一个可能是深度感知题考卷积层的输出尺寸和感受野计算。输出尺寸公式是H_out (H_in 2P − K) / S 1。感受野要从网络末端往前回溯每层的感受野 上一层感受野 (K − 1) × 之前所有stride的累积。这类题不难但需要细心因为一旦把padding和stride搞混算出来就差很多。5.3 系统设计题从雷达点云到机器人导航开放题是这套卷子里最拉分的地方。当时有一道很系统的题大意是请设计一个基于激光雷达的机器人定位导航系统从硬件输入到最终路径输出把模块和数据流说明白。这种题没有标准答案但阅卷者看重的是你是否具备完整的系统闭环能力。我的答题框架是五个模块感知输入激光雷达点云、IMU、轮式里程计必要时加相机。前端配准使用ICP或NDT做帧间匹配估计相对位姿变化。后端优化位姿图优化统一处理历史关键帧消除累计漂移。建图与定位构建八叉树地图或2D/3D占据栅格地图定位用NDT匹配或粒子滤波。规划与决策全局规划用A或RRT局部避障用DWA最后输出速度指令给底盘。答题时要注意每条数据流的输入输出。比如ICP需要“上一帧点云 当前帧点云 初始位姿”作为输入输出“当前帧相对上一帧的位姿变换”这部分不能含糊。另外可以提一嘴退化场景比如长直走廊、隧道中激光雷达观测退化需要IMU约束提供先验。这种细节会明显提高答案的含金量。6. 我的答题流程与避坑策略6.1 拿到卷子先做“三分钟题”再啃硬骨头实战答题顺序非常重要。我的策略是发卷后先不碰代码题花5分钟把所有题目扫一遍根据分值标记优先级。这个所谓的“三分钟题”指的是那些你一眼就能写出答案的选择、填空比如排序算法稳定性、KMP next数组、贝塞尔曲线表达式。先把这些分拿到手里心态会稳很多。先做简单题还有一个好处它能让大脑进入状态。很多算法题需要灵感和状态如果你一开始就卡在状态估计推导上后面思维容易僵住。我是按“选择题→填空题→简答题→代码题→系统设计题”的顺序做的其中系统设计题虽然分值高但放在最后是因为它不需要连续计算更像写小作文时间紧张时哪怕写个框架也能拿一部分分。6.2 手撕代码题的边界条件与复杂度自检手撕代码题虽然占比不是特别大但不能丢。我当时遇到的代码题不算难但写完一定要自查边界。这里分享一个固定套路代码写完后至少跑三个测试用例——空输入、单元素输入、普通输入。比如你写一个二分查找空输入还好单元素输入最容易暴露问题如果target在数组中mid取整是否正确如果target不在数组中循环是否会退出。再比如二叉树遍历如果根节点为null你的递归退出条件写对没有。关于语言选择我建议用C或者Python都行但要按题目要求来。如果题目没规定用Python写代码能更简洁但要注意复杂度用C写则要注意vector越界和迭代器失效。我在笔试里吃过一个亏写堆排序时只写了建堆忘了写排序的交换和调整步骤导致复杂度看着对但功能不对。所以写完代码后心里或者草稿纸上推演两轮比直接交卷稳妥得多。6.3 时间不够时如何“踩点得步骤分”机器人算法岗笔试题往往是大题、问答题有思路就给分。所以哪怕时间不够也尽量不要留白。比如贝塞尔那道题你实在背不出完整公式可以写“这是一条三次贝塞尔曲线端点经过P₀和P₃P₁和P₂控制切线方向”至少能拿到性质部分的分数。再比如卡尔曼滤波那道题哪怕你忘记更新步里P的公式把预测步写出来把“卡尔曼增益是权衡预测和观测不确定性大小的系数”这个思想写出来也能得一部分分。我当时的原则是每个空至少写一个相关的公式或关键词绝不让版面空着。7. 复盘后的备考建议7.1 把公式从“认识”变成“能推导”这次笔试带给我最大的备考教训是“认识公式”和“能推导公式”之间差着十万八千里。考前我把协方差矩阵乘积公式背得很熟但笔试里要求现场手推时我发现自己对为什么会有 (Σ₁⁻¹ Σ₂⁻¹)⁻¹ 这种形式并不理解只能对着记忆硬写写错了都没意识到。后来我花了几个晚上把所有高频公式完整推导了一遍高斯乘积、卡尔曼滤波五个公式、贝塞尔曲线递推、ICP的SVD解法、旋转矩阵雅可比。推完之后再去面试心态完全不一样因为题目再怎么变你都能从基本原理一步步推出来。我的建议是别停在“看了、懂了”的层面至少写一遍推导过程哪怕只是拿草稿纸默写。7.2 围绕激光雷达厂商的技术栈做针对性准备如果你投的是速腾聚创这类激光雷达厂商光会ROS和机器人导航是不够的。你要对激光雷达本身的技术特点有感觉比如机械式雷达和MEMS半固态雷达的点云分布差异、不同扫描线数对感知算法的影响、点云时间同步和运动畸变补偿。我当时复盘后发现自己忽略了一个重点点云是怎么从雷达原始数据变成算法能用的东西的。笔试里有一道题问“一帧点云里包含哪些信息”正确答案不光是x、y、z坐标还有intensity反射强度、time stamp时间戳、ring ID线号。这些细节如果不接触过真实雷达数据很难答全。所以建议你去试一下速腾或者其它厂商的公开数据集把点云可视化出来看看理解每个字段的含义。这样笔试再考到点云相关你回答起来会跟看过教程的人完全不一样。7.3 建立自己的“笔试错题本”考前只翻它最后一个建议听起来很老套但我实际用下来效果很好。准备秋招那段时间我会把每场笔试中做错的题、犹豫超过五分钟的题、以及看到答案后恍然大悟的题按模块记在一个文档里数据结构、数学、状态估计、运动规划、点云、ML/DL。这个错题本不是为了收集题而是为了收集“我当时为什么没想到”。比如我记录过一条“贝塞尔拼接处要保证一阶连续需注意前后控制点共线”还记录过“八叉树插入前先算好点云的全局bounding box否则树的结构会歪”。到秋招后期我几乎不再刷新题而是反复看这个错题本。每个知识点对应一道旧题和一段踩坑记录比盲目刷一百道新题更有用。这次速腾笔试让我印象最深的不是哪一道具体的难题而是它提醒了我机器人算法岗的边界很宽从高斯分布到贝塞尔曲线从排序算法到点云八叉树看起来好像东一块西一块但背后其实有一条清晰的主线——把物理世界的问题抽象成数学问题再用工程手段在算力受限的机器人平台上落地。准备这类笔试与其追求“我刷了多少题”不如反复问自己“我能不能把这道题的原理讲给一个不了解机器人的人听”。能讲明白说明你是真的会了。
返回列表