Android 开发工程师面试指南

整理得比较齐全,可以根据这条线进行查漏补缺。
《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备面试的同学,也可以帮助正在学习和工作的同学梳理自己的知识点。有心的同学也可以帮他们不断完善。
原文地址:http://www.diycode.cc/wiki/androidinterview
github地址:https://github.com/GeniusVJR/LearningNotes
第一部分:
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(简历)

你可能感兴趣的:(Android 开发工程师面试指南)