VIVO大法好
Vivo提前批笔试及面试复盘首先是笔试然后是面试环节:一面,技术面:然后是HR面 总结Vivo提前批笔试及面试复盘
首先是笔试
时间60分钟,三道编程题,不允许跳出网页使用本地编译器,只能在网页上编辑。
第一次不能使用编译器,感觉暴露了很多问题:
首先是一些不常用的方法名可以记得不是很清楚,原来都是依赖于代码提示的;其次是类包需要自己导入,平时都是编译器自动导入的,路径可能记得不清楚,回忆,试错或者是找人帮忙都很浪费时间,在时间本来就很紧张的情况下;代码调试的时候也没有在本地调试方便,不能设置断点单步调试,只能提交看结果。(不知道是不是我使用有问题,我为了查错,很复杂的打印了很多的日志)这暴露出了自己代码不扎实的问题,很多东西掌握的不牢靠。
接下来是三道题目:
第一题是,两个数组,要求找出在数组一种存在,但是数组二中不存在的数,并按照顺序输出。
很简单,可以使用暴力,我使用的是辅助空间法,用数组二的数当下标存元素1,然后数组一依次查询这个表后输出。不过辅助数组的大小是个问题,题目没有给出数的范围。我大胆的设了500,因为感觉考察的这个题目设的数字太大了没有必要。
第二题是链表题,要求将排在倒数第N和倒数第M的节点置换过来。
也不难,我是先遍历了一遍看了下长度,然后计算出两个节点的正序位置,然后第二次遍历,进行交换(设一个辅助的节点temp)但是这个题目一直有个小bug卡了好久。因为不习惯网页编程费了不少时间。
第三题就是贪心算法+动态规划,具体题目忘了,可以参考01背包的小偷偷东西问题。
然后是面试环节:
一面,技术面:
上来先是自我介绍Java的内存管理,堆区和栈区放什么?举了个例子 Person one = new Person();分别放在什么地方?Java的垃圾回收,自动回收,问垃圾回收的算法。(这里米有了解过)设计模式,问设计模式熟悉什么,讲了工厂模式。基础知识这里回答的不是很好,面试官不是很满意,然后聊到了机试题目,第三题说是动态规划?让我说一下什么题目可以用动态规划求解,求解过程重要注意拿几个方面?然后聊到项目,我掏出手机直接和他展示我的项目(指尖和人脸的心率检测)。然后详细解释了我们的原理和实现过程。问我在开发中遇到了什么问题?我从算法的优化上说了说,说在开发中遇到的难题说了说,以及解决办法。然后问我有没有针对某些问题做出过优化,我也相应的说了下,重点是突出自己项目中自己所做的工作量以及亮点。问我Android四大组件熟不熟,我分别大概的说了下作用,面试官没有更深的问下去。
后面稍微聊了下,然后就结束了这里的面试。
(这一轮还有人遇到了手撕代码题,我觉着遇见不是坏事,只要难的没有思路,手撕代码没有办法调试,只要把思路写出来就好,边界值都基本上不需要去考虑,我确实挺遗憾没让我撕的,想体验一下)
然后是HR面
先是自我介绍,然后面试官开始提问家在哪里,家里是不是独生,想去哪里工作,有没有女朋友,女朋友家哪里,什么时候毕业问了为什么来现在的学校,保研么,我回调剂,问我一开始考的哪里等?问四六级情况?问有无竞赛?我就把前段时间参加的蓝桥搬出来了,虽然水,也还能充个数,还有互联网+和大挑。本科和研究生期间做的最骄傲的事情是什么?(我本科说的是学生工作,在勤工助学管理中心(校级)外联部工作,开了130余场招聘会,累计发放工资大概80余万,研究生期间说的是开发工作,将一个项目从零到一自己一点点的开发出来,优化,很有成就感。)然后提到了我研究生有帮一个组织写公众号推文,面试官问那你文采是还不错么,我回大概是的,自己喜欢写写博客啥的,主要是技术,也会写些自己的随笔,现在最高的一篇随笔访问量在6W左右(有夸张,其实是5万多一点)。面试官看上去还挺感兴趣的。然后问了对vivo的认识,我提前看过vivo的一的小本子介绍情况,还提到有师兄在里面,推荐我去,然后问到比较熟悉各大厂商的手机的话,说一下看法,我就尬聊了一波小米 OPPO 华为,然后还提了提我曾经的信仰魅族。然后我提了几个问题,结束。总结
技术面没有捷径,基础知识和算法一定要牢固,后面一定要更好的准备,争取这一块让他无懈可击。然后要是有一个可展示的软件或者是成果,我觉着是个不错的加分项。
HR面一定要想办法把自己认为的优势全部说出来,无论是竞赛奖学金还是学生经历啥的,技术不感兴趣说不定HR小姐姐会感兴趣。