【备战2022】2021Android高级开发面试题以及答案整理1.0

68 篇文章 2 订阅
91 篇文章 4 订阅

一、Handler相关知识

1、Handler Looper Message关系是什么?
2、Messagequeue的数据结构是什么?为什么要用这个数据结构?
3、如何在子线程中创建Handler?
4、Handler post方法原理?
5、Android消息机制的原理及源码解析
6、Handler都没搞懂,拿什么去跳槽啊?
7、Android Handler消息机制(解惑篇)
8、Android 消息机制

二、Activity相关

1、启动模式以及使用场景?
2、Activity 四种启动模式常见使用场景
3、启动模式在实际开发中小插曲
4、Activity 中其他常见问题
5、Activity异常生命周期与应用
6、系统配置改变引起异常;
7、系统回收引起异常
8、Activity异常基础处理
9、Activity到底是如何启动的
10、zygote是什么?有什么作用?
11、SystemServer是什么?有什么作用?它与zygote的关系是什么?
12、ActivityManagerService是什么?什么时候初始化的?有什么作用?
13Launcher是什么?什么时候启动的?
14、Instrumentation是什么?和ActivityThread是什么关系?
15、如何理解AMS和ActivityThread之间的Binder通信?
16、AMS接收到客户端的请求之后,会如何开启一个Activity?

三.Fragment

1、Fragment生命周期和Activity 对比
2、Fragment之间如何进行通信
3、Fragment的startActivityForResult
4、Fragment重叠问题
5、Android Fragment完全解析,关于碎片你所需知道的一切中
6、Fragment重叠,如何通信
7、Fragment回退栈管理
8、Fragment与Activity通信
9、Fragment重叠问题
10、Fragment与ActionBar和Menultem
11、没有布局的Fragment—保存大量数据
12、DialogFragment的使用
13、Fragment的startActivityForResult
14、FragmentPagerAdapter与FragmentStatePagerAdapter的区
15、Fragmenti间的数据传递
16、Activity与Fragment生命周期探讨

四、Service相关

1、进程保活
2、Service的运行线程(生命周期方法全部在主线程)
3、Service启动方式以及如何停止
4、ServiceConnection里面的回调方法运行在哪个线程?
5、Android进程保活的一般套路

  • 如何查看进程了解进本信息
  • 进程划分
  • 内存阀值
  • 进程保活方案
    6、关于Android进程保活,你所需要知道的一切
  • 保活手段
  • 黑色保活
  • 白色保活
  • 灰色保活
  • 唠叨的分割线
  • 进程回收机制

五、Android布局优化之ViewStub. inelude.merge

1、什么情况下使用ViewStub.include.merge?
2、他们的原理是什么?
3、布局优化神器include . merge. viewStub标签详解
include 标签使用

  • 定义要实现(抽取)的layout布局:
  • Activity的XML布局文件调用include标签
  • Activity中调用include标签layout中的子View
    merge 标签使用
  • merge 标签使用前后 y Hierarchy r Viewer 截图
    ViewStub 标签
  • ViewStub标签Demo效果图:
  • ViewStub标签使用前后Hierarchy Viewer截图
    4、Android布局优化之ViewStub.include. merge使用与源码分析

六、BroadcastReceiver 相关

1、注册方式,优先级
2、广播类型,区别
3、广播的使用场景,原理
4、Android广播Broadcast的两种注册方式静态和动态

  • 静态和动态注册方式
  • 插入BroadcastReceiver的两种常用类型
  • 默认广播下两种注册方式的比较
  • 在有序广播下两种注册方式比较
  • 接受打电话的广播,程序运行与结束时比较两种注册方式
    (1)在未退出Activity时,拨打电话,Log如下:
    (2)在退出Activity时,拨打电话,Log如下(即便不解除注册,动态仍无法接受到广播):
    5、Android四大组件:BroadcastReceiver史上最全面解析
    6、安卓广播的底层实现原理

七、AsyncTask 相关

1、AsyncTask是串行还是并行执行?
2、AsyncTask随着安卓版本的变迁
3、Android AsyncTask完全解析,带你从源码的角度彻底理解

  • AsyncTask的基本用法
  • 分析AsyncTask的源码
  • 关于AsyncTask你所不知道的秘密
    4、Android源码分析—带你认识不—样的AsyncTask
  • 使用AsyncTask的规则
  • AsyncTask到底是串行还是并行?源码分析
  • 让你的AsyncTask在3.0以上的系统中并行起来

八、Android 事件分发机制

