阿里、360校招面试总结

本文约 2500 字,阅读需 5 分钟。

阿里、360校招面试总结

背景:笔者八月份处于实习考核阶段时投了阿里和360的Android开发,虽然九月初已确定实习留用,但仍然抱着丰富经历的心态参加了阿里和360的面试,虽然结果平平,但也有不少收获,所以分享出来,希望帮助还在为offer奋斗的同学们。

有惊无险的笔试

两个公司投的都是Android开发岗位,笔试题一般都是20-40个选择题,包括但不限于计算机基础知识、Android相关、概率论等数学问题,比如阿里的笔试题里面就有机器学习相关的选择题。紧接着会有2-4个编程题,类似ACM,但难度低很多。 之所以有惊无险,一是360笔试之前有30道测评,因为肚子疼上厕所只做了一半;二是阿里笔试时编程题提交后一直在排队,加上赶班车,所以两题都没运行,直接提前20分钟结束。所以能通过也算是运气不错。 我没有针对选择题大量刷题,也没有针对编程题刷Leetcode,唯一看过的一本书是4月份找实习时看的《剑指offer》。比起很多人,我算是比较懒的了,但是除了头条笔试没过(第一次笔试,拿来找感觉)其他都很轻松过了。我总结来原因有两点:

  1. 平时的积累,如果本来就很喜欢技术,平时坚持学习,选择+编程就能超过70%的人,足够获得面试的入场券了。
  2. 正确的心态,很多人选择题没底,编程题做不出来心态就崩了,其实完全没有必要,你只要尽量得分就行了。比如360最后的编程题我没时间做了,但是答案40%都是1,我就直接输出1,最后编程通过率为2.4/3,这就够了。

个人感觉,我一般都是跪在技术终面,因为这一轮往往需要你对Android某几个领域有深入研究,这是我的劣势,因为我没有多少Android相关的经验。所以如果基础好,完全不用害怕笔试。

360三轮面试

轻松的第一轮

这应该是我所经历过的最轻松的一轮面试,面试官一边翻我博客和Github一边询问我相关内容,虽然有些东西比较久远我不太记得,但看的出来面试官很满意我对编程的热情;此外还谈了Android热补丁相关的,由于实习原因,我花了很多时间研究热补丁,所以也说的非常好。经过这两个问题已经确定我过了,但面试官还是提了一些基础问题,我有说的不准确的地方,面试官也会提醒我。 二面时,二面面试官直接说我一面的评语是“对技术了解十分广泛”。很多时候,我们的博客、Github并不会被面试官看到,但我感觉使用这些是一个程序员的自我修养和追求,只是对于面试的帮助可遇不可求。

仓促的第二轮

上午一面结束后,马上接到了二面的通知电话,约在了下午4点,3点其实还有的一个美团一面的电话面试(360是在牛客网面试),由于电话老是掉线以及时间安排过于密集,所与美团这一面不仅没过还影响了后面的360二面。也提醒了我:面试时间不能太密集,因为i面试的开始时间和时长总是不可控的。 360二面只进行了20分钟,我现在已经不记得具体问题了*(因为记录存在电脑里不小心弄丢了)但感觉什么都没问….. 结束后5分钟,接到电话,说是后面会通知我HR面的时间。我的内心:

更仓促的HR面

我进入牛客网的面试间,感觉肚子不舒服,又跑去卫生间,回来发现HR在召唤我…..面试第一句话:你怎么这么久才接。。所以,如果很需要offer还是要注意这些细节!这个HR很严肃,问了一些行业和个人发展问题,中间有一次说的太泛被打断,大概也是20分钟。所以,回答问题时既不能过于简单,显得没有深入思考,也不能泛泛而谈,忘了自己在回答问题。最好按照重要性说一二三四点,也能体现逻辑性。

总结

大概一周后,收到通知,说是进了offer池(就是云备胎),虽然离offer这么近却没拿到很可惜,但是也有不少收获:

  1. 平时的积累(博客、Github等)都会助你一臂之力。
  2. 安排好时间,面试只有30-60min,但算上排队等候的时间应该预留2小时。
  3. 找一个安静的环境,注意身体(不乱吃东西)。

阿里两轮面试

第一轮:知识的广度

面试题:

一面 详细介绍Android热修复 堆和栈的区别 进程和线程的区别 如何判断栈是地址递增还是递减 输入一个网址到看到网页的过程 dns解析的详细过程 TCP和UDP的区别 UDP在那些场景并比TCP高效、合适 如何让UDP变得可靠 有哪些使得UDP变得可靠的协议 读过哪些源码 IOS和Android,为什么选择Android 什么是本机序,什么是网络序 汇编中哪个寄存器存储返回地址(值) JSON和XML的区别 HashMap为什么高效 ART和Dalvik的区别 有哪些解决解决哈希冲突的办法 对工作城市有那些期望

第二轮:知识的深度

面试题:

二面(部门:菜鸟网络) 自己做过Android相关的项目 介绍一下你学的热补丁 最近看过的书(一说编译器就冷场) Android和Java哪块你比较了解 学习过那些Android框架 Andfix如何做序列化的 JVM哪一块比较了解

总结

一面40分钟,二面20分钟,一面虽然没准备,但是本来就是平时积累,所以能过。二面等了个小时,中间直接回工位干活去了,接到短信找了个会议室开始面试,和之前实习而面很像,都是深层次的原理,如果平时没涉及,认真准备可能也会过。以后还是多注意学习的深度,功到自然成。

最后总结

所有的面试,都是(实习)上班时间抠出来的,平时也没有准备,没过也正常,但也算体验到了校招的套路,可能因为自己没什么后顾之忧,所以面试都比较放松,有时候这是一种帮助(更好的发挥),有时候也是一种阻碍(面试官感受不到你对这份工作的渴望)。 对于技术类校招(产品、运营不了解),我感觉还会有很多规律可循的。

  1. 笔试只是开始,如果笔试都怕那肯定走不到最后。
  2. 80%的问题都是可以充分准备的(计算机专业课),20%是你的项目,你的技术深度,你的潜力(大公司尤为看重)。(看看阿里的问题就知道了)
  3. 几乎没人在HR面挂,谁都不是傻子,HR面完了还没哪到offer其实是前几面综合起来比别人差。(本次360就是这样)

后面会写一篇文章,从各个角度全面总结我眼中的校招。

总阅读量次。