牛批!Alibaba内部学习指南+最新面试题+学习大纲+内部学习书籍,理论与实战双管齐下!

阿里

Android进阶小刘是我的头条号,里面会不定期更新一些Android进阶学习视频,感兴趣可以关注一下!

面试前

阿里的实习生招聘我参加了内推批次正式批次一共两场。

阿里的内推批次和正式批次的时间是完全错开的,即在内推全部结束后才开始正式批次。需要注意的是,阿里主要部门(集团、菜鸟、蚂蚁等)的招聘几乎全部放在内推批次中,而正式批次绝大多数是非主要部门(高德、优酷土豆、虾米、钉钉等)的招聘。

阿里的内推没有统一的笔试,在内推成功后,马上就会收到素质测评和编程测验的通知。然而这两个测评其实并没有太大意义,做不做都会很快(一两天)就开始面试的。阿里内推批次的面试全都是电话面试。我在内推后的第二天就接到了一面的电话,部门是菜鸟/无线(记不清了)。

内推批次面试

  • 一面

内推一面大概40分钟,主要问的计算机基础,如HTTP、TCP、并发、二叉树遍历、字符串匹配算法等,还让我简单介绍了我做的两个项目。因为我的其中一个项目做的APP中有调查问卷的发放和收集,所以问了我如何防止有人刷问卷;我回答说可以限制IP、记录设备唯一编号、监测做问卷模式等,但都存在一些漏洞。最后我问他Android开发过程中是不是会遇到很多兼容性问题,面试官回答说会遇到,还详细说了他们有专门的大规模真机测试来检查兼容性。一面总体上答的还行,几乎没有涉及到Android相关的问题;因为是电话面试,也就没问什么算法题。

  • 二面

内推一面两天后就接到内推二面电话了。二面大概50分钟,主要问了Java GC机制、Android APP启动过程、Android事件分发、Android View绘制流程。GC机制因为刚看过所以答的比较好,然而因为阿里面试开始太早,我还没来得及复习Android,所以Android相关的问题答的一塌糊涂,比如APP启动过程就支支吾吾乱说一气,View绘制流程干脆说不知道,跟面试官说我知道Android事件分发流程,于是事无巨细说了好长一串,最后被面试官吐槽根本不熟悉Android。最后问了面试官对国内手机厂商乱改Android Framework层有什么看法,面试官回答说他也很无奈,但阿里一般都和手机厂商有合作,直接进白名单,所以没有碰到太大问题。

  • 三面

内推二面后过了一周多才接到内推三面的电话,而且是在周末的晚上11点的时候。三面大概20多分钟,主要问了做过的项目、Java基础、最近看的书、到阿里想学到什么。我不太确定这轮面试是技术面还是HR面,因为是晚上11点和女票刚回到酒店完全不在状态,而且面试官也似乎很不耐烦,加上那段时间一直在准备技术方面的问题对这些HR面相关的问题完全没有准备,所以答的很啰嗦也很糟糕,好多都没有答到点子上。最后我问面试官我答的怎么样,面试官也没有说什么就急忙不耐烦挂电话了。

内推三面结束后就觉得应该是挂了,然后又等了一星期,官网上就从**“面试中”变成“已回绝了”。**

正式批次

等到阿里正式批次开始的时候又投了正式批次,正式批次有统一的笔试,笔试用的阿里自己的系统;笔试内容记不清了,但一二十个选择题记忆深刻,好多超出Android相关知识的题目,好多做不出来的智力题。

正式批次的笔试似乎只有很少数的人通过了(主要是因为正式批次的岗位很少),幸运的是我也通过了,在官网预约面试时间后就开始准备视频一面了,面试的部门是钉钉(像之前说的,正式批次的部门都比较边缘)。

