海康威视校招C++岗⾯经(笔试+⼀⾯+⼆⾯+三⾯+Offer)
前⾔
海康的提前批挺早的,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的,估计是学历要求⽐较⾼吧。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论