金三银四:请收好这份《中高级Android面试指南》
年前的你:
Java部分
![](https://filescdn.proginn.com/92b17f79bfd16645a5e9ce95a1b760db/1461bc0d56db62d1f6eec5aa0dfce86b.webp)
第一节 Java 基础部分
“equals”与“==”、“hashCode”的区别和使用场景
![](https://filescdn.proginn.com/2228bf4c112e7ade6bf44c90c8a25cf2/ba68a1dd3476f96c00853daffed44988.webp)
谈一谈Java成员变量,局部变量和静态变量的创建和回收时机?
![](https://filescdn.proginn.com/07703d6eb6fe1aa92f24c6f77d0abb74/5a5ae4c971ff896795bf431932c9427e.webp)
第二节 Java 集合
谈谈List,Set,Map的区别?
![](https://filescdn.proginn.com/69ffbaab91a42c637f9f63882591a5a9/0018b4c37638043a4b9fec5bd97e02bf.webp)
HashMap 的实现原理?
![](https://filescdn.proginn.com/31666137b90a9d4b81d1ac365edce49f/5f5f36416f72f304e2b9fa3b13461ff8.webp)
第三节 Java 多线程
Java 中使用多线程的方式有哪些?
![](https://filescdn.proginn.com/0167872a973fc56e28576be6e9b65d4d/1477d303a1904afc306df6ef0f3b40b0.webp)
如何保证线程安全?
![](https://filescdn.proginn.com/6ea768ba5f9bb438d79a3971c8cdafc8/f08b7af9289998028a02a25d873a3ea4.webp)
第四节 Java 虚拟机
谈一谈JAVA垃圾回收机制?
![](https://filescdn.proginn.com/78e741c9af79a0194ba8060341b7cb4b/e0d9d7ef126ddf62bddcad5c95399d1d.webp)
简述JVM中类的加载机制与加载过程?
![](https://filescdn.proginn.com/94fc0d7995da9756db57c4e637a5f0bc/af5adbbf0eb362a1b1c3595a49a1402c.webp)
Android部分
![](https://filescdn.proginn.com/af7bf8719a105a776fe5f41960dc22cb/58a8fd134336f81f74ff4f4108e73924.webp)
第一节 Android 四大组件相关
Activity 与 Fragment 之间常见的几种通信方式?
简单介绍下ContentProvider是如何实现数据共享的?
Activity中onNewIntent方法的调用时机和使用场景?
Intent传输数据的大小有限制吗?如何解决?
![](https://filescdn.proginn.com/ce576dda87147c6fd6e14f14ea65679c/b5284cd65fefec3f226ccd76e088a77c.webp)
第二节 Android 异步任务和消息机制
HandlerThread 的使用场景和用法?
AsyncTask的优点和缺点?
子线程能否更新UI?为什么?
试从源码角度分析Handler的post和sendMessage方法的区别和应用场景?
第三节 Android UI 绘制相关
谈谈Android的事件分发机制?
谈谈自定义View的流程?
谈一谈Fragment懒加载?
谈一谈Activity,View,Window三者的关系?
请谈谈Fragment的生命周期?
![](https://filescdn.proginn.com/348d5ed5ca2ef872f14f1ed2b982d928/5dba71709bea4dbdb87efa91fc3d3719.webp)
第四节 Android 性能调优相关
谈谈你对Android性能优化方面的了解?
一般什么情况下会导致内存泄漏问题?
哪些情况下会导致oom问题?
谈谈你是如何优化App启动过程的?
谈谈如何对WebView进行优化?
![](https://filescdn.proginn.com/458bf08f881535ac63b33373d568cb80/a204cd43540bcf11e5ed8b0fbd9bb57a.webp)
第五节 Android 中的 IPC
请回答一下Android进程间的通信方式?
请谈谈你对Binder机制的理解?
谈谈 AIDL?
第六节 Android 系统 SDK 相关
请简要谈谈Android系统的架构组成?
什么是Lifecycle?请分析其内部原理和使用场景?
请简述Apk的安装过程?
第七节 第三方框架分析
谈一谈LeakCanray的工作原理?
谈一谈RxJava背压原理?
![](https://filescdn.proginn.com/374c3f695294ef831246a25e8e72ec2d/4c0367245724773e92cb4e1b03aeeb46.webp)
第八节 综合技术
请谈谈你对 MVC 和 MVP 的理解?
简述下热修复的原理?
什么是MVVM?你是如何将其应用于具体项目中的?
第九节 数据结构方面
什么是冒泡排序?如何优化?
什么是红黑树?为什么要用红黑树?
第十节 设计模式
什么是代理模式?如何使用?Android源码中的代理模式?
谈一谈单例模式,建造者模式,工厂模式的使用场景?如何合理选择?
第十一节 计算机网络方面
请简述 Http 与 Https 的区别?
请简述一次http网络请求的过程?
为什么说Http是可靠的数据传输协议?
第十二节 Kotlin方面
请简述一下什么是 Kotlin?它有哪些特性?
![](https://filescdn.proginn.com/c2da8f2ef3b794a370bc206d675a4014/e7aaa0a290954c23ddc13bc158a6e5b1.webp)
Kotlin 中注解 @JvmOverloads 的作用?
在Kotlin中,何为解构?该如何使用?
请谈谈Kotlin中的Coroutines,它与线程有什么区别?有哪些优点?
Kotlin中集合遍历有哪几种方式?
......
![](https://filescdn.proginn.com/3a583fa33b1961065a4f937504aa68c9/65f5a15dbe8ec4582e96359e32c80675.webp)
扫码即可领取