安卓面试题

java基础

  • 容器(HashMap、HashSet、LinkedList、ArrayList、数组等)

  • hashmap 哈希冲突

  • 内存模型


    JMM.png
  • 垃圾回收算法(JVM)

  • 垃圾回收机制和调用 System.gc()的区别?

  • 类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
    classLoader

  • 反射

  • 多线程和线程池种类

  • 设计模式(六大基本原则、项目中常用的设计模式、手写单例等)

  • Java 四大引用

  • Java 的泛型

  • final、finally、finalize 的区别

  • 接口、抽象类的区别

  • synchronized和volatile区别

Android

  • activity生命周期, 两个activity的跳转/横竖屏切换生命周期的变化
  • activity四种启动模式
  • service生命周期, bindService/startService
  • 内存泄漏和内存溢出区别和解决办法
  • 安卓线程/进程间通信
  • 自定义 View
  • 事件拦截分发机制
  • handler原理
  • anr
  • 性能优化和工具
  • SurfaceView、TextureView、GLSurfaceView 区别及使用场景
  • Android中的View动画和属性动画 、Android 动画 介绍与使用
  • MVC、MVP、MVVM
  • HandlerThread、ThreadLocal、AsyncTask、IntentService 原理及应用
  • 热修复、插件化
  • 组件化架构思路
  • 系统打包流程
  • Android 有哪些存储数据的方式
  • Activity 启动流程,App 启动流程
  • Binder 机制(IPC、AIDL 的使用)
  • 为什么使用 Parcelable,好处是什么?

源码相关

  • Glide :加载、缓存、LRU 算法 (如何自己设计一个大图加载框架) (LRUCache 原理)
  • LeakCanary
  • 插件化
  • 热修复
  • RXJava (RxJava 的线程切换原理)
  • Retrofit (Retrofit 在 OkHttp 上做了哪些封装?动态代理和静态代理的区别,是怎么实现的)
  • OkHttp
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容