网易3D视觉实习生笔试解析:几何基础与算法能力并重

发布时间:2026/11/5 8:08:34

网易3D视觉实习生笔试解析:几何基础与算法能力并重 1. 网易3D视觉实习生笔试到底在筛什么人每年到了春招和暑期实习的节点总有一批准备投递计算机视觉算法岗的同学过来问我网易这种级别的公司笔试到底考什么是不是要刷爆LeetCode是不是得把深度学习模型背得滚瓜烂熟我用网易2018年这场面向计算机视觉算法实习生、3D视觉方向的笔试题做了个样板分析结论可能和很多人想的不太一样。先说个反直觉的地方这场笔试的核心关键词虽然是“计算机视觉”但从实际考察内容看它筛的不是“谁会调参”而是“谁真正理解三维视觉背后的几何原理和数学推演”。换句话说你TensorFlow玩得再溜如果对相机模型、对极几何、点云配准这些概念说不出个所以然笔试照样容易翻车。为了把这个问题说透我特意把题目考察范围拆成了几个模块下面这张表可以帮你快速建立整体认知考察模块大致占比典型题型核心能力图像处理与特征25%左右特征点提取、图像变换、滤波原理基础扎实度三维几何与相机模型35%左右相机标定、对极约束、PnP、三角化数学与几何直觉算法与数据结构25%左右手写排序、字符串匹配、图论、DP代码基本功机器学习/深度学习基础15%左右损失函数、反向传播、网络结构理解模型理解深度注意上面只是我根据当时笔试反馈整理的参考占比不是官方数据。但方向上很明确3D视觉方向真正拉开差距的恰恰是很多人忽视的“三维几何”部分而不是发论文必备的深度模型。还有一个值得注意的点这类笔试虽然挂着“实习”两个字但难度并不低它本质上是先用一场笔试把你大学三年积累的数学功底、编码能力、专业视野全部铺开看一遍。所以准备时千万别把“实习”和“简单”划等号。2. 3D视觉专业题的复习主线从相机标定到位姿估计既然3D视觉方向的核心考察点在三维几何那这条复习主线就必须捋清楚相机模型是地基多视图几何是骨架位姿估计和点云处理是应用出口。下面一个一个拆开讲。2.1 相机模型与标定最基础也最容易被追问笔试里但凡涉及3D视觉第一道关卡几乎都是相机模型。你需要把针孔相机模型的整个投影过程写清楚世界坐标系下的点经过外参矩阵变换到相机坐标系再经过内参矩阵投影到像素平面。公式长这样s * [u, v, 1]^T K * [R | t] * [X, Y, Z, 1]^T其中K是内参矩阵焦距fx、fy主点cx、cyR和t是外参s是尺度因子。这个公式几乎百考不厌但很多人只知道背公式不理解为什么有个s在前面。我建议你一定亲手推一遍理解齐次坐标下尺度等价性的含义。笔试中常见的追问方式有两种。第一种是给你一组3D点和对应的2D像素坐标让你算内参或外参第二种是问畸变模型也就是径向畸变和切向畸变怎么建模、怎么标定。前者考的是DLT算法的思路后者考的是张正友标定法的流程。我当时复习的策略是在OpenCV里用棋盘格照片完整跑一遍标定流程跑完再看理论理解会深很多。2.2 多视图几何对极约束与三角化到了两张图关联这个层面对极几何就绕不开了。你需要能画出这张关系图两个相机中心、空间点、两个像点这五个点构成对极平面极线约束描述的是左图上的一个点在右图上对应的匹配点一定落在一条极线上。这个约束关系用数学表达就是x2^T * F * x1 0其中F是基础矩阵Fundamental Matrix如果两个相机已标定像素坐标可以归一化到相机坐标系这个矩阵就变成了本质矩阵EEssential Matrix。笔试常考的方向包括已知一组匹配点怎么求F、怎么用E分解出R和t、怎么通过三角化求空间点深度。这里有个最容易踩的坑很多人知道八点法可以求F但不知道实际求解时需要对坐标做归一化否则数值稳定性差得离谱。这在笔试的简答题里可能不显眼但如果你在面试环节被问到“为什么八点法要先归一化”答不上来就很尴尬。2.3 PnP与位姿估计笔试中的计算题常见来源PnPPerspective-n-Point解决的问题是已知空间中的3D点及其在图像上的2D投影求相机在世界坐标系中的位姿也就是R和t。这是3D视觉笔试里的高频计算题来源。经典解法有DLT直接线性变换、P3P、EPnP以及以BABundle Adjustment为核心的非线性优化方案。笔试不会让你从头实现EPnP但很可能考你DLT的基本思路将投影方程改写为关于R和t元素的线性方程组然后通过SVD求解。我自己的感受是这一节复习的关键不是记住每个算法的名字而是理解“为什么需要这么多方法”。DLT对噪声敏感P3P需要最少点但易受错误匹配影响EPnP在点较多时效率高BA则负责做全局精化。这种“懂取舍”的思维恰恰是笔试和面试都看重的。3. 3D视觉笔试中的代码题怎么答才能多拿分笔试的代码题和面试手撕代码不太一样它往往和视觉场景绑定得比较紧而不是纯粹的LeetCode题。我在下面整理了最常见的三种题型和对应的答题策略。3.1 手写代码的主要题型点云变换与ICP第一种常见题型是点云变换。给你一个3D点的数组和4x4变换矩阵T要求把每个点做变换并输出。这题听起来简单但考察点很细你是否知道齐次坐标表达是否处理了变换矩阵的最后一行是否考虑了旋转部分应该取R还是RT我见过不少人把矩阵乘法写反导致整个点云被错误变换。第二种高频题是ICP迭代最近点算法的核心步骤。笔试一般不要求你写完整的ICP因为迭代收敛要时间但会要求你实现“给定两组已配对的三维点求它们之间的刚体变换”。这一问考的是SVD分解求旋转矩阵的方法先计算两组点的中心再对协方差矩阵做SVD得到R V * U^T。完整代码思路大概是// 输入对应点集 src, dst // 输出旋转矩阵 R平移向量 t Point3f c_src mean(src); Point3f c_dst mean(dst); Mat H (src - c_src) * (dst - c_dst).t(); SVD svd(H); Mat R svd.vt.t() * svd.u.t(); Vec3f t c_dst - R * c_src;这里有个容易忽略的点SVD分解后要检查行列式如果det(R) 0说明R是反射而不是旋转需要取负。这个细节非常容易被笔试官拿来做追问。3.2 从接口设计到鲁棒性代码题拿分的细节很多同学答代码题只顾着贴核心公式忽略了工程实现的基本功。我的经验是代码题拿高分的关键在于三点。第一输入校验。给的3D点是不是Nx3的矩阵给的图像坐标是不是齐次坐标如果输入是float还是double这些都会影响结果。笔试时可以在答题开头写清楚“假设输入为Nx3矩阵第0行为x、1行为y、2行为z”给阅卷人一个清晰的接口约定。第二边界情况。n0、n1、所有点重合这些情况都要有分支处理。尤其是ICP的SVD解法当所有点重合时协方差矩阵秩为1SVD结果不稳定你要么抛异常要么返回单位矩阵。第三代码可读性。笔试答题不是让机器运行而是让人看所以变量命名尽量语义化不要满屏的a、b、c关键步骤要写注释。这既是给阅卷老师看也是给自己在后续面试环节留退路——面试官很可能会拿着你笔试时的代码问细节。3.3 常用工具函数与伪代码不会手写时怎么保底坦率讲3D视觉涉及很多复杂算法笔试现场你不可能什么都能从零写出来。这时候有两个保底技巧。一是用伪代码表达你的思路。只要把输入、输出、关键步骤、复杂度写清楚阅卷老师能看出你确实理解算法流程就能拿到大部分分数。比如让你实现Delaunay三角化你不可能现场写完整但可以写“先构建超三角形逐点插入维护边表最后删除含超三角形顶点的三角形”这比空着不写强太多。二是在合适的地方引用标准库或成熟API。比如提到SVD就直接写SVD::compute()提到特征点提取就直接说“用ORB提取特征”并标注输出维度。这不算作弊因为实际工程中你就是这么做的笔试考察的是你“知不知道用”而不是“能不能造轮子”。4. 通用算法题才是拉开差距的地方关于笔试很多人有一个误区以为只要把3D视觉相关的专业课复习好就万事大吉结果一上考场发现还有不少题目和“视觉”一点关系都没有。计算机视觉、算法、3D视觉这几个关键词放在一起往往意味着笔试也会出现纯算法题这才是真正拉开差距的地方。4.1 3D视觉笔试里会出现哪些通用算法题从当时的热搜词和笔试反馈看高频出现的通用算法考点包括字符串匹配KMP、排序算法、图论算法Dijkstra、拓扑排序、动态规划、贪心算法等等。这些算法看起来和3D视觉毫无关系但它们共同考察的是“计算思维”和“代码基本功”。举个例子KMP算法在图像特征匹配的暴力匹配比较中就有理论上的对应关系——暴力匹配是O(n*m)而KMP通过next数组跳过无效比较。虽然视觉特征匹配实际很少用KMP但“利用已知信息减少无效计算”的思想是相通的。笔试出这类题本质上就是在看你有没有这种优化意识。还有一些智能优化算法比如粒子群算法PSO、模拟退火、遗传算法也偶尔出现在选择题或简答题中。这类题不会让你手推但可能会问你粒子群算法的速度和位置更新公式是什么模拟退火为什么以一定概率接受更差解这些题考的是“知识面”和“概念理解”。4.2 高频算法考点梳理与应对策略结合我看到的笔试反馈下面这张表可以当作通用算法部分的复习清单算法类别高频考点应对策略排序算法快排、归并、堆排的复杂度与稳定性手写一遍背复杂度表格字符串匹配KMP的next数组构建原理自己推导几个例子理解失配跳转图论Dijkstra、拓扑排序、并查集看板刷题掌握网格图和稀疏图的写法动态规划背包、LIS、编辑距离理解状态定义与转移方程切忌死背贪心算法区间调度、哈夫曼编码会证明或至少能说明贪心选择性质智能优化算法粒子群、模拟退火、遗传算法的基本流程记住核心流程和关键公式复习时我建议别追求“全”而是把每个类别的最经典两三种题型吃透。因为笔试时间有限能稳稳拿下中等难度的题比死磕一道压轴题性价比高得多。4.3 算法题和视觉题的时间分配策略笔试通常是限时进行的如何在视觉题和算法题之间分配时间很讲究。一般建议按分值比例来分配但如果某道算法题卡住了千万不要死磕超过15分钟。我的做法是先快速把视觉题里会做的选择填空做掉然后做两道大代码题中最有把握的剩下时间用来攻坚一道中等难度的算法题。这里有个容易忽略的点代码题不要追求一次写对而是要先写主体框架再补细节。比如写ICP时先把SVD求解的几行核心代码写出来再回头补中心和协方差矩阵的计算这样即使时间不够关键得分点也已经拿到了。5. 我当时备考的路线与踩过的坑很多同学觉得笔试准备是“玄学”其实只要路线对三周时间完全够用。下面把我在备考这类3D视觉方向笔试时的安排和血泪教训分享出来希望能帮你少走弯路。5.1 三周备考时间怎么分配第一周主攻三维几何基础。花两天把相机模型、内参外参、张正友标定过一遍三天刷多视图几何对极约束、基础矩阵、本质矩阵、三角化剩下两天专门补PnP和点云基础。这个阶段时间紧千万不要只看书不做题强烈建议用OpenCV写一遍标定三角化的流程哪怕只是跑通demo印象都会深刻很多。第二周主攻代码题和算法题。每天白天刷两到三道视觉相关的代码题点云变换、ICP、图像缩放等晚上刷算法题重点看排序、字符串匹配、DP。这周的关键是“限时训练”模拟笔试环境每道题控制在30分钟以内。第三周进入真题和复盘模式。把前面两周的笔记集中起来看一遍重点看错题、推导不顺畅的公式、容易混淆的概念。可以自己列一个“容易忘的知识点清单”比如SVD分解求旋转、特征矩阵的秩约束、极线约束的自由度等等考前反复看。5.2 容易踩的坑与应对方法第一个坑是只刷深度学习不看几何。我见过太多同学准备了大量CNN、Transformer的题结果笔试里三维几何占大头直接懵了。应对方法很简单动手画一遍相机成像的几何关系图自己推导一遍对极约束公式比背十篇Transformer论文都管用。第二个坑是C基础不牢。笔试代码题可以用Python但很多3D视觉算法在工程落地时都是C且有部分公司会指定C答题。平时建议至少能用C写好点云结构体和基本的vector操作别等到笔试才发现自己连std::vector的声明都要想半天。第三个坑是推导题只背不练。对极约束、PnP、SVD解算旋转矩阵这些推导题如果只看不写考场上很容易卡壳。我的经验是把每个关键公式在白纸上独立推导三遍第一遍照着笔记推第二遍合上笔记推第三遍限时推直到形成肌肉记忆。5.3 笔试之后面试环节会更看重什么笔试通过之后面试环节通常会围绕三个方向展开第一问你笔试里的某道题是怎么想的这属于压力型追问第二问项目经历看你在真实场景中处理过什么问题第三给一道更偏应用的场景题比如“无人车上的3D障碍物检测怎么做”。针对第一类笔试答题时的思路清晰度就变得很重要这也是为什么前面反复强调笔记和推导痕迹。针对第二类即使你只是在校学生也可以准备一个和3D视觉相关的小项目比如校园场景的稀疏重建、基于深度相机的目标位姿估计哪怕是复现开源项目都行关键是你真的跑通过能讲清里面的坑。针对第三类考的是综合能力这时候你对相机模型、多视图几何、点云配准这些基础知识的理解深度决定了你的上限。回到最初那个问题网易3D视觉实习岗的笔试到底筛什么人我的回答是它筛掉两种人一种以为“视觉深度学习”而忽视几何基础的人另一种只会背题、对公式和算法一知半解的人。只要把三维几何主线捋清楚把代码基本功打磨到位再把通用算法题刷到中等水平通过笔试的概率会大很多。最后再分享一个小技巧备考期间一定要试着用自己的话把“相机标定在做什么”“对极约束解决什么问题”“ICP为什么能收敛”讲给别人听。能不能清楚地讲出来是你有没有真正理解的最好检验标准。
延伸阅读

