海康威视校招面经(笔试+一面+二面+三面+Offer)

版权声明:emmm……我也想成为大佬 https://blog.csdn.net/CV_Jason/article/details/84878391

前言

  海康的提前批挺早的,8月份就开始了,尽管海康本身口碑不怎么好,但是海康研究院貌似还不错,听说提前批会大概率进海康研究院,所以网申了海康提前批,岗位是C++研发岗,结果秒拒了,效率还挺高,后来听师兄讲,海康研究院应该只要某些985,像我这种双211渣硕,简历都过不了……
  然后是9月份的正式秋招,总体来说,海康的整体难度不是很高,实验室的小伙伴几乎都拿到海康的Offer了,2019校招的批发价是14K,部分SP达到16~18K,相比于互联网公司略低。

应聘经过

笔试

  海康的在线笔试系统用的是赛码网,而不是牛客,题目挺简单的,30道选择题,20单选10多选,内容涵盖C、C++、数据结构、计算机网络、操作系统(Linux)等等,都很基础,然后是一道问答题,TCP和UDP的区别,然后是编程题,Linux网络编程主机字节序和网络字节序的转换函数的实现,没有难点。

一面

  笔试过了之后,大概一周之内,就会收到面试通知(短信+邮箱),面试时间距离通知时间一般1~2天。海康合肥站面试地点安排在高速开元大酒店(不知道为啥,茫茫多的校招都在高速开元)


  进去之后先是一排HR小姐姐,签到,填一份表格,上面是自己的基本信息,在校成绩,获奖情况,申报岗位和期望薪资等等,填完之后进入排队系统,现场人挺多的,甚至我觉得他们只租了一间小客厅是不是太小气了。下面根据当时的回忆整理一下面试经过。

  首先还是万年不变的介绍自己,我先把简历递了过去,然后按自己准备的说,很快就说完了。

  面试官是个小哥哥,看起来挺年轻的,感觉有点腼腆,不过人倒是很干脆,我介绍完自己,就开始问我问题了——

  Q:C++的class和C的struct有啥区别?
  A:从访问权限,友元、继承等C++高级特性展开描述,同时,C++的struct和class仅有访问权限(封装)的区别,但是C所支持的struct就没有那么多功能了……回答的比较全面,貌似面试官还算满意。

  Q:C++是怎么动态分配内存的?
  A:说了一下new关键字

  Q:new和malloc有啥区别?
  A:这道题以前见到过,大概说了4~5条,结果有一点说到new可以被重载,malloc不允许被重载的时候,被面试官打断了,反问了一句,new不是关键字吗?关键字为什么可以被重载?当时有点紧张,稀里糊涂的说了一句new可以被重载。但后来想想,比较全面的回答应该是new既是关键字,也可以作为运算符,作为运算符时,可以作为 operator new函数重载。只是当时没反应过来,应该被减分了。

  Q:如何申请一块超大连续内存?
  A: 这道题没有见过,但是根据对new和malloc的了解,new申请较大内存的时候,貌似是物理不连续的(虚拟地址连续),malloc申请内存是连续内存,但是会受到内核的限制,从这个方面,简单的回答了一下。后来查了一下,感觉面试官可能是想考察我对Linux内核管理内存方式的掌握。

  Q:说一下虚函数机制?
  A:这个问题就比较常规,就从虚函数表的实现,单继承,多继承,派生类虚函数重写等方面开始说。貌似还算可以。

  Q:说一下vector和List的区别?
  A:说了一下vector和List的访问元素的特性,并简单的说了一下vector和list的底层实现,大部分是《C++ STL》上的内容。好在没问我内存管理那一块,不怎么会,心虚……

  Q:你都知道哪些设计模式?
  A:简单说了一下常见的几种模式,单例、工厂、建造者等等。然后他让我手写单例,我写了一个比较简单的用静态成员实现的线程安全单例,貌似还算满意。

  Q:(开始问项目)简单的介绍一下你的基于视频放大的心率检测项目吧?
  A:生动、形象、通俗而娴熟的讲了一下项目。讲的过程,陆陆续续问了一些小问题,都是关乎项目的,由于这个项目是我独立完成的,所以基本上没啥难度。

  Q:你简历上写使用了OpenCV,你都用OpenCV做了哪些工作?
  A:简单的聊了聊视频读取、矩阵运算、高斯金字塔、理想带通滤波、傅里叶变换等,以及在项目中的具体实现。感觉面试官是懂OpenCV的,毕竟海康做视频这一块也挺多的,图像处理肯定很强,但是他没继续深入问,可能我做的这一块他不熟悉,或者不感兴趣吧。

  Q:你第二个Android App项目中用到了FFMPEG,你用FFMPEG做了什么功能?
  A:先简单的解释了一下OpenCV在Android NDK中存在一定局限性,支持的视频格式有限,然后针对这个问题,用FFMPEG进行视频转码,解决视频软编码不兼容的问题,解释了一堆,但是面试官貌似不认同这个做法,他说VideoCapture支持H.264格式,不需要进行转码,是我的方案不对。我当时一脸懵逼,直觉是,我没搞错,毕竟这个问题我研究了近一个月,直接用OpenCV的Video模块肯定是不行的,但是你也不可能当面反驳他,我想,兴许是有其他我不知道的用法?于是说了句,那可能是我研究还不够深入,当场认怂。但面试完回来之后,我又确认了一下,不存在那种可以不转码直接读H.264的方式,我也不知道面试官小哥哥在表达什么,是不是搞错我的意思了?

  Q:你调过最大的bug是什么?为什么?
  A:这个问题其实挺深奥的,我研究生复试面试就遇到过,一方面,可以反映你解决问题的思考方式,一方面也可以看你工作的层次。我挑了一个我觉得还可以的场景。结果说完之后被面试官点评,我觉得你debug的方式有点问题……blahblahblah说了一堆,我也没太搞懂他的想法,礼貌性的回应了一句“我觉得你说的很对”。


  然后的聊天就比较轻松了,问了一些你平时都是怎么学习的啊,看书还是看文档,有没有写博客的习惯啊,GitHub有没有自己的项目啊……等等,我说我比较喜欢看书,他问为啥,我说感觉看书知识结构更完整一点,纸质书籍更有感觉,能够静下心来专心看,然后说了一下自己有写CSDN的习惯,GitHub也有,但是没有star很高的项目等等……


  然后一面算是结束了,过程也就20分钟,当时是12点多了,感觉这个小哥哥急着去吃午饭,也没怎么问我,然后问我有啥想问的没,我就问了一些海康C++岗具体的工作,他说比较偏底层,具体还要看部门。然后就通知让我等待下午的二面,一面算是过了。

