2019届面试经历

本人主方向视频编码,根据个人面试经历整理,持续更新。

校招

兆芯 视频架构工程师

9月10号面试,之前没做笔试,竟然还给面试机会了。一面视频面,40分钟,可能是因为没做笔试,全问的C/C++,能力比较差,很多没答上来,大概有:1.struct和class的区别。2.重载和重写的区别。3.命名空间的作用。4.子类如果继承可以调用父类private成员变量。5.sizeof求类大小都包括哪些。6.extern C作用。7.顶层const和底层const的区别。8.逻辑移位和算数移位的区别。9.补码。10.C中逗号符号。然后手撕代码,题目比较简单:1.函数实现一个int值指定位置0和置1功能。2.双向链表指定位置插入。还问了逻辑题:1.10个篮子,1000个苹果,安排如何把苹果放到篮子中,能实现任意要多少个苹果直接拿篮子就能得到。2.如何实现字符串逆序。3.求一个数是否是二的幂次方。最后问了为啥要投兆芯,结束。

第二天,视频面二、三、四连面,下午2点开始一直到6点40,强度真大,第一次遇到,有点吃不消了。二面1小时,主要聊得项目,问了视频编码的一些理论,写了一个类,实现字符串的基本操作。紧接着就是三面,估计是部门主管面,1小时。面试官跟我说了兆芯这边的岗位要熟悉硬件,问题中偏向于考察我的硬件思维,问了两个问题:1.快速缓存的复用问题。2.现在编码框架中可以考虑到的硬件加速的部分。本人基本没接触过硬件,对于这块十分陌生,打的都不在点上,只能说些能想到的东西。还好面试官比较好,不再追问硬件问题了。然后问了几个逻辑题,都是二进制比特位操作的,不难。手写代码:一个类实现循环队列。可能是因为面的时间有点长了,比较累,脑子不太够用了,写的挺乱的。最后是经理面,给我介绍了兆芯的发展和部门岗位情况,很详细,发现硬件架构师好屌啊。聊了大概2个多小时结束,最后我真的有点心力不足的感觉。

之后通知现场面,我没去,有点对不起前几天的兆芯面试官。

华为 多媒体算法

西安地区,9月5-7号优招面试,9月5号收到消息,9月6号去面试。通知的是10点签到,去了人太多了,根本不看通知时间,按照签到顺序等待面试,人真的很多!我投的是媒体算法-终端芯片部。

第一轮业务面,就是技术面,先自我介绍,然后被问了项目,面试官让我讲一个项目,讲项目的过程中穿插提问。项目介绍结束,根据项目问了视频编码理论的细节知识点,被问到CU、PU、TU的概念区别,HEVC中都有哪些运动搜索算法。通过面试官了解到,西安终端芯片这边算法不要人,主要招软件方向的,问我个人意向,为啥选西安。如果想做算法,最好是去深圳。

第二轮综合面,就是部门主管面,简单问了项目,面试官比较看重成绩、实习、项目、论文这些。面试官看了我项目说西安没有适合的岗位,问我要不要去深圳,我说不去,然后就推荐我去杭州云核心网,那边缺视频编解码,做监控的,和海康一样,问我接不接受。我接受了,面试官就给我转推了。最后问我有啥问题,我问了下西安这边的岗位情况,到底是做啥的,面试官说是主做嵌入式开发的,和视频编码相关的少,有音频开发。可能是直接转推了,就面了10多分钟就结束了。

二面结束很快收到了offer,等了半个月,中秋结束开始签约,收到签约短信去签约。估计是人太多,华为签约弄得很乱。优招校招、岗位、地点无规则发签约,很多校招的收到offer立刻给发了签约短信,优招的很多还在等着,很混乱。其次,华为调岗调部门不会提前给通知,签约可再谈也比较麻烦。再者,如果你之前已签约其他公司,据说华为是不等的。就这样等到9月28号,给了签约短信,此时也就是去凑热闹了,结果我也猜到了调岗调地点。华为这样弄真的让人很闹心,只能说拜拜了。

提前批

大疆 视频编码岗

一面
7月下旬,提前收到第一轮面试邀请,电话面,结果推了一天,第二天才面的。

第一轮技术,接到电话时还有点虚,而且一直听不清楚,之前面试过实验室的小伙伴也说听不清。我换了3个地方,还是听不清,前5分多钟就这么过去了,我有些大胆的要求更换联系方式,面试官很好,爽快同意了,用自己的手机打了过来,清楚太多了。就这点一定提醒下,不要怂,听不见,听不清就说。

首先让做了自我介绍,主要介绍研究生的做得工作,然后开始谈项目,会挑着你的项目展开,主要看你对你的项目理论、实现整体掌握,会就你的改进点提他的看法。我说到我近期的研究内容是变换编码,面试官让讲一下现在的主要工作和改进想法,被问到几个变换具体的理论知识:目前离散余弦、正弦变换核的本质区别,各种变换核的适用场景,以及是否存在蝶形快速算法。面试官还是很好的,中间我有个地方突然卡壳,面试官主动提醒的,一个小失误。另一个失误说错了一个很简单的东西,而且还重复了两次,被挑出来了才意识到说错了,尴尬。最后例行公事,问了能不能实习,以及回答你的问题。整体感觉,大疆还是很要求理论扎实的,问的比较细,不过面试官很好,不是那种咬住一个地方不放的,会主动避免尴尬。

面试官估计是大佬郑萧桢。

二面
一面后一周二面,部门主管面。首先肯定一点,大疆好贴心。面试当天通知换成视频面试,用赛码,甚是紧张,以为这是要手撕代码的节奏,结果并没有,只是很正常的HR面。估计是因为上一轮信号不好,要求换联系方式,这一轮专门为我换成了视频面,好贴心。

