17.请描述一下Service的生命周期(★★★)
18.什么是IntentService?有何优点?(★★★)
19.请描述一下BroadcastReceiver(★★)
20.在manifest和代码中如何注册和使用BroadcastReceiver
21.BroadCastReceiver的生命周期
22.请介绍下ContentProvider是如何实现数据共享的(★★★)
23.为什么要用ContentProvider?它和sql的实现上有什么差别?(★★★)
24.说说ContentProvider、ContentResolver、ContentObserver之间的关系(★★★★)
25.使用 contentProvider 获取本地所有的音频文件(上海)(★★★)
26.ListView如何提高其效率?(★★)
27.当ListView数据集改变后,如何更新ListView
28.ListView如何实现分页加载(★★★★★)
29.ListView可以显示多种类型的条目吗(★★)
30.ListView如何定位到指定位置
31.如何在ScrollView中如何嵌入ListView(★★★★)
32.ListView中如何优化图片(★★)
33.ListView中图片错位的问题是如何产生的(★★★)
34.如何刷新ListView中单个item的数据,不刷新整个ListView的数据?
2.Android 高级:
1.如何对Android应用进行性能分析(★★★★)
2.什么情况下会导致内存泄露(★★)
3.如何避免OOM异常(★★★★)
4.Android中如何捕获未捕获的异常(★★★)
5.ANR是什么?怎样避免和解决ANR(★★★★★)
6.Android线程间通信有哪几种方式(★★★)
7.Devik进程,linux进程,线程的区别(★)
8.描述一下android的系统架构?
9.android应用对内存是如何限制的?我们应该如何合理使用内存?(★★★★)
10.简述android应用程序结构是哪些?(★★★★)
11.请解释下Android程序运行时权限与文件系统权限的区别?(★★★)
12.Framework工作方式及原理,Activity是如何生成一个view的,机制是什么?(★★)
13.多线程间通信和多进程之间通信有什么不同,分别怎么实现?(★★★★★)
14.说下你所知道的设计模式与使用场景
15.java语言的特点与OOP思想
16.说下java中的线程创建方式,线程池的工作原理。
17.说下handler原理
18.内存泄漏的场景和解决办法
19.如何避免OOM?
20.说下Activity的启动模式,生命周期,两个Activity跳转的生命周期,如果一个Activity跳转另一个22.Activity21.再按下Home键在回到Activity的生命周期是什么样的
23.启动模式
24.onRestart的调用场景
25.是否了解SurfaceView,它是什么?他的继承方式是什么?他与View的区别(从源码角度,如加载,绘制等)。
26.如何实现进程保活
27.说下冷启动与热启动是什么,区别,如何优化,使用场景等。
28.为什么冷启动会有白屏黑屏问题?
29.Android中的线程有那些,原理与各自特点
30.ANR的原因
31.三级缓存原理
32.LruCache底层实现原理:
33.说下你对Collection这个类的理解。
34.JVM老年代和新生代的比例
35.jvm,jre以及jdk三者之间的关系?JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。
36.谈谈你对 JNIEnv 和 JavaVM 理解?
37.Serializable与Parcable的区别?
3.Android源码相关分析:
-
Android动画框架实现原理
-
Android各个版本API的区别
-
Requestlayout,onlayout,onDraw,DrawChild区别与联系
-
invalidate和postInvalidate的区别及使用
-
Activity-Window-View三者的差别
-
谈谈对Volley的理解
-
如何优化自定义View
-
低版本SDK如何实现高版本api?
-
描述一次网络请求的流程
-
HttpUrlConnection 和 okhttp关系
-
Bitmap对象的理解
-
looper架构
-
ActivityThread,AMS,WMS的工作原理
-
自定义View如何考虑机型适配
-
自定义View的事件
-
AstncTask+HttpClient 与 AsyncHttpClient有什么区别?
-
LaunchMode应用场景
-
AsyncTask 如何使用?
-
SpareArray原理
-
请介绍下ContentProvider 是如何实现数据共享的?
-
AndroidService与Activity之间通信的几种方式
-
IntentService原理及作用是什么?
-
说说Activity、Intent、Service 是什么关系
-
ApplicationContext和ActivityContext的区别
-
SP是进程同步的吗?有什么方法做到同步?
-
谈谈多线程在Android中的使用
-
进程和 Application 的生命周期
-
封装View的时候怎么知道view的大小
-
RecycleView原理
-
AndroidManifest的作用与理解
========================================================================
1.图片:
1、图片库对比
2、LRUCache原理
3、图片加载原理
4、自己去实现图片库,怎么做?
5、Glide源码解析
6、Glide使用什么缓存?
7、Glide内存缓存如何控制大小?
2.网络和安全机制:
1.网络框架对比和源码分析
2.自己去设计网络请求框架,怎么做?
3.网络请求缓存处理,okhttp如何处理网络缓存的
4.从网络加载一个10M的图片,说下注意事项
5.TCP的3次握手和四次挥手
6.TCP与UDP的区别
7.TCP与UDP的应用
8.HTTP协议
9.HTTP1.0与2.0的区别
10.HTTP报文结构
11.HTTP与HTTPS的区别以及如何实现安全性
12.如何验证证书的合法性?
13.https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解?
14.client如何确定自己发送的消息被server收到?
15.谈谈你对WebSocket的理解
16.WebSocket与socket的区别
17.谈谈你对安卓签名的理解。
18.请解释安卓为啥要加签名机制?
19.视频加密传输
20.App 是如何沙箱化,为什么要这么做?
21.权限管理系统(底层的权限是如何进行 grant 的)?
3.数据库:
1.Sqlite升级,增加字段的语句
2.数据库框架对比和源码分析
3.数据库的优化
4.数据库数据迁移问题
4.插件化、模块化、组件化、热修复、增量更新、Gradle:
1.对热修复和插件化的理解
2.插件化原理分析
3.模块化实现(好处,原因)
4.热修复、插件化
5.项目组件化的理解
6.描述清点击 Android Studio 的 build 按钮后发生了什么
5.架构设计和设计模式:
1.谈谈你对Android设计模式的理解
2.MVC MVP MVVM原理和区别
3.你所知道的设计模式有哪些?
4.项目中常用的设计模式
5.手写生产者/消费者模式
6.写出观察者模式的代码
7.适配器模式,装饰者模式,外观模式的异同?
8.用到的一些开源框架,介绍一个看过源码的,内部实现过程。
9.谈谈对RxJava的理解
10.Rxjava发送事件步骤
11.RxJava的作用,与平时使用的异步操作来比的优缺点
12.说说EventBus作用,实现方式,代替EventBus的方式
13.从0设计一款App整体架构,如何去做?
14.说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等)
15.谈谈对java状态机理解
16.Fragment如果在Adapter中使用应该如何解耦?
17.Binder机制及底层实现
18.对于应用更新这块是如何做的?(解答:灰度,强制更新,分区域更新)?
19.实现一个Json解析器(可以通过正则提高速度)
20.统计启动时长,标准
6.性能优化:
1.启动 app 黑白屏优化
2.稳定——内存优化
3.流畅——卡顿优化
4.节省——耗电优化
5.安装包——APK 瘦身
6.冷启动与热启动
7.内存泄漏的场景和解决办法
8. Bitmap 优化
9.LRU 的原理
10.webview 优化
11.如何避免 OOM?
7.Android Framework
1.Android 系统架构
2.View 的事件分发机制?滑动冲突怎么解决?
3.View 的绘制流程?
4.跨进程通信
5.Android 系统启动流程是什么?
6.启动一个程序,可以主界面点击图标进入,也可 以从一个程序中 跳转过去,二者有什么区别?
最后
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。
最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司20年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【算法合集】
【延伸Android必备知识点】
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。
最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司20年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
[外链图片转存中…(img-rBRtFUpB-1715423507562)]
【算法合集】
[外链图片转存中…(img-EV9U8zWU-1715423507563)]
【延伸Android必备知识点】
[外链图片转存中…(img-3AB5dWus-1715423507564)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!