正式一面是视频面试,大概不到20分钟,是我实习秋招体验并列第二差的面试。主要问了Activity中能不能执行耗时操作(就是UI线程相关)、Android中有哪些内存泄漏的情况,然后就是共享屏幕写代码:实现单链表的插入删除和查找。为什么说体验非常差呢?首先整个面试就问了两个问题,而且这两个问题几乎任何有Android开发经验的都能对答如流,并且我回答完后就没有然后了,没有继续深入问;其次那个代码在数据结构教材上讲链表的时候一定会讲,而且也没有什么技术含量。最后面试官说还行,也没让我问他问题就结束了。

一天后官网状态就变成“已回绝”了,累觉不爱。

一些建议

阿里实习生招聘/秋招开始的早

学校下学期开学时间是2020年2月20日,而阿里的实习生招聘内推开始时间是3月1日,也就是说开学一周后阿里就开始内推了,相信很多同学还没从寒假里缓过来吧。阿里的秋招内推开始时间是7月4日,也就是很多学校才放暑假或还没开始放暑假就开始内推了,相信还有很多同学是打算暑假复习两个月再战秋招的吧。而且阿里内推成功即开始面试,同样也没有缓冲的时间哟~

阿里实习生招聘/秋招并不在意素质测评和编程测验

按照阿里校招官网的流程图,内推成功后会收到素质测评和编程测验的邮件通知,要求三天内完成。但是可千万别理解为没完成就不会走到面试流程了,好多小伙伴拖着编程测验不做,准备腾出三天时间抱佛脚的,结果当天或者第二天就接到电话面试了。

阿里实习生招聘/秋招主要在内推,正式批次相当于补招

阿里的绝大多数部门的招聘都放在了内推,等到内推时间截止的时候绝大多数部门都已经招满人了。正式批次笔试后,能够收到面试通知的同学很少,而且面试的部门也主要集中在高德、虾米、钉钉、优酷等部门,而非集团、菜鸟和蚂蚁。

阿里实习生招聘/秋招名额先到先得

一般来说,越早内推,越早面试,面试通过的概率相对来说更大。在内推要截止的时候再内推多半因为部门招满人了没人鸟了。

下面是阿里面试题的整理

记得清楚的只有这些了,还有一部分题目和详细答案我整理成了PDF,