面试流程和其他公司一样,首先让自我介绍,然后介绍项目。然后开始谈人生规划、意向城市及影响因素、对offer及公司的排序、对大疆的认识和评价。面试官人很好,话题很轻松,给人反馈的感觉是大疆崇尚技术,只要你热爱,会给你很大的自由。另外面试官特别提到,西安19年应该就有视频岗了,虽然校招没有写,不过到时候可以选西安,需要在深圳先培训,听起来很不错。

三面
现场面,上去就手撕代码,让写矩阵乘法,没写出来,捂脸,口述思路。然后面试官问了项目、手绘编解码框图、360视频领域国内外领先的科研机构,最后问了对大疆的认识。面试官不是视频编码方向的,感觉凉凉了,让等消息。

头条

8月20一面,视频面,首先自我介绍,问了项目,问的还蛮详细的。然后写代码,矩阵顺时针旋转,没写出来,GG。

实习岗

阿里算法研发实习岗(C++):

这是我人生第一次面试,当时没有视频编码岗,抱着取经的态度算是乱投了C++研发,现在想想纯属找虐,不过也学到了东西。

一、面向对象的3个特征。 多态的定义和应用场景。
封装、继承、多态。

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

继承是指可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。继承概念的实现方式有三类:实现继承、接口继承和可视继承。

多态简单的说,就是一句话:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。实现多态,有二种方式,覆盖,重载。

二、常量函数的定义方式。
#define和const,定义的常量都不能被修改。

区别是:
1.编译器处理方式不同:
#define在预处理阶段进行处理。
const在编译阶段进行处理。

2.类型不同:
#define没有定义类型,只是简单的字符串替换,不进行任何的检查。
const常量有具体的类型,要进行类型检查。

3.存储方式不同:
#define在预编译中就已经替换了,因此不分配内存,仅仅是展开。#define实际就是给出了立即数,在运行过程中,常量在内存中会有若干个拷贝。
const常量会在内存中分配,可以是堆中也可以是栈中。以后在定义的常量调用时,只是使用对应的内存地址,不再开辟新的空间,在内存中只有一个拷贝,因此const相比#define,可以避免反复分配内存,节省空间。

三、static的应用场景。
static用于定义静态变量、函数以及类中的静态成员,特点是在程序开始时分配空间,结束时释放空间,默认初始化为0。

简单概括static的作用有两种:
1.改变存储空间位置,实现数据共享。
2.限定作用域,可以防止不同文件中函数重名。

四、开辟空间的方法:new和malloc。 new的开辟空间错误时会返回什么。
new和malloc都可用于申请动态内存和释放内存。

malloc是C标准库中提供的一个普通函数,会根据需求动态分配指定大小的内存空间,分配成功会返回指向被分配内存空间的指针,失败时会返回空指针NULL。多次调用malloc分配的地址不能有重叠,除非之前分配的内存已经被释放掉了。

new可以自动找到一个正确长度的内存块,并返回内存块的地址。分配内存失败时,默认抛出bad_alloc异常。

虎牙算法工程师实习岗(音视频SDK):

一面,主要考视频编码,看你了解程度:
1.讲解HEVC编码流程框架,码流传输的内容。
2.CU、PU、TU的概念和区别,对于4x4的块何时使用DST变化及原因。
3.STL库:map和set的区别(没答上来,不熟悉),vector和map的区别。

二面,据说是总监面,主要问的都是你的项目和个人意向,没有问技术方面的东西。

海康威视算法工程师实习岗(感知类:视音频\图像\三维感知\全栈):

一面技术面比较突然,本来是去被叫去参加宣讲会的,结果突然被告知视频方向面试官明天就走,因此改在今天面试。

海康面试官考察的比较全面。开始让自我介绍时还刻意要求介绍一下家庭、生活、业余爱好等内容,应该是在观察性格。然后让我自己挑简历中的一个项目来介绍,为什么选该项目介绍,其中遇到了哪些问题,怎么解决的,应该是在考察自学和解决问题的能力。面试官让我手绘并讲解了JEM编码框架,实际还是HEVC的框架,没变。最后让当场手写了一个函数代码,考察代码能力:实现一个函数,将输入的整形数的二进制的低3位到低7位全部置为1。题目很简单,不过我理解错了,浪费了很长时间,应该及时问面试官纠正思路的,不知道会不会因为这个挂掉。另外有问到英语水平,我直接说口语一般,同去面试的一个女生被要求英文自我介绍,注意准备。

HR面问的比较宽,主要考察处理问题、交流沟通的能力。首先问为什么投了海康,接着问项目的东西。实际对项目内容不care,主要想看你在项目里遇到了什么问题,你怎么解决的。然后又问了职业规划,让说了一下对自己的评价。最后看你有什么问题,整个交流,20分钟左右吧。

大华编解码算法实习岗:

大华实习岗面试放在了6月底,感觉很仓促,也感觉比较水。

技术面面试官是计算机视觉方向的,不懂视频编码,基本等于我在向他介绍视频编码的发展史。被问及有没有发提案,因为面试官是浙大博士,隔壁实验室是大佬虞露老师,然而实验室并没有提案,很尴尬。面试官很随和,聊得开。我问了下大华对视频编码岗的定位,感觉大华整体以产品导向,对视频编码不是很重视,投入较少,据说也在跟H.266标准。

紧接着就是HR面了,主要问了学校、成绩、岗位意向和个人优势,因为离家远,还被问到了对于杭州的认识,就结束了,等一周后通知。

你可能感兴趣的:(杂类)