引言

本文面试知识点主要针对大部分合肥IT公司面试准备,如有不妥之处,欢迎各位批评指正。

因个人能力有限,不能很全面的描述对应的知识点,欢迎各位大佬评论补充。


一、Activity

  1. Activity生命周期、常见类型概述
    【Android】初识Activity(一)
    【Android】常见面试题(一)
  2. Activity的启动模式、每个启动模式的不同点是什么?
    【Android】初识Activity(一)
    【Android】常见面试题(一)
  3. 如何在非活动Activity内存不足时被系统销毁前保存数据?
    Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
    【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
  4. 横竖屏切换时,Activity的生命周期会有哪些变化?
    Android横竖屏切换总结
    android-----横竖屏切换对Activity生命周期的影响
  5. Activity如何设置为Dialog样式?
    将Android Activity设置成对话框样式
  6. 如何退出多个Activity(App如何一键退出)?
    Android小技巧: 这里涵盖了所有实现 “一键退出 App” 的方法
    Android面试题-app优雅退出
    Android APP一键退出的方法总结分析
  7. Context、Application、Activity的区别与联系?
    Context-----Activity,Application之间的交流使者
  8. Activity之间进行数据传递的方式有哪些?
    Android基础之Activity系列 - Activity间的数据传递

二、Fragment

  1. Fragment的作用以及生命周期概述(重点在于与Activity生命周期不同之处)
  2. Fragment如何与Activity进行数据交互、Fragment与Fragment之间如何进行数据交互?
  3. Fragment的两种使用方法描述(replace、add)

【Android】Fragment初探索
Fragment全解析系列(一):那些年踩过的坑
Android进阶之Fragment与Activity之间的数据交互
【Android】Fragment之间数据传递的三种方式


三、Service

  1. Service两种启动模式的区别是什么?
  2. Service的生命周期有哪些?
  3. Activity如何与Service进行通讯?

【Android】Service那点事儿
【Android】Service前台服务的使用
【Android】远程服务(Remote Service)的使用


四、BroadcastReceiver

  1. BroadcastReceiver广播类型有哪几种?
  2. BroadcastReceiver有哪几种注册方式?

国内目前最全面的介绍——Android中的BroadCastReceiver
Android四大组件:BroadcastReceiver史上最全面解析


五、Content Provider

  1. 什么是Content Provider?Content Provider如何用?
    Android之ContentProvider总结
    android ContentProvider使用详解
    【Android】常见面试题(二)

六、Intent

  1. 什么是Intent,它主要做什么?
  2. Intent可以传递哪些数据类型的参数(重点在Bundle中的序列化数据)?
  3. IntentFilter是什么?它与Intent的区别是什么?

Android中Intent组件详解
Android中Intent概述及使用
Android中Intent对象与Intent Filter过滤匹配过程详解


七、控件使用相关:ListView、ScrollView、RecyclerView等

  1. ScrollView内嵌套ListView会产生哪些冲突?如何解决?
    解决ScrollView或ListView中嵌套ListView引起的冲突--ListView显示不全问题
    利用事件分发机制解决ScrollView嵌套ListView滑动冲突
  2. ListView内图片错位、item中按钮点击错位、checkBox错位原因分析与解决方案描述
    Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
    Android:ListView常见错位之CheckBox错位
    Android错误之ListView加载错位_ListView图片错位
  3. ListView内如何显示不同样式的item
    Android ListView实现多种Item布局
  4. RecyclerView的使用
    Android RecyclerView 使用完全解析 体验艺术般的控件
  5. ScrollView在水平、竖直情况下的使用场景

八、性能优化

  1. OOM问题分析,如何避免OOM?
    Android避免OOM(内存优化)
  2. 内存溢出(out of memory)与内存泄漏(memory leak)的区别
    Android 内存溢出和内存泄漏的区别
    Android 内存溢出和内存泄漏的问题
  3. GC回收机制
    简析Android的垃圾回收与内存泄露
    垃圾回收机制GC知识再总结兼谈如何用好GC
    详解GC机制,gc机制,Android垃圾回收机制的底层描述
    Android GC那点事儿
  4. 线程与线程池
    Android线程与线程池
  5. ImageLoader的缓存机制是什么?(这个不会刻意阐述LruCache、DiskLruCache这两个的原理即可或者是其它如Glide、Picso图片缓存原理)
    从源代码分析Android-Universal-Image-Loader的缓存处理机制
  6. ANR出现的场景及解决办法
    Android App优化之ANR详解
    Android中对付ANR的N种武器
    android ANR发生的原因总结和解决办法
  7. 如何使用traceview做数据分析
    正确使用Android性能分析工具——TraceView
  8. 如何使用Heap做内存分析(AS场景刻意直接用Android Monitor工具怼出去,答对即可,这方面可以说一些使用LeakCanary工具进行内存泄漏分析的过程)
    LeakCanary:检测所有的内存泄漏

九、其它

  1. Android事件分发机制分析
    Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
    Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
  2. Android数据持久化方式有哪些?
    【Android】数据库版本控制
  3. 自定义View常用方法及其作用介绍(最好包含自定义属性)
  4. Android动画有哪些种类?(补间动画、帧动画、属性动画)
    Android属性动画完全解析(上),初识属性动画的基本用法
    Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
    Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
  5. Android IPC机制
    Android中的IPC机制
    Android中实现IPC的几种方式详细分析及比较
    Android进程间通信(IPC)机制Binder简要介绍和学习计划
  6. Handler、Looper、MessageQueue与Message之间的关系
    Android消息处理机制(Handler、Looper、MessageQueue与Message)
    Android Looper和Handler
    Thread、Handler和HandlerThread关系何在?
  7. 知名第三方库:如OkHttp、Glide、EXOPlayer、Picso、Gson、EventBus等
    • OkHttp
      Android Https相关完全解析 当OkHttp遇到Https
      Android OkHttp完全解析 是时候来了解OkHttp了
    • Glide
      Glide 图片加载库详细用法
      深入探究Glide的缓存机制
  8. 应用架构设计: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 结合的最佳实践
  9. Android NDK的一些开发资料
    [Android] 环境配置之Android Studio开发NDK
    NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序
  10. 最好稍微了解一些FrameWork层的基本知识
  11. 关于版本控制,SVN/Git都来点才好
    廖雪峰Git教程
    git和SVN的区别
    Git 和 SVN 之间的五个基本区别

拓展阅读

  • 四步准备Android面试
  • Android2017最新面试题(3-5年经验个人面试经历)
  • BAT大厂面试题整理
  • 《Android 开发工程师面试指南》

更多相关文章

  1. 在android上使用valgrind检测内存泄漏
  2. Android中使用xml保存数据(xml文件序列化)及使用pull解析xml文件
  3. Android总结篇系列:Android广播机制----学习
  4. 自己封装的Android(安卓)sqlite-helper.jar包使用方法
  5. Android(安卓)网络请求简单使用方式
  6. lua学习笔记 3 android调用Lua。Lua脚本使用LoadLib回调Java,并
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Managing Projects from Eclipse with AD
  2. Android(安卓)为Notification加上一个进
  3. 利用xml文件创建Menu
  4. 在Android上做List Remove的时候遇到的异
  5. android adb shel l命令使用 解决 Read-o
  6. Android(安卓)Studio与 Android(安卓)SDK
  7. Android用http协议上传文件
  8. 第一篇 GridView控件
  9. Android(安卓)CollapsingToolbarLayout:将
  10. Android资源管理框架-------之总述(一)