导语
学历永远是横在我们进人大厂的一道门槛,好像无论怎么努力,总能被那些985,211 按在地上摩擦!
不仅要被“他们”看不起,在HR挑选简历,学历这块就直接被刷下去了,连证明自己的机会也没有,学历真的这么重要吗?
以前我的答案是的,总认为失败就是自己学历问题,总觉得一切不公平错误都是外部的因素,从来没有考虑过自己,自身是什么能力,几斤几两!但是经过这次阿里的面试,让我有了新的见解!你所认为的失败仅仅只是你不够努力的结果,程序员确实是高学历的行业,但是更多更重要的是技术的沉淀。感谢这几位阿里面试官,没有因为我的学历看轻我,更感谢能给我这次机会!
对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身大专,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个大专渣渣也奋斗了起来,竟拿下了阿里P6岗。今天分享这波面经,主要是希望能够激励到同样被学历所困扰的技术人,能够对职业生涯和技术规划有一个参考价值,感谢!
阿里面试需注意
阿里实习生招聘/秋招开始的早
学校下学期开学时间是2020年2月20日,而阿里的实习生招聘内推开始时间是3月1日,也就是说开学一周后阿里就开始内推了,相信很多同学还没从寒假里缓过来吧。阿里的秋招内推开始时间是7月4日,也就是很多学校才放暑假或还没开始放暑假就开始内推了,相信还有很多同学是打算暑假复习两个月再战秋招的吧。而且阿里内推成功即开始面试,同样也没有缓冲的时间哟~
阿里实习生招聘/秋招并不在意素质测评和编程测验
按照阿里校招官网的流程图,内推成功后会收到素质测评和编程测验的邮件通知,要求三天内完成。但是可千万别理解为没完成就不会走到面试流程了,好多小伙伴拖着编程测验不做,准备腾出三天时间抱佛脚的,结果当天或者第二天就接到电话面试了。
阿里实习生招聘/秋招主要在内推,正式批次相当于补招
阿里的绝大多数部门的招聘都放在了内推,等到内推时间截止的时候绝大多数部门都已经招满人了。正式批次笔试后,能够收到面试通知的同学很少,而且面试的部门也主要集中在高德、虾米、钉钉、优酷等部门,而非集团、菜鸟和蚂蚁。
阿里实习生招聘/秋招名额先到先得
一般来说,越早内推,越早面试,面试通过的概率相对来说更大。在内推要截止的时候再内推多半因为部门招满人了没人鸟了。
那么,面试阿里P6岗,需要掌握多少呢?
1. Android基础 & 常用
- 针对Android基础&常用知识,我认为对于初级开发者来说,按照优先级最主要的知识点主要包括:四大组件、布局使用、多线程 & 动画;
- 具体介绍如下:
2. Android进阶
针对Android进阶知识,按照优先级最主要的知识点主要包括:自定义View、性能优化,具体介绍如下:
3. 与时俱进、热门技术
除了基础日常使用的Android知识,我们还需时刻关注行业动态,与时俱进的学习新技术,如近些年来较为热门的Android新兴技术包括:Flutter、热修复、插件化等;
同时,了解 & 学习常用的开源库也十分重要,常用的开源库主要包括图片加载、网络请求、异步处理的开源库,具体类型如下:
4. 编程语言:Java与Java虚拟机
Android是基于Java的,所以学习Java和Java虚拟机(JVM)十分重要
对于学习Java,我们移动端开发学习Java不需要后端那么深入,我认为作为Android开发者,学习的内容包括:语言特性、基础使用、集合类&机制。具体介绍如下:
二、阿里面试题(共4面)
一面:
时间:2020年8月23日
时长:1小时
1、 c++从cpp文件到exe可执行文件经历的流程
2、 c++动态链接和静态链接的比较
3、 了解Android的Linux层吗(我答不了解,然后没有然后了)
4、 JVM内存管理
5、 操作系统中虚拟内存的作用
6、 操作系统中的分页机制
7、 路由器和交换机的区别
8、 View的渲染流程
9、 内部类分两种,static和非static,有什么区别。
算法题:
1、层次遍历,自定义树的结构,不一定是二叉树,按顺序输出节点的值
2、只输出一层的首尾节点的值。
二面:
时间:2020年8月27日
时长:45分钟
1、 自我介绍
2、 TCP和UDP区别
3、 Java接口和abstract类的区别
4、 怎么才算abstract类,可以实现实方法吗,接口可以实现实方法吗
5、 Java泛型
6、 Java多态是什么,重载和重写的区别
7、 HashMap的put和get是怎么实现的
算法题: 输入一个由(、)、[、]、{、},组成的字符串,若其符合规则,输出true,否则输出false。比如)(、({)}、[、())等就不符合规则了,但是({})这种也符合规则。
三面:
时间:2020年9月8日
时长:65分钟
1、 自我介绍
2、 TCP三次握手和四次分手,为什么分手要四次
3、 Inner join、left join、right join的区别
4、 你了解范式吗
5、 java内部类有几种,他们的区别,匿名内部类有什么特点。
6、 sleep()和wait()的区别。
7、 service的启动方式
8、 service的生命周期
9、 讲讲你对广播的理解。
10、 给你一个项目,你会怎么做它的架构(我不会,扯到了设计模式)
算法:
1、 实现一下单例模式(因为之前扯到了设计模式)
2、 给一个数组和一个目标数,找出所有的相加之和等于这个目标数的数字组合。
HR面:
1、为什么来阿里?
2、之前没考虑过阿里吗?
4、毕业这么久了,你觉得自己最大的改变是什么?
5、用一句话总结一下自己
注:由于文章篇幅有限,面试题的答案的详细版整理在文档里
需要的直接点击GitHub免费领取~
- 阿里面试解析
- 其他大厂更多真题解析
三、拿下阿里P6岗offer前,我做了些什么?
(1)准备简历
简历是门面,更是敲门砖,能否拿到大厂的面试机会,就要看自己的简历如何,抛开学历意外,大厂最看重简历是否有亮点,因此我们对简历内容要有准备,对自己的突出点,包括技术、个性上的亮点,要练习表达,避免临时组织语言。
(2)提升技能
实际上我有个阿里的朋友很早之前就向我透露过,很多人认为大厂看重学历,但实际情况并不完全是,在阿里只以能力论英雄。所以,在日常生活中,通过不断地学习,提升自己的能力,努力去拉进自己与目标值的距离,这是很有必要的,也是未来的必然趋势。
关于提升技能,我的做法:
- ①阅读实战文档
- ②读一些源码
- ③读一些技术笔记
(3)猛刷面试题
对于base不是太好的人来说,刷面试题实际上是最具有“急救”效果的办法,因此在面试阿里前,我是刷了不少面试题的,目的倒不是希望面试时能被问到原题,而是对大厂面试有一个相应的了解,清楚阿里面试会问一些什么,涉及到哪些技术栈等。
关于刷题,我有话要说:
- ①Android核心面试知识点整理
- ②算法部分(LeetCode+算法的乐趣)
③BAT大厂面试真题+专题训练
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
做个总结
很多学历不太好的人,可能对自己没有太大的信心,实际上任何事情都有“奇迹”发生,而这个“奇迹”关键还是要靠自己去创造。无论你是小白菜鸟,还是技术大牛,日常都不能够落下学习这件事情,一旦落后下来,就容易遭到淘汰。
以上我的经历希望能够给大家带来帮助,另外自己手头上的资料整理均可免费分享,需要这些资料的朋友,点赞后点击我GitHub即可免费获取!