一
、写在开篇
闲话(长话短说):
本篇文章主要是回忆今年上半年的面试总结。现已入职阿里三个月,终于有时间写下这篇android面经。
今年的开端有些特殊,疫情对我们的生活造成了很大的影响,这对于一名求职者来说,更是添上了一堵“难墙”。尽管如此,但我们也不能够错失金三银四的机会,该抓住的就要抓住。现在,很多互联网公司都已经采取线上面试的方式,所以我们只要提前做好准备,多投简历,顺利面试,就会有很大的机会拿下心仪的offer,而我也总算取得自己想要的成功,阿里4面成功过关。
个人情况介绍:
出生广州,在本地读书,毕业之后先在深圳找了一份工作,学历是211本科,资历各方面都不错,因此在简历上也能够充分体现我自己的优势,年前考虑返回羊城工作,方便照顾家人。海投简历之后,也接到了不少公司抛来的橄榄枝,只要面试顺利,基本上是公司任我挑的状态了。
以下主要分享面经和个人学习方法,会包括很多PDF文档,如面试题库(含答案+解析)、学习笔记、实战文档和脑图等等,均可以免费分享,直接加群(1087455512)联系群管理,即可领取~
二
、阿里面核心面试题
阿里一面:
1. 先介绍下你最成熟的一个项目是哪个?
2. 能在纸上简单的画一下你这个项目的架构图吗?
3. 说一说在项目中做过哪些优化?
4. 在项目启动的时候,为了提速打开APP,你说你做了dex分包的预加载操作,为什么需要多开一个进程单独进行dex的预加载?
5. dex一般都解压到哪里?如何做的?
阿里二面:
1.你做的应用商店感觉最难的点在哪?
2.为什么选用Fresco作为图片加载框架?
3.安卓系统版本之间对Bitmap怎么处理的?安卓2.3之前把像素数据存储在native层中,之后的系统把byte存储java层中,8.0后又放回native中,但有自己的回收机制?
4.你用CC框架组件化,为什么不选择阿里的 Arouter框架,C有什么好处?使用过程中遇到过什么问题?
5.你平时怎么做性能优化的?
6.你用过哪些工具做性能优化,冷启动怎么优化?
7.插件化你懂吗?
8.有对公司做过什么突出的贡献吗?
阿里三面:
1.你觉的你做的项目最有挑战性的是什么?
2.你是怎么做技术选型的?说一下为什么选用CC而没有选 ARouter,你在用组件化框架的时候有没有遇到什么问题?
3.MVC和MVVM,MVP能说一下你的理解吗?
4.你对自己负责的项目在性能优化上做了哪些努力?
5.你平时是怎么学习的?
6.你对自己的未来职业规划是怎么样的?
阿里面试题答案:
因篇幅问题,面试题答案整理在pdf文档里,需要面试题答案的,记得联系领取喔!
三
、为应对阿里面试,我做了哪些准备?
(一)调整心态,正面得失
面试中常见的问题,主要是心态,面试调整心态是第一位的,如何调整成最佳心态呢?很多求职者在面试过程中思路不清晰,语言不流畅,说话毫无逻辑,不断否定自己,这些问题归根结底都是面试心态出了问题。所以,调整自己的心态,正确面对得失是非常重要的,我的方法是给自己足够的心理暗示。
(二)提升技术,扩宽知识
对于程序员来说,要想成长为一名行业内的大牛大神级别的人物,那么唯一的办法就是通过学习,不断提升自己的技术,扩宽知识,达到一定的高度和深度。
那么如何提升自己的技术,扩宽自己的知识储备呢?
以下是我个人的一些做法,希望可以给各位提供一些帮助:
31天啃完346页的pdf文档
四
、pdf知识点提炼
(一)Android部分:
1.第五大组件FragmentAndroid知识体系总结Android部分之Fragment篇
2.对话框 & 弹框 & 通知 & 悬浮窗之 WMS 源码篇
3.Android UI控件篇 高级自定义View, 主要是原理和手写实现
4.Android 系统架构篇
5.Android 通信篇
6.Android Framework 源码篇
7.Android 网络编程篇
8.原生音视频图片开发篇[非JNI]
9.Android 特殊知识点【不知道如何分类的知识点】
10.Android 必须掌握的轮子 原理篇
11.Android 架构篇
12.Android 优化篇
13.Android 职业方向篇(有正确的职业方向,才能不浪费自己的职业生涯)
14.Android 工作工具篇
15.Android 工作必备技能篇
16.Android 跨平台开发篇
(二)Java部分:
1.JVM
2.static
3.final
4.String. StringBuffer. StringBuilder
5.异常处理
6.内部类
7.多态
8.抽象和接口
9.集合框架
10.反射
11.单例
12.多线程
13.volatile
14.synchronized
15.Lock
16.引用类型
17.动态代理
18.元注解
(三) Kotlin 部分
1.Kotlin Primer · 第一章 · 启程
2.Kotlin Primer · 第二章 · 基本语法
3.Kotlin Primer · 第三章 · Kotlin 与 Java 混编
(四)计算机网络部分
1.计算机网络体系结构
2.HTTP相关
3.TCP相关
4.Socket
5.总结
(五)算法与数据结构部分
1.Android数据结构学习之顺序表
2.Android数据结构学习之链表
3.Android数据结构学习之队列
4.Android数据结构学习之栈
5.Android数据结构学习之树
6.Android数据结构学习之 排序查找
7.Android数据结构学习之 动态规划
(六) Flutter部分
1.Flutter是什么
2.移动端跨平台技术对比
3.Dart语言
4.环境配置
5.Hello World
6.路由
7.widget
8.布局
9.动画
10.http请求
11.吐吐槽知识点总结
(七)2018-2020Android高级面试题
1.java面试题
2.Android面试题
3.混合开发面试题
4.高端技术面试题
5.非技术性问题&HR问题汇总
(八)实战系列及电子书
1.实战系列:MVP架构+NDK音频+Flutter+Kotlin实战等
2.其他相关的电子书:源码+调优+面试等等
(九)刷题
如何刷题?
这是很多现在面试者心中的困惑,我们都知道,面试前刷题是很有必要的,毕竟很多题目都有一定的共性,刷足够的题目就能够做到举一反三,甚至在面试时,被问到原题,也能够侃侃而谈。
那么刷题如何进行呢?
建议:最好找一些历年的面试原题,分专题来对自己进行训练。
以下是我私藏的面试题库:
源码面试解析视频:
结束语
对于大厂面试,我最后想要强调的一点就是:心态真的很重要,这是决定你在面试过程中发挥的关键。若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除紧张的心理状态的关键,只要你复习充分了,面试过程中自然就要有底气得多。
以上内容中提到的所有学习资料、面试资料,均可以免费提供,希望大家在即将到来的金九银十中面试顺利,提前备战,拿下自己心仪的offer!
最后提醒:以上整理的所有PDF,均可以免费分享,有需要的朋友,扫码进群!联系管理员免费获取!加入我们的圈子领取资料,和我们一起学习交流吧!~
群号码:1087455512