网申
vivo本次校招全国共700多人,其中软件工程师Java和C/C++两个方向的各招120人
笔试
vivo的笔试不是很难,以两道编程题来说,一道问题是这样的:一个数组中的所有数都非0,并且除了其中一个数外其他数都成对出现,求这个单独出现的数。不用怎么思考就知道用异或运算就行了。第二道题还记得是链表的基本操作。
但是无论是哪一个编程题,都已经把处理输入输出的框架写好了,所要做的就是实现接口函数的逻辑。个人觉得难度系数是我笔试过的公司里面最低的。
总的来说,只要是校招有所准备的人,都应该能通过笔试。
面试
笔试后两天就发短信通知到香格里拉大酒店面试,面试的人大多西装革履(整的得跟真的一样),感觉自己很格格不入,不过也许这点才符合屌丝程序员的形象吧。
准备
之前面头条的时候挂在二面,后来自己分析最大的问题就是自己简历上的东西已经忘了很多了。所以回来又把自己写的内核再熟悉了一遍,当然了,当时写得很仓促,没有什么文档。不过由于使用C++写的,看头文件就基本知道每个类的作用,所以相等于又重温了一下操作系统的基本概念。我就把基本的流程画了个图,然后把问得最多的文件系统和进程管理这两块重点做了分析和总结,打印出来准备面试时候可以拿出来和面试官讨论。
其实关于简历上的东西,面试官一般都会让你介绍自己做得最有价值的一个项目(头条,谷数的面试都是这么问的),所以对于自己做过的东西一定不能含糊。
还有另一点,也基本是面试官和应聘者沟通的第一个话题:自我介绍。虽说人人都会说话,但是做好自我介绍却不是那么容易。所以也为此特别准备了一下,一开始感觉不是很自然,模拟练习多次就自然了。
技术面
上来先让做自我介绍,简要把自己的学习专业说了一下,然后说了一下自己做过的项目,平时的兴趣爱好(编程和看书),专业方面兴趣很广泛,主要对操作系统、编译器和计算机网络有较深的理解,这时他管我要了一份简历。
一开始问了一个OSI的7层模型,我想了半天记不起OSI是啥了(毕竟这个东西只是概念性的),就答说广域网和局域网(gg),面试官提示了一下,说7层,然后我忽然想起来是这么个东西,然后问能不能说说5层模型,然后又问了ping处于哪一层。
问三次握手和四次挥手以及这样做的原理,就把以前学的再复述一遍。
这时候看我简历上写着:Linux-一般, 就问我常用哪些命令,答:ls, cd, vim ,....
问我vim查找命令,答曰,斜杠和问号
然后看我项目经历里面写过内核,就问我虚拟内存怎么实现的,blabla了半天后发现其实他也不是很懂
接着问我Linux下怎么查看虚拟内存,答free -h
此时感觉面试过程还算顺利,至少所有问题都答了上来
面试官看简历上写着参加了2017编程之美大赛,简单问了一下,然后就是让等HR面了。
HR面
在技术面完之后,被带到另一个房间等待HR面。由于之前没有面过HR,所以百度了一下面经,看了一下一般HR问的问题都有哪些,该怎么回答比较好。
HR上来也是先让作自我介绍,然后问家庭情况,个人平时在学校的表现...
由于学分绩比较感人,被HR怼了半天,问我对这个问题怎么看待。我没反应过来,感觉自己不是很适合回答这个问题,毕竟对学分绩什么的一直不是很看重,不过面试到现在才发现其实学分绩对于招聘者来说也是一个重要参考。就把真实情况告诉了HR,然后为了避免尴尬,就总结了一下,说这其实反映的是一个人的成长历程。
然后问对vivo有没有了解,答曰:“这个......,全国出货量最大的手机厂商.....”,感觉自己快要说到vivo的痛点了(高价低配),赶紧打住,此时场面十分尴尬。
HR看我回答不是很好,就问我来之前都做了哪些准备,有没有了解vivo公司,然后很老实的回答:刷了刷算法题,把自己做过的项目重温了一遍,不是很了解vivo公司。这时候内心已经快要崩溃了,感觉这个HR问的每一个问题都很有针对性。
然后问我有没有首选工作地点,我回答一线城市都可以。然后问知不知道vivo的软件研发在哪里,答说不太清楚(其实后来看到招聘官网上职位都有地点的,才发现自己其实真的没准备好,所以关于工作地点也要准备一下)。
问职业规划,答将来能领导小组做项目(其实想说跳槽的,但不能这么作死)
最后结束了,问我有没有问题,当时我觉得其实自己是没什么问题的,但是为了不留下不善于沟通的印象,就问了个他之前说的工作地点的问题,答曰南京深圳都有,看情况分配。
最后面试结束,要了我的成绩单和四六级证书,起身握手,让回去等通知,完。
总结
面试准备应当准备技术面和HR面,最好提前把自己应聘的岗位信息了解全面,面试的公司大体要了解一下。
vivo的技术面试很基础,只要三年写过点代码的人都能够答上来,希望各位都能找到一份好工作吧!