更多相关文章

2026/11/5 8:08:33

网易深度学习算法岗笔试题复盘:从逻辑回归到KMP的备考路线

2018年网易校招深度学习算法工程师的笔试卷,到现在我偶尔还会拿出来让准备校招的同学做一遍。不是因为题目多新,恰恰相反,整套卷子里几乎没有追热点式的偏题怪题,翻来覆去考的就是那些越基础越容易忽略的东西——逻辑回归的梯度推…

2026/11/2 4:47:37

三参数叠前反演实战:从AVO原理到道集质控全解析

简介:本资源是一套面向地球物理勘探研究人员与地震数据处理工程师的叠前三参数反演MATLAB实现工具,聚焦于AVO反演核心任务,解决地下介质速度、密度及弹性参数联合估计难题,适用于油气储层识别、岩性解释与高精度地质建模等实际场景…

2026/11/5 3:19:21

STM32 USB调试全攻略:从枚举失败到CDC乱码的排查指南

如果你调过 STM32 的 UART 和 SPI,大概会觉得调试 USB 是一道完全不同的坎。数据线就两根,可问题总是五花八门:“电脑识别不了”“设备描述符请求失败”“枚举成功但传输数据乱掉”“虚拟串口打不开”。STM32 的 USB 调试,本质上是…

