作者是知乎Android开发工程师陶程,由梁观全贡献部分,https://www.diycode.cc/wiki/androidinterview

第一部分:

  • Android(安卓)

    • Android基础知识
    • Android内存泄漏总结
    • Handler内存泄漏分析及解决
    • Android性能优化
    • ListView详解
    • RecyclerView和ListView的异同
    • AsyncTask源码分析
    • 插件化技术
    • 自定义控件
    • 事件分发机制
    • ANR问题
    • Art和Dalvik的区别
    • Android关于OOM的解决方案
    • Fragment
    • Activity&Fragment
    • SurfaceView
    • Android几种进程
    • APP启动过程
    • Activity启动流程以及界面展示过程
    • 图片三级缓存
    • 热修复的原理
    • AIDL
    • Binder机制
    • Zygote和System进程的启动过程
    • Android中的MVC,MVP和MVVM
    • MVP
    • Android开机过程
    • Retrofit源码分析
    • Glide源码分析
    • EventBus用法详解
    • EventBus源码分析
    • Android ORM 框架之 greenDAO 使用心得
    • RxJava
    • 设计一套图片异步加载缓存方案
    • Android UI适配
    • Gradle
    • 查漏补缺
    • Git操作

=======


  • DesignPattern(设计模式)

    • 面向对象六大原则
    • 单例模式
    • Builder模式
    • 原型模式
    • 简单工厂
    • 工厂方法模式
    • 抽象工厂模式
    • 策略模式
    • 状态模式
    • 责任链模式
    • 解释器模式
    • 命令模式
    • 观察者模式
    • 备忘录模式
    • 迭代器模式
    • 模板方法模式
    • 访问者模式
    • 中介者模式
    • 代理模式
    • 组合模式
    • 适配器模式
    • 装饰模式
    • 享元模式
    • 外观模式
    • 桥接模式

第二部分

  • JavaSE(Java基础)

    • Java基础知识
    • Java中的内存泄漏
    • String源码分析
    • Java集合框架
    • ArrayList源码剖析
    • LinkedList源码剖析
    • Vector源码剖析
    • HashMap源码剖析
    • HashTable源码剖析
    • LinkedHashMap源码剖析
  • JVM(Java虚拟机)

    • JVM基础知识
    • JVM类加载机制
    • Java内存区域与内存溢出
    • 垃圾回收算法
  • JavaConcurrent(Java并发)

    • Java并发基础知识
    • 生产者和消费者问题
    • Thread和Runnable实现多线程的区别
    • 线程中断
    • 守护线程与阻塞线程
    • synchronized
    • 多线程环境中安全使用集合API
    • 实现内存可见的两种方法比较:加锁和volatile变量
    • 死锁
    • 可重入内置锁
    • 使用wait/notify/notifyAll实现线程间通信
    • NIO

第三部分

  • DataStructure(数据结构)
    • 数组
    • 链表
    • 栈和队列
    • 字符串
  • Algorithm(算法)
    • 排序
      • 选择排序
      • 冒泡排序
      • 快速排序
      • 归并排序
    • 查找
      • 顺序查找
      • 折半查找
    • 《剑指Offer》
      • 面试题2:实现Singleton模式
      • 面试题6:重建二叉树
      • 面试题11:数值的整数次方
      • 面试题44:扑克牌的顺子
      • 面试题45:圆圈中最后剩下的数字
    • 《程序员面试金典》
    • 《LeetCode》
      • two-sum
    • 《程序员代码面试指南(左程云)》
      • 1.设计一个有getMin功能的栈
      • 2.由两个栈组成的队列
      • 3.如何仅用递归函数和栈操作逆序一个栈

第四部分

  • Network(网络)
    • TCP/UDP
    • HTTP
    • Socket
  • OperatingSystem(操作系统)
    • Linux系统的IPC

更多相关文章

  1. Android整机源码如何轻松下载?清华大学Android源码镜像
  2. Android(安卓)Activity启动模式分析
  3. Android(安卓)Binder机制 - interface_cast和asBinder源码分析
  4. Android(安卓)Framework启动过程(android内核剖析笔记)
  5. Android之网络请求6————OkHttp源码3:拦截器链
  6. Android四种Activity的加载模式
  7. Android05
  8. Android(安卓)Activity的启动过程(API27 源码分析)
  9. smack 源码分析- PacketWriter (android上实现长连接)

随机推荐

  1. android开发积累4-android使用HttpURLCon
  2. Android类库介绍
  3. Android(安卓)模拟器(emulator)无法启动A
  4. android点滴(15)--ubuntu下配置Android(
  5. Android布局容器
  6. Android系统信息与安全机制
  7. Android之EditText指定类型数据
  8. Android常用秘籍总结
  9. Android(安卓)Studio
  10. Android(安卓)kernel 编译