腾讯IEG-计算机视觉(3D渲染引擎方向)提前批笔试面试总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shenziheng1/article/details/82633013

前面一直在准备出国留学申请,中间投递了华为、腾讯、阿里三家公司。幸运的是拿到了华为多媒体算法岗SP腾讯3D视觉算法岗SP(真爱)阿里巴巴菜鸟物流算法岗A级。接下来将投入到论文发表、计算机名校申请中。

Attention1:本文是腾讯秋招笔记内容。

Attention2:本文为了记录面试经历,不适用其他人。

1. 申请职位描述

腾讯游戏:计算机视觉(3D渲染引擎)

其实,笔者大部分时间都在陶瓷、准备留学文书。此前并未准备找工作的相关事宜,仅利用暑假十天时间复习了一遍《机器学习与模式识别》、《剑指offer》、《计算机视觉算法与应用》。

2. 申请流程


2.1. HR资料调查:~20min, 8.12

内推选择笔试。因为报的是计算机视觉方向,所以笔试的题目中主要就是机器学习和计算机视觉的核心算法以及描述子。

  • 对于机器学习方面,线性分类器、决策树、LDA、PCA、贝叶斯后验、最大似然、核函数都是很常见的,建议采用李航编的《统计机器学习》巩固。
  • 对于计算机视觉方面,基于能量的分割方法、手工创造的SIFT/SURF/BRISK等描述子、基于三角测量的立体视觉(包括匹配)也很常见,建议采用艾海舟的《计算机视觉算法与应用》复习
  • 对于深度学习方向,主要还是靠网络基础。例如梯度消失、梯度爆炸、BatchNorm的作用、variance-bias模型选择等。深度学习考题还是很规矩的,建议使用Bingo的《深度学习》(花书)
  • 数据结构,当然不可避免的就是会出现数据结构的题目,一般就是链表、哈希表、最小路径这一些,只要大家还记得本科学过的数据结构基本没问题。

2.2. 组员轻松面:45min~50min, 8.16

  • 怼研究生项目。有“主流的跟踪框架”、“你们要解决的跟踪难点”、“有没有尝试使用其他方法做跟踪”、“如何解决小目标/非刚体目标的跟踪”
  • 怼研究生论文。CVPR论文主要问了Ablation Study 怎么设计的? 和之前提出的算法相比,我们提出的算法最大优势是什么? 后期想怎么发展?
  • 怼本科生毕业论文。介绍基于全局-局部配准的流程? 3D-2D配准的意义?3D数据格式,点云or体素? 采用什么语言实现的? 在进行粗配准阶段,为什么采用Harris算法提取角点进行稀疏处理,鲁棒性如何? 精配准阶段,为什么采用遗传算法进行优化,实时性如何? 除了遗传算法有没有想过其他的优化算法? 比较一下遗传算法与单纯性算法的优缺点?
  • 怼代码功底C++。vector如何实现动态增长?如何实现申请一大片连续空间?Python为什么不需要像C++一样指定数据类型?
  • 怼数据结构。双向链表与头尾指针设计;堆栈分段存储,对临界资源、互斥锁与自旋锁的理解。
  • 怼深度学习。CNN-loss中损失函数的设计? 什么情况会出项梯度消失,如何避免出现梯度消失?GAN本身是想学习数据的分布模式,但是我们的训练数据仅仅是样本的一个子集,如何能解释GAN的优异性能? (我是从随机抽样和无偏估计角度解释的) 为什么用孪生网络处理跟踪问题,效果很好? 如何理解浅层卷积特征与深层卷积特征? (浅层卷积特征定位效果好,深层卷积特征语义表达能力强)

2.3. 组长轻松面:45min~50min, 8.18

  • 怼项目。二面应该有了一面的面试记录。所以项目问了另外两个。硕士项目问了我做的3D重建的工作,我主要讲了MarchingCube面绘制算法,VolumeRendering体绘制算法。 面试官非常和蔼,中间纠正了我的一个错误,其实体绘制算法还有很多种,比如基于蒙特卡洛的、基于光线投影算法,抛雪球算法等,我研一的工作更偏向于抛雪球算法。本科项目问了我特征提取+分类的问题解决方案,我主要讲了基于形状的特征提取,基于矩阵的文理提取,基于傅里叶功率谱的特征提取,分类器主要用了SVM和最大间隔分类。面试官问我有没有采用其他分类器?
  • 怼数据结构:B+树,红黑树;哈希表;Freeman编码;
  • 怼基本算法:SIFT英文全称以及实现原理(非常重要);DCF原理(循环采样+傅里叶高速实现,是否考虑核方法?);稀疏表达(L1正则化毕竟L0正则化的合理性? 有没有对比稠密表达和稀疏表达结果之间的差异,并进行量化评估);水平集分割;(因为数模比赛中提了ICA这个词)所以面试官问了我一个ICA我记得这个算法应该是做独立成分划分(鸡尾酒效应)的,但是很可惜没有说好,关于ICA的优化原理,核心是朗格朗日乘子法。
  • 怼编程功底:C++的标准库,面试官问到了我STL中的vector和map,此外还有迭代器。平时用C++多一点还是Python多一点? C++的深拷贝、浅拷贝? 动态对象绑定? 虚函数?
  • 怼深度学习。面试官问了我一些CNN做目标检测的工作(引用了何凯明的系列工作)和CNN做目标跟踪的工作(引用了牛津视觉团队和中科院自动化所模式识别实验室的最新工作)。源码主要是读懂和重读,创新还在思考。

