美文网首页面试宝典Android开发自定义views
【不负初心】Android初中高级开发工程师面试复习点

【不负初心】Android初中高级开发工程师面试复习点

作者: 紫豪 | 来源:发表于2017-07-14 14:54 被阅读936次

    引言

    本文面试知识点主要针对大部分合肥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等
    8. 应用架构设计:MVP、MVVM框架的了解,Dagger2、ButterKinfe、Databinding、RxAndroid、RxJava、Retrofit 2.0的使用等等
    9. Android NDK的一些开发资料
      [Android] 环境配置之Android Studio开发NDK
      NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序
    10. 最好稍微了解一些FrameWork层的基本知识
    11. 关于版本控制,SVN/Git都来点才好
      廖雪峰Git教程
      git和SVN的区别
      Git 和 SVN 之间的五个基本区别

    拓展阅读

    相关文章

      网友评论

        本文标题:【不负初心】Android初中高级开发工程师面试复习点

        本文链接:https://www.haomeiwen.com/subject/xebnhxtx.html