2026/11/5 8:08:12

gec2410 WinCE BSP实战:从编译烧写到驱动调试避坑指南

简介:这份资源面向嵌入式系统学习者与开发者,围绕三星S3C2410(ARM920T内核)硬件平台与Windows CE系统的集成开发展开,提供实验手册与配套源码,帮助读者理解从系统架构、硬件接口到驱动与应用程序的完整开发…

2026/11/5 8:08:12

市级行政区域shp实战:从字段结构到城市匹配的避坑指南

简介:这份资源面向地理信息系统从业者、城市规划研究者及高校师生,提供中国全部地级市行政区域的空间边界数据,可用于城市分布研究、人口统计、行政边界划分与专题制图等场景,帮助使用者在ArcGIS中完成裁剪、合并等空间分析操作。…

2026/11/5 8:08:12

校园一卡通系统设计与实现:VS2005+SQL Server 2005完整方案

简介:这是一套面向软件开发初学者与课程实践者的校园一卡通系统完整项目源码,基于Visual Studio 2005与SQL Server 2005构建,覆盖卡片管理、用户信息维护、交易记录查询等核心模块,可作为理解需求分析、数据库设计与前后端交互的入…

2026/11/5 8:08:12

校园一卡通系统设计与实现:VS2005+SQL2005事务处理与并发控制

简介:这是一套面向软件开发初学者与课程设计学习者的校园一卡通系统完整项目源码,基于Visual Studio 2005与SQL Server 2005构建,覆盖卡片管理、用户信息维护、交易记录查询等核心模块,可用于理解从需求分析、数据库设计到界面构建…

2026/11/5 8:08:12

STM32替代AVR提升3D打印运动控制精度的原理与实践

简介:这是一份面向嵌入式开发者与3D打印爱好者的STM32平台开源固件资源,聚焦于解决3D打印机底层控制核心问题,涵盖三轴运动插补、G代码实时解析、SD卡脱机打印等关键功能实现。资源包共198个文件,以85个C语言源文件(.c…

2026/11/5 8:03:12

测试基本的概念

什么是测试验证软件的特性符不符合用户的需求侧开和测试的区别首先都是属于测试的方向,都是为了对产品保证质量和负责侧开的话会开发一些工具(并不是业务开发),提高测试的效率。提升测试的质量测试和开发差别(测试的视…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