2.4. GM/EVP/面委会 压力面:60min~70min, 8.26

  • 怼深度学习相关项目。
  • 怼机器学习。解释一下线性分类和非线性分类的区别;解释“自主采样法”原理以及集成分类器Adaboost? (个人简介通过概率论解释机器学习是最好了的)。分析马尔科夫链状态状态转移过程。
  • 怼Python,为什么Python可以实现跨平台,Python的时间消耗最多的环节在哪里,谈谈你知道的依赖Python的机器学习库和计算机视觉库;
  • 手撕代码。题目:有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n个学生中按照顺序选取 k名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗? //// 面试官很友好,不需要“完全手撕”,面试官会一点一点和你分析算法。如何做?可以参考这个 https://www.jianshu.com/p/9847cc371858
  • 开放性项目解决方案。在MOBA游戏如英雄联盟、王者荣耀中,一般有多个玩家同时游戏,要如何实现游戏的实时性,如何处理玩家角色之间的同步?
  • 怼生活。博客维护多久了?意义在哪里?以后想往那方面进行拓展?你听过贾佳亚嘛(优图主任)?计算机视觉领域杰出的华人科学家能不能列举3-5个简单评价一下他们的工作(李飞飞的IMAGENET,何凯明的RCNN/ SPP / MaskRCNN,贾扬清Caffe / Fair,任晓枫KITTI / Graphics,汤晓鸥Facial Descriptors),

2.5. GM/EVP/面委会 压力面: 60min~70min, 8.28

社团活动这么丰富为什么想做技术?

  • 怼深度学习项目;面试官超级好,其中聊到了推荐算法,个性化图像以及精准用户建模等. 也聊到唐杰老师(我最佩服的老师之一,真的很厉害)
  • 怼项目。跟踪领域做了几年了?说一下你对跟踪的理解并谈谈主流的跟踪方法?
  • 怼算法。快速排序算法(堆排序);L1正则化L2正则化的优缺点,为什么需要L1.5正则化;
  • 怼编程能力。全局与局部静态变量区别;explicit关键字的作用;如何实现多态,解释一下动态对象捆绑技术,解释一下运算符重载;谈谈你对指针函数与函数指针的理解;
  • 开放性项目解决方案。游戏中需要对毛发进行深度刻画,从渲染引擎角度设计一个基本的算法。这里需要详细的说明一下,希望一起和同行探讨。关于渲染,现在主流还是采用三角面片稀疏分解体素进行进行光照处理(当然如果你说你想用SLAM思考,我认为也是可以的)。如果直观从三角面片谈,我们就很get到面试官的出题点。游戏流畅度和人物的逼真程度都很重要,但是呢? 很难两全。如果是平整的对象,那么我们只需要几个三角面片就可以处理了(这也是早年很多游戏为什么都是光头或者固定发型的原因)。但是头发会消耗大量的三角面片。由于计算机存储人物形象就是依靠三角面片的顶点和灰度值,因此精细化头发渲染所消耗的内存将远远大于其他部位。 ///// PS:如果单纯回答利用三角面片渲染,肯定会被淘汰,没有get到问题的核心 /// 这里我提供一种思路,三角面片+直线曲率估计+B样条。 具体做法可以参考基于B样条的图像配准技术。 核心就是利用控制点+数学模型进行了稀疏化。

2.6. HR1背景调查:~20min, 9.1

  • 家庭,期望的工作地,腾讯中是否有实验室毕业的师兄师姐。
  • 为什么不去读博士?为什么要考GRE/TOFEL?
  • 目前收到了offer吗?如果有多个offer根据什么进行选择?
  • 你对腾讯的印象是什么,说一下你的优缺点?
  • 提供一位了解你的老师或者博士生的电话。

3. 跟踪申请进展


////////您已完成所有面试环节(微信招聘-个人中心,QQ招聘中心) 9.3
////////内推网:offer 待报批......     9.4
////////内推网:offer 报批中......     9.10
////////内推网:毕业生已录用 ....    9.11

4. 总结 

4.1 实习 or 科研

最好还是参加实习生培训,优势就是快准狠,劣势是没时间发论文刷简历;

对于笔者而言,找工作和留学一样,都是一种生活的探索。腾讯刚开始也没有投递,心虚。7月份好基友开始忽悠我一起去参加腾讯提前批面试,那时候我还在准备出国文书...  

但是最后我们的申请结果都不错,基友中了TIMI Studio,对...就是设计了王者荣耀、天天酷跑的天美工作室,一年变土豪啊 !!!

4.2 笔经 and 面经

剑指offer能重复就重复,最好背下来,基本就能解决C++/数据结构; Python由浅入深过一下;模式识别与机器学习计算机视觉算法(艾海舟)当做科普有时间读一下;

维护一个大型的开源社区或者开源项目可以让自己“更真实地”融入所谓的计算机视觉、人工智能这个圈子。

多看论文,多背论文,多重复论文,多发论文。

多看源码,多写算法,精益求精,长期积累。

最后,无论是求学还是深造,都希望大家实现自己的梦想。

猜你喜欢

转载自blog.csdn.net/shenziheng1/article/details/82633013