Android Knowledage

身为一个Android开发工程师,有些知识点还是很有必要掌握的。

Android

  • TCP和UDP
  • CrashHandler的实现
  • Android各版本的变化
  • Binder的理解及原理。
  • Android消息机制(Looper,MessageQueue,Handler工作原理,如何手写looper,即阻塞消息队列实现)
  • Init进程,Zygote进程,SystemServer进程及Launcher启动流程。根Activity启动流程,四大组件自动流程。
  • ActivityThread,AMS,WMS的工作原理。
  • IntentService、HandlerThread实现原理
  • 框架的源码。(Eventbus、OkHttp、Glide)
  • 设计模式(单例模式(懒汉,饿汉),DCL,静态内部类创建)、Builder模式、观察者模式、装饰模式、策略模式、简单工厂模式、抽象工厂模式、代理模式(动态代理)
  • 从输入一个URL到看到一个页面的过程。
  • Android的性能优化有哪些方法
  • Android类加载器,及PathClassloader和DexClassloader有什么用。
  • View的事件分发机制。
  • 架构设计(MVP和MVC使用及区别)
  • ANR原理及如何查看。
  • 内存泄露及发生的情况。
  • LRU原理
  • ListView及Recyclerview上滑卡顿原因。
  • Android的线程通信。

Java

  • 动态代理原理。
  • HashMap实现原理。(实现结构,hash和rehash,多线程下死锁,红黑树)自定义对象是否可以当做key。及满足条件。(equals及hashcode)
  • 由HashMap是否有序,引出有序的TreeMap和LinkedHashMap。及多线程下引出的CourrentHashMap。各实现原理。
  • 类的加载机制,Java三种类加载器。及和Android类加载器相比较。
  • JVM内存区域,垃圾回收机制(标记计数算法,可达性分析算法)。GC算法(标记-清除算法,复制算法,标记-整理算法)及各运用场景和为什么。Java中的四种引用。
  • Synchronized和Volatile区别。
  • ArrayListLinkedList区别及源码层板分析下的实现原理。
  • 线程池底层实现原理

Search

    Table of Contents