【不负初心】Android初中高级开发工程师面试复习点
16lz
2022-01-02
引言
本文面试知识点主要针对大部分合肥IT公司面试准备,如有不妥之处,欢迎各位批评指正。
因个人能力有限,不能很全面的描述对应的知识点,欢迎各位大佬评论补充。
一、Activity
- Activity生命周期、常见类型概述
【Android】初识Activity(一)
【Android】常见面试题(一) - Activity的启动模式、每个启动模式的不同点是什么?
【Android】初识Activity(一)
【Android】常见面试题(一) - 如何在非活动Activity内存不足时被系统销毁前保存数据?
Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析 - 横竖屏切换时,Activity的生命周期会有哪些变化?
Android横竖屏切换总结
android-----横竖屏切换对Activity生命周期的影响 - Activity如何设置为Dialog样式?
将Android Activity设置成对话框样式 - 如何退出多个Activity(App如何一键退出)?
Android小技巧: 这里涵盖了所有实现 “一键退出 App” 的方法
Android面试题-app优雅退出
Android APP一键退出的方法总结分析 - Context、Application、Activity的区别与联系?
Context-----Activity,Application之间的交流使者 - Activity之间进行数据传递的方式有哪些?
Android基础之Activity系列 - Activity间的数据传递
二、Fragment
- Fragment的作用以及生命周期概述(重点在于与Activity生命周期不同之处)
- Fragment如何与Activity进行数据交互、Fragment与Fragment之间如何进行数据交互?
- Fragment的两种使用方法描述(replace、add)
【Android】Fragment初探索
Fragment全解析系列(一):那些年踩过的坑
Android进阶之Fragment与Activity之间的数据交互
【Android】Fragment之间数据传递的三种方式
三、Service
- Service两种启动模式的区别是什么?
- Service的生命周期有哪些?
- Activity如何与Service进行通讯?
【Android】Service那点事儿
【Android】Service前台服务的使用
【Android】远程服务(Remote Service)的使用
四、BroadcastReceiver
- BroadcastReceiver广播类型有哪几种?
- BroadcastReceiver有哪几种注册方式?
国内目前最全面的介绍——Android中的BroadCastReceiver
Android四大组件:BroadcastReceiver史上最全面解析
五、Content Provider
- 什么是Content Provider?Content Provider如何用?
Android之ContentProvider总结
android ContentProvider使用详解
【Android】常见面试题(二)
六、Intent
- 什么是Intent,它主要做什么?
- Intent可以传递哪些数据类型的参数(重点在Bundle中的序列化数据)?
- IntentFilter是什么?它与Intent的区别是什么?
Android中Intent组件详解
Android中Intent概述及使用
Android中Intent对象与Intent Filter过滤匹配过程详解
七、控件使用相关:ListView、ScrollView、RecyclerView等
- ScrollView内嵌套ListView会产生哪些冲突?如何解决?
解决ScrollView或ListView中嵌套ListView引起的冲突--ListView显示不全问题
利用事件分发机制解决ScrollView嵌套ListView滑动冲突 - ListView内图片错位、item中按钮点击错位、checkBox错位原因分析与解决方案描述
Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
Android:ListView常见错位之CheckBox错位
Android错误之ListView加载错位_ListView图片错位 - ListView内如何显示不同样式的item
Android ListView实现多种Item布局 - RecyclerView的使用
Android RecyclerView 使用完全解析 体验艺术般的控件 - ScrollView在水平、竖直情况下的使用场景
八、性能优化
- OOM问题分析,如何避免OOM?
Android避免OOM(内存优化) - 内存溢出(out of memory)与内存泄漏(memory leak)的区别
Android 内存溢出和内存泄漏的区别
Android 内存溢出和内存泄漏的问题 - GC回收机制
简析Android的垃圾回收与内存泄露
垃圾回收机制GC知识再总结兼谈如何用好GC
详解GC机制,gc机制,Android垃圾回收机制的底层描述
Android GC那点事儿 - 线程与线程池
Android线程与线程池 - ImageLoader的缓存机制是什么?(这个不会刻意阐述LruCache、DiskLruCache这两个的原理即可或者是其它如Glide、Picso图片缓存原理)
从源代码分析Android-Universal-Image-Loader的缓存处理机制 - ANR出现的场景及解决办法
Android App优化之ANR详解
Android中对付ANR的N种武器
android ANR发生的原因总结和解决办法 - 如何使用traceview做数据分析
正确使用Android性能分析工具——TraceView - 如何使用Heap做内存分析(AS场景刻意直接用Android Monitor工具怼出去,答对即可,这方面可以说一些使用LeakCanary工具进行内存泄漏分析的过程)
LeakCanary:检测所有的内存泄漏
九、其它
- Android事件分发机制分析
Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
Android事件分发机制完全解析,带你从源码的角度彻底理解(下) - Android数据持久化方式有哪些?
【Android】数据库版本控制 - 自定义View常用方法及其作用介绍(最好包含自定义属性)
- Android动画有哪些种类?(补间动画、帧动画、属性动画)
Android属性动画完全解析(上),初识属性动画的基本用法
Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法 - Android IPC机制
Android中的IPC机制
Android中实现IPC的几种方式详细分析及比较
Android进程间通信(IPC)机制Binder简要介绍和学习计划 - Handler、Looper、MessageQueue与Message之间的关系
Android消息处理机制(Handler、Looper、MessageQueue与Message)
Android Looper和Handler
Thread、Handler和HandlerThread关系何在? - 知名第三方库:如OkHttp、Glide、EXOPlayer、Picso、Gson、EventBus等
- OkHttp
Android Https相关完全解析 当OkHttp遇到Https
Android OkHttp完全解析 是时候来了解OkHttp了 - Glide
Glide 图片加载库详细用法
深入探究Glide的缓存机制
- OkHttp
- 应用架构设计:MVP、MVVM框架的了解,Dagger2、ButterKinfe、Databinding、RxAndroid、RxJava、Retrofit 2.0的使用等等
- MVP
Android开发中的MVP架构以及性能优化
Android开发架构选择MVP or MVVM
浅谈Android架构之MVP,MVVM - Dagger2
Dagger2从入门到放弃再到恍然大悟 - ButterKnife
绝对不容错过,ButterKnife使用详谈 - DataBinding
DataBinding实现原理探析
DataBinding的基本使用(一) - RxJava / RxAndroid
RxJava+MVP模式下的Nucles框架
给初学者的RxJava2.0教程(一)
手把手教你使用 RxJava 2.0(一)
Android开发的又一个方向之 RxJava 详解
RxJava/RxAndroid 使用实例实践 - Retrofit
你真的会用Retrofit2吗?Retrofit2完全教程 - RxJava + Retrofit
RxJava 与 Retrofit 结合的最佳实践
- MVP
- Android NDK的一些开发资料
[Android] 环境配置之Android Studio开发NDK
NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序 - 最好稍微了解一些FrameWork层的基本知识
- 关于版本控制,SVN/Git都来点才好
廖雪峰Git教程
git和SVN的区别
Git 和 SVN 之间的五个基本区别
拓展阅读
- 四步准备Android面试
- Android2017最新面试题(3-5年经验个人面试经历)
- BAT大厂面试题整理
- 《Android 开发工程师面试指南》
更多相关文章
- 在android上使用valgrind检测内存泄漏
- Android中使用xml保存数据(xml文件序列化)及使用pull解析xml文件
- Android总结篇系列:Android广播机制----学习
- 自己封装的Android(安卓)sqlite-helper.jar包使用方法
- Android(安卓)网络请求简单使用方式
- lua学习笔记 3 android调用Lua。Lua脚本使用LoadLib回调Java,并
- 箭头函数的基础使用
- NPM 和webpack 的基础使用
- Python list sort方法的具体使用