前言
前一阵看到了nanchen大神整理的《Android 中高级面试真题集锦》
原文链接:https://www.jianshu.com/p/c93965357556
全文主要是整理了2020年度中高级安卓需要会的(或者说面试被频繁问到的内容),整理总结很全面,质量非常高。美中不足的是这份面试真题并没有附加答案和解析。
想到很多和我一样的在2020年有跳槽的想法的人。因此有份参考答案可以省去大家不少时间去搜集整理,提高面试准备效率。
所以,我针对Android中高级开发者面试跳槽的需要,我将nanchen大神整理的《Android 中高级面试真题集锦》,花了近两周的时间从网上搜集整理了一份参考答案解析,另外附加上了自己收集的一些一线互联网大厂Android面试真题,分享出来,如有错误,恳请评论指正。
Android 中高级面试题集整理目录
一、Java 基础部分
二、Jvm部分
三、计算机网络部分
四、Android中高级面试题
五、Android Framework 相关
六、性能优化专题
七、算法合集
八、kotlin 专题
九、flutter 专题
十、JNI 模块专题
GitHub免费下载地址:https://github.com/Timdk857/Android-Architecture-knowledge-2-
java相关
-
HashMap 和 HashTable 以及 CurrentHashMap 的区别。
-
synchronized 和 volatile 、ReentrantLock 、CAS 的 区别。
-
JVM 类加载机制、垃圾回收算法对比、Java 虚拟机结 构等。
-
Java 的四大引用
-
Java 的泛型,<? super T> 和 <? extends T> 的区别。
-
Java 线程有哪些状态,有哪些锁,各种锁的区别。
-
final 、finally、finalize 区别。
-
接口和抽象类的区别。
-
sleep 、wait、yield 的区别,wait 的线程如何唤醒它?
-
java 中==和 equals 和 hashCode 的区别
jvm相关
-
Jvm 内存区域是如何划分的?
-
Jvm 内存模型是怎么样的?
3.String s1 = "abc"和 String s2 = new String("abc")的区别, 生成对象的情况
4.如何判断对象可回收?
5.GC 的常用算法?
- Minar GC 和 Full GC 的区别?
7.说一下四种引用以及他们的区别?
8.类加载的过程?
9.类加载的机制,以及为什么要这样设计?
计算机网络部分
-
TCP 与 UDP 的区别。
-
三次握手、四次挥手。为啥是三次不是两次?
-
HTTPS 和 HTTP 的区别。HTTP 2.0,3.0?
-
浏览器输入一个 URL,按下回车网络传输的流程?
-
TCP 建立连接后,发包频率是怎样的?
6.如何验证证书的合法性?
7.https 中哪里用了对称加密,哪里用了非对称加密,对加 密法(如 RSA)等是否有了解?
8.client 如何确定自己发送的消息被 server 收到?
Android 中高级面试题
1、什么是 ANR 如何避免它?
2、Activity 和 Fragment 生命周期有哪些?
3、横竖屏切换时候 Activity 的生命周期
4.AsyncTask的缺陷和问题,说说他的原理。
5.onSaveInstanceState() 与 onRestoreIntanceState()
6.android中进程的优先级?
7.Bunder传递对象为什么需要序列化?Serialzable和Parcelable的区别?
8.动画
9.Context相关
10.Android各版本新特性
11.Json
12.android中有哪几种解析xml的类,官方推荐哪种?以及它们的原理和区别?
13.Jar和Aar的区别
14.Android为每个应用程序分配的内存大小是多少
15.更新UI方式
Android Framework 相关
1、Android 系统架构
2、View 的事件分发机制?滑动冲突怎么解决?
3、View 的绘制流程?
4、跨进程通信。
5、Android 系统启动流程是什么?(提示:init 进程 -> Zygote 进程
6、启动一个程序,可以主界面点击图标进入,也可以从一 个程序中跳转过去,二者有什么区别?
7、AMS 家族重要术语解释。
8、App 启动流程(Activity 的冷启动流程)。
性能优化专题
1.App稳定性优化
2.App启动速度优化
3.App内存优化
4.App绘制优化
5.你是怎么做卡顿优化的?
6.网络优化
7.App电量优化
8.安卓的安全优化
算法合集
- 排序
2.二叉树
3.链表
4.栈/队列
5.二分
6.哈希表
7.堆/优先队列
8.二叉搜索树
9.数组/双指针
10.贪心
11.字符串处理
12.动态规划
13.矩阵
14.二进制、位运算
kotlin、Flutter NDK专题
GitHub免费下载地址:https://github.com/Timdk857/Android-Architecture-knowledge-2-
网友评论