1、onTouch和onTouchEvent区别,调用顺序
2、dispatchTouchEvent,onTouchEvent,onInterceptTouch
3、滑动冲突,如何解决
Android事件分发机制完全解析,带你从源码的角度彻底理解
Android ViewGroup事件分发机制
源码分析

  • viewGroup - dispatchTouchEvent - ACTION_DOWN
  • ViewGroup - dispatchTouchEvent - ACTION_MOVE
  • ViewGroup - dispatchTouchEvent - ACTION_Up
    关于拦截
  • 如何拦截
  • 如何不被拦截
    4、如果没有找到合适的子View
    讲讲Android的事件分发机制
    Activity 的事件分发机制
  • ViewGroup的事件分发机制
  • View 的事件分发机制
  • 再来看看onTouchEvent0

九、Android View 绘制流程

1、简述View绘制流程
2、onMeasure,onlayout,ondraw方法中需要注意的点
3、如何进行自定义View
4、view重绘机制
Android LayoutInflater原理分析,带你一步步深入了解View(一)
Android视图绘制流程完全解析,带你一步步深入了解View(二).

  • onMeasure0
  • onLayoutO
  • onDraw0
    Android视图状态及重绘流程分析,带你一步步深入了解View(三)
  • 视图状态
  • 视图重绘
    Android自定义View的实现方法,带你一步步深入了解View(四)
  • 自绘控件
  • 组合控件
  • 继承控件

十Android Window、Activity、DecorView 以及 ViewRoot

十一 Android 的核心 Binder 多进程 AIDL

1、常见的IPC 机制以及使用场景
2、为什么安卓要用binder进行跨进程传输
3、多进程带来的问题
4、Android aidl Binder框架浅析

  • AIDL的使用
  • 分析AIDL生成的代码
  • 不依赖AIDL实现程序间通讯
    5、Android应用工程师的Binder l原理剖析
  • 为什么必须理解Binder ?
  • 为什么是 Binder ?
  • Linux下传统的进程间通信原理
  • Linux下的传统IPC通信原理
  • Binder跨进程通信原理
  • 动态内核可加载模块&&内存映射.
  • Binder IPC实现原理
    6、Binder通信模型
  • Client/Server/ServiceManagerf驱动
  • Binder 通信过程
  • Binder通信中的代理模式
  • Binder的完整定义
  • 手动编码实现跨进程调用
  • 各Java类职责描述
  • 实现过程讲解
    Android 进程间通信 (IPC ) 机制 Binder 简要介绍和学习计划

十二Android 高级必备 :AMS,WMS,PMS

1、Android高级必备:AMS,WMS,PMS
2、从Systemserver到AMS
3、ActivityManagerService 创建过程
4、将SystemServer进程可加到AMS中调度管理
5、创建运行在SystemServer进程中Provider
6、AMs systemReady过程
7、升级相关处理:发送PRE_BOOT_COMPLETED广播
8、收集已经启动的进程并杀死除过persistent进程
9、系统准备好后回调传入的Runnable
10、发送账户启动的广播,涉及多用户
11、启动桌面Home Activity.
12、Android解析ActivityManagerService
13、AMS启动流程和AMS家族

十三、Android ANR

1、为什么会发生ANR?
2、如何定位ANR?
3、如何避免ANR?
4、ANR说明和原因·
5、ANR分析办法
6、造成ANR的原因及解决办法
7、ANR源码分析
8、Service造成的Service Timeout
9、BroadcastReceiver造成的BroadcastQueue Timeout
10、ContentProvider的ContentProvider Timeout
11、Android ANR的信息收集

十四、Android 内存相关

1、什么情况下会内存泄漏?
2、如何防止内存泄漏?
###十五、Android 屏幕适配
1、屏幕适配相关名词解析
2、现在流行的屏幕适配方式
###十六、Android 缓存机制
LruCache 使用及其原理

十七、性能优化

1、如何进行内存cpu耗电的定位以及优化
2、性能优化经常使用的方法
3、如何避免U卡顿

十八、Android MVC、MVP、MVVM

MVC
1、MVC眼花缭乱设计图
2、MVC设计图解释
3、MVC三层之间的关系
4、MVC sample
5、MVC总结
MVP
1、MVP说明
2、MVP Sample
3、MVP总结
MVVM
1、MVVM说明
2、MVVM与DataBinding的关系
3、DataBinding简介
4、MVVM Sample
5、MVVM总结

十九、Android Gradle 知识

二十、RxJava

二十一、OKHTTP 和 Retrofit

二十二、Android 图片加载框架最全解析: Glide

1、Glide的基本用法
2、从源码的角度理解Glide 的执行流程
3、深入探究,Glide 的缓存机制
4、玩车专Glide的回调与监听
5、Glide强犬的图片变换功能
6、探究Glide的自定义模块功能
7、文规带进度的Glide图片加载功能主
8、带你全面了解Glide 4的用法

以上内容全都已打包整理好,可以微信扫描下方CSDN官方认证二维码【免费获取】,希望对正在学习准备面试的你有所帮助!

最后

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

  • 无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!!!!!!!!
  • 我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
评论 15 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

datian1234

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值