二面

  一面结束之后去外面等待,二面是HR面,人挺多的,我从12点半结束一下子等到4点,等了将近4个小时,但是HR面相当轻松,面我的是个小姐姐,聊天内容也相当常规,问了一下在校经历,从非技术层面简单的问了问项目,又问了一下在校成绩(感觉挺重视在校排名的),期望薪资等等,全程也就20分钟吧。

三面

  原本是没有三面的,二面结束之后我就回学校了,结果后来9月19号的时候邮件通知我,说9月20号有三面,我当时有vivo的面试,时间冲突了,想了一下,不是特别想去海康,就推掉了。

  结果那边的HR还挺敬业的,晚上10点多给我打电话,问我为啥不能来,我说你们通知的太晚了,我明天有事,去不了,结果HR说可以安排下一场。

  结果第二天,20号中午12点,我刚面完vivo,正在肯德基吃午饭,HR电话打过来了,说这是合肥站最后一天了,中秋假期后(21号开始放假)就不来了,问我现在是否有空,电话面一下。当时刚面完vivo,面的还可以,状态还挺好的,就说可以。

  然后就开始问我问题了,感觉三面的面试官是个PM,问的问题都一针见血,都是从产品的角度问我项目,和华为的那个综合面面试官有点像,有点压力面的感觉,不过好在当天状态不错,见招拆招吧,自我感觉挺好的,但是后来听说,三面貌似是能够出一批SP的,100进20的样子,不知真假,但后面也没给我SP,看样子是我态度不够好,或者水平有限吧。

Offer

  海康的Offer发放挺快的,过了中秋假期就发邮件了,他们是现场谈薪资的形式,地点还是高速开元大酒店,一对一的聊,可能是我太怂了,我开口要14K,结果真给我开14K,感觉被自己坑了,我一个小伙伴,开口要了16K,给开到了15K。不过今年海康违约金蛮高的,直接要9K。

总结

  总的来讲,海康挺容易进的,但似乎口碑不怎么好,工大拿到海康offer的,几乎最后都没签,或者签了后来又违约了。听说海康研究院蛮好的,但是身边没见过有拿到研究院Offer的,估计是学历要求比较高吧。

猜你喜欢

转载自blog.csdn.net/CV_Jason/article/details/84878391