《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备面试的同学,也可以帮助正在学习和工作的同学梳理自己的知识点。有心的同学也可以帮他们不断完善。

第一部分:

  • 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

##第五部分

  • ReadingNotes(读书笔记)

    • 《APP研发录》第1章读书笔记
    • 《APP研发录》第2章读书笔记
    • 《Android开发艺术探索》第一章笔记
    • 《Android开发艺术探索》第二章笔记
    • 《Android开发艺术探索》第三章笔记
    • 《Android开发艺术探索》第四章笔记
    • 《Android开发艺术探索》第八章笔记
    • 《Android开发艺术探索》第十五章笔记
    • 《深入理解Java虚拟机》第12章
    • 《Java编程思想》第一章读书笔记
    • 《Java编程思想》第二章读书笔记
    • Project(项目)
    • 项目难点

第六部分

  • InterviewExperience(面试经验)
    • Alibaba
    • 美团
    • 豌豆荚
    • 蜻蜓FM
    • 新浪微博
    • 网易杭研
  • Resume(简历)



更多相关文章

  1. Android内存泄露利器MLT(整合篇)
  2. android usb Host模式下与usb Hid 设备的通信
  3. 使用Android Studio查看Android 5.x源码
  4. Android工具箱APP源码分享:“一个工具箱”
  5. android位图颜色模式的问题
  6. 【Android】应用程序启动过程源码分析

随机推荐

  1. Android实现控制第三方音乐播放器暂停/播
  2. Android中的String StringBuffer StringB
  3. 理解Android中的引用类型
  4. Android(安卓)Debug Bridge 用法简单归纳
  5. Android工程重新编译问题
  6. 如何用Qt/C++访问Android摄像头
  7. Android与JavaScript交互
  8. Android--Sensor传感器
  9. Eclipse中Android(安卓)SDK Manager无法
  10. Genymotion下载vbox提示connection timeo