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机制,为什么还会有内存泄露的情
还有其他一些按照知识点系统分类的面试真题:
权威指南-第一行代码——Android
《第一行代码——Android》是Android初学者的最佳入门书。全书由浅入深、系统全面地讲解了Android软件开发的方方面面。第1章带领你搭建Android开发环境,完成你的第一个Android程序。第2章至第13章完整地讲解了Android开发中的各种基本知识和关键技术,包括四大组件、UI、碎片、广播机制、数据存储、服务、多媒体、网络、定位服务、传感器,以及分布式版本控制系统Git的使用等等。在部分章节会穿插相关技术的高级使用技巧。第14章和第15章则将带领你编写一个完整的项目,教会你如何打包、上架、嵌入广告并获得盈利。《第一行代码——Android》内容通俗易懂,既适合初学者循序渐进地阅读,也可作为一本参考手册,随时查阅。
权威指南-大话设计模式
本书为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。
本书以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇?一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。
关于阿里内部都在强烈推荐使用的,看完之后两个字形容,牛批!
如果对你有用的话,那就点赞+评论一下下,然后直接来找小编免费分享给你吧!
点赞+点击我关键词【学习指南】即可!
Android进阶小刘是我的头条号,里面会不定期更新一些Android进阶学习视频,感兴趣可以关注一下!
【Android进阶小刘】