需要的可以私信我【学习指南】我分享给大家,还有一些面试防雷小套路我也记录下来了。希望对你们有帮助!

  • 什么是ANR,如何避免

  • 主线程中的Looper.loop()一直无限循环为什么不会造成ANR?

  • ListView原理与优化

  • ContentProvider实现原理

  • 如何使用ContentProvider进行批量操作?

  • 为什么要使用通过ContentResolver类从而与ContentProvider类进行交互,而不直接访问ContentProvider类?

  • 介绍Binder机制

  • 如何自定义View,如果要实现一个转盘圆形的View,需要重写View中的哪些方法?

  • Android事件分发机制

  • 如何加载大图片

  • 布局文件中,layout_gravity 和 gravity 以及 weight的作用。

  • ListView里的ViewType机制

  • TextView怎么改变局部颜色

  • Activity A 跳转到 Activity B,生命周期的执行过程是啥?

  • Android中Handler声明非静态对象会发出警告,为什么非得是静态的?

  • ListView使用过程中是否可以调用addView

  • 属性动画(Property Animation)和补间动画(Tween Animation)的区别,为什么在3.0之后引入属性动画

  • 有没有使用过EventBus或者Otto框架,主要用来解决什么问题,内部原理

  • Android里的LRU(Least Recently Used 最近最少使用)算法原理

  • Service onBindService 和startService 启动的区别

  • invalidate()和postInvalidate() 的区别

  • 导入外部数据库

  • Parcelable和Serializable区别

  • 在两个 Activity 之间传递对象还需要注意什么呢?

  • Android里跨进程传递数据的几种方案

  • 匿名共享内存,使用场景

  • Application类的作用

  • 广播注册后不解除注册会有什么问题?(内存泄露)

  • 属性动画(Property Animation)和补间动画(Tween Animation)的区别

  • BrocastReceive里面可不可以执行耗时操作?

  • Android优化工具

  • TraceView

  • Systrace

  • Android动态权限?

  • ViewPager如何判断左右滑动?

  • ListView与RecyclerView

  • SpannableString

  • APK安装过程

  • 描述一下Android手机启动过程和App启动过程?

  • Android手机启动过程

  • App启动过程

  • Include、Merge、ViewStub的作用

  • Asset目录与res目录的区别

  • System.gc && Runtime.gc

  • Application 在多进程下会多次调用 onCreate() 么?

  • Theme && Style

  • SQLiteOpenHelper.onCreate() 调用时机?

  • Removecallback 失效?

  • Toast 如果会短时间内频繁显示怎么优化?

  • Notification 如何优化?

  • 应用怎么判断自己是处于前台还是后台?

  • FragmentPagerAdapter 和 FragmentStateAdapter 的区别?

  • Bitmap的本质?

  • SurfaceView && View && GLSurfaceView

  • 请简述一下你对fragment的理解?

  • 请简述一下Fragment的生命周期?

  • LayoutInflater,LayoutInflater.inflate()这两个是什么意思?

  • Android的多渠道打包你了解吗

  • 如何对APK瘦身?

  • Android当前应用跳转到三方应用

  • JVM、ART、Dalvik的区别和联系

  • Android中的classLoader相比java中的classLoader有什么区别?

  • Socket和LocalSocket

  • HttpClient和URLConnection的区别,怎么使用https

  • 设计一个网络请求框架(可以参考Volley框架)

  • 网络图片加载框架(可以参考BitmapFun)

  • 字节跳动Android岗面试题

  • java的classloader工作原理

  • 开发过程中常见的内存泄漏都有哪些

  • 关于JVM内存管理的一些建议

  • LeakCanary的工作原理,java gc是如何回收对象的,可以作为gc根节点的对象有哪些?

  • LeakCanary原理

  • java gc是如何回收对象的

  • 可以作为gc根节点的对象有哪些

  • 既然有GC机制,为什么还会有内存泄露的情

牛批!Alibaba内部学习指南+最新面试题+学习大纲+内部学习书籍,理论与实战双管齐下!_第1张图片

牛批!Alibaba内部学习指南+最新面试题+学习大纲+内部学习书籍,理论与实战双管齐下!_第2张图片

还有其他一些按照知识点系统分类的面试真题:

牛批!Alibaba内部学习指南+最新面试题+学习大纲+内部学习书籍,理论与实战双管齐下!_第3张图片

进阶书籍

权威指南-第一行代码——Android

《第一行代码——Android》是Android初学者的最佳入门书。全书由浅入深、系统全面地讲解了Android软件开发的方方面面。第1章带领你搭建Android开发环境,完成你的第一个Android程序。第2章至第13章完整地讲解了Android开发中的各种基本知识和关键技术,包括四大组件、UI、碎片、广播机制、数据存储、服务、多媒体、网络、定位服务、传感器,以及分布式版本控制系统Git的使用等等。在部分章节会穿插相关技术的高级使用技巧。第14章和第15章则将带领你编写一个完整的项目,教会你如何打包、上架、嵌入广告并获得盈利。《第一行代码——Android》内容通俗易懂,既适合初学者循序渐进地阅读,也可作为一本参考手册,随时查阅。

牛批!Alibaba内部学习指南+最新面试题+学习大纲+内部学习书籍,理论与实战双管齐下!_第4张图片

权威指南-大话设计模式

本书为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。

本书以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇?一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。

关于阿里内部都在强烈推荐使用的,看完之后两个字形容,牛批!

如果对你有用的话,那就点赞+评论一下下,然后直接来找小编免费分享给你吧!

点赞+点击我关键词【学习指南】即可!
Android进阶小刘是我的头条号,里面会不定期更新一些Android进阶学习视频,感兴趣可以关注一下!
【Android进阶小刘】

你可能感兴趣的:(牛批!Alibaba内部学习指南+最新面试题+学习大纲+内部学习书籍,理论与实战双管齐下!)