插件化,热修复,andfix原理,如何做到机型适配(native如何做到机型适配 我很慌啊~~~~)
Hashmap原理,如何实现线程安全,HashTable,CourrentHashmap原理
介绍一下java中的锁
单例模式,dcl存在的问题,如何解决
http/https区别,HTTPS加密如何实现。
get/post区别,post 如何实现密文传输
事件分发机制
activity的四种启动模式,及其应用场景
Handler的使用及其原理,子线程如何实现
eventbus干什么的,和handler有什么区别
eventbus能否实现IPC
IPC方式
AIDL底层,没问Binder原理
金山WPS二面
hashmap的实现方式
hashmap如何查找元素
static关键字
final关键字
volatile关键字
单例 线程安全的实现方式,细节
事件分发
volley源码
java函数的访问权限
图片缓存框架的区别
java垃圾回收
算法:
二叉树遍历
中序遍历的下一个节点(剑指offer原题,看了四五遍,还没记住,该打)
翻转链表
二叉树深度
途牛一面
应用上线细节(说要搜我上线的应用)
retrofit源码涉及的设计模式
handler asynctask HandlerThread 的源码
热修复与插件化
Java类加载机制
线程,线程池,线程池核心参数
30M图片的加载,如何预防oom
内存泄漏 的检测与预防
事件分发机制
自定义view
listview 与recycleview 的复用和回收
tcp udp区别
三次握手和四次挥手(这个真没背,那图怎么记啊)
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yMjQzNjc0MC1kY2Q3ZTA4NjJmODNiYzQy?x-oss-pro
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
cess=image/format,png)
360一面
static关键字
syrizoned原理
自定义控件
事件分发
滑动冲突
四种引用
弱引用的使用
内存泄漏
插件化 dla原理
65535方法的解决
360二面
介绍一下项目
service的使用
IPC java 安卓 把知道的IPC 全说出来,p/v 信号量 管道 信号量 ,复制黏贴版 什么的
性能优化
ANR
OOM
内存泄漏
UI卡顿
BItmap优化
Listview优化
launcher的启动过程
volley源码
butterknife源码
热修复,andfix,sophix,hotfix原理
因为金山二面,和360在同一天面试,金山二面约了45分钟,结果聊了70分钟,错过了360二面的时间,二面面试官一脸嫌弃的看着我。当然这也怪我没安排好时间,希望大家以后面试时间好好安排一下。
腾讯 一面
activity的四种启动模式,具体场景分析
volley,OKhttp有什么区别
OKhttp 复用连接池怎么实现的(这个没看过,面完赶紧看)
volley的源码,OKhttp源码,eventbus源码
httpclient,httpURLconnection内部实现(太原理了,没看过)然后问httpclient,httpURLconnection是哪个组织开源的,黑人问号脸???,还有这种操作。哈哈 。我知道。httpclient是Apache开源实现的,httpURLconnection是sun开源实现的
activity的启动流程(面试完了赶紧看),说没看过,看过其他framework源码,说来一下handler,asynctask源码
Android的任务栈
类的加载过程
不允许写代码,如何定位anr。
service的保活
极光推送的原理 ,心跳包的发送间隔时间(我回答的是5s,面试官让我好好思考思考,然后回答根据具体的应用场景进行判断。巴拉巴拉一大堆)
热修复原理,andfix,hotfix源码?
方法数超过65535怎么办?分包是哪个版本开始支持的,之前的版本不支持,如何加载dex文件。
腾讯 二面
介绍第一个项目的功能,大部分问题是根据第一个项目问的
用户登录与服务器进行交互的过程,如何优化。加密:HTTPS,base64,md5,非对称加密算法 及其使用场景。
listview 如何进行优化,无限下拉加载如何优化
bitmap的优化
jpg和png图片的区别(这个打错了,面试官让我下去查一下)
三级缓存机制,什么时候内存缓存,什么时候磁盘缓存
热修复,阿里andfix,腾讯 hotfix 原理,方案对比
腾讯面试官 还是主要看 思考过程,对安卓整体的理解,而不是答案。后面网易也是一样的。
可能是因为春招面过,评价不太好(当时准备基础,没想到面试官面问框架源码,16分钟,gg),导致秋招无法通过。
网易云音乐一面
安卓常用的布局,特点。LinearLayout和relaviteLayout 区别
fragment与view的区别
fragment的切换方式
fragment的生命周期
fragment的内存泄露
bitmap优化
反射的作用?编译时还是运行时?
java IO 多线程
抽象类和接口的区别
hashmap的底层实现,hash算法,为什么选择hashcode 高16位于低16位异或?直到问到不会~~
synchronized 与reentrantlock 的区别? 等待可中断的内部实现(what~~~ 说了一下如果是我我该怎么实现)
eventbus的内部实现 一直问到不会~~~
handler内部实现 一直问到不会~~~
网易云音乐二面
用过数据库?写了一条sql,问我怎么建索引,然后把 or改成and 问怎么修改优化?(本菜鸡不太会)没怎么用过数据库,只用原生写过一个小demo,安卓基本都orm框架了吧。然后解释了我的数据库是怎么做的。
数据库设计规范,三大范式(数据库课程逃了一学期,老师吹逼不好好讲,没办法,会写sql语句,只知道第一范式)
volley源码,一直问,一直问到不会
项目的难点 MVP的设计架构,MVVM
Drawable 的子类 ,方法(表示只知道 colordrawable,bitmapdrawable,然后继续追问,就说,看过安卓开发艺术探索,有一张专门讲drawable,因为用的少,没怎么看,就放过了)
Drawable 和bitmap区别(又来)
okhttp源码,brigeIntecptor 作用是什么?说一下 http header
Http和HTTPS的区别,HTTPS工作原理
事件分发机制
自定义view
最后问我你觉得你那块需要继续深入?
具体的HR面 面经我就不贴了吧,都大同小异,真诚一些就好,意愿表达强烈一些,也不能太实诚,具体的话,多面多总结吧~~~~
关于这些面试题我已经把答案和思路整理成了PDF,另外还有一些自己平常看的资料,今天分享出来,希望可以帮助到大家
如果你有需要的话,可以点击Android学习PDF+架构视频+面试文档+源码笔记获取免费领取方式
==============================================================
现在工作也找到了,得给自己找点事做,本来说想混吃等死,玩了一周,感觉很空虚,同学基本不是准备考研就是跑招聘会,无聊,接下来的话准备:
-
继续深入学习安卓
-
学吉他
-
继续博览群书
-
找女朋友 O(∩_∩)O哈哈~
希望我写的这些能帮助到大家。希望大家沉住气,都能拿到满意的offer
我也转载两句我喜欢的诗鼓励大家吧
朋友,坚定地相信未来吧
相信不屈不挠的努力
相信战胜死亡的年轻