(转载自diycode)2017 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开机过程

Retrofit2 源码解析

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内存区域与内存溢出

垃圾回收算法

Java并发基础知识

生产者和消费者问题

Thread和Runnable实现多线程的区别

线程中断

守护线程与阻塞线程

synchronized

多线程环境中安全使用集合API

实现内存可见的两种方法比较:加锁和volatile变量

死锁

可重入内置锁

NIO

第三部分

DataStructure(数据结构)

数组

链表

栈和队列

字符串

Algorithm(算法)

排序

选择排序

冒泡排序

快速排序

归并排序

查找

顺序查找

折半查找

《剑指Offer》

面试题2:实现Singleton模式

面试题6:重建二叉树

面试题11 数值的整数次方

面试题44:扑克牌的顺子

面试题45 圆圈中最后剩下的数字

《LeetCode》

two-sum

《程序员代码面试指南(左程云)》

设计一个有getMin功能的栈

由两个栈组成的队列

如何仅用递归函数和栈操作逆序一个栈

##第五部分

ReadingNotes(读书笔记)

《APP研发录》第1章读书笔记

《APP研发录》第2章读书笔记

《Android开发艺术探索》第一章笔记

《Android开发艺术探索》第二章笔记

《Android开发艺术探索》第三章笔记

《Android开发艺术探索》第四章笔记

《Android开发艺术探索》第八章笔记

《Android开发艺术探索》第十五章笔记

《深入理解Java虚拟机》第12章

《Java编程思想》第一章读书笔记

《Java编程思想》第二章读书笔记

第六部分

InterviewExperience(面试经验)

Alibaba

美团

豌豆荚

蜻蜓FM

新浪微博

网易杭研

Resume(简历)

第七部分:

国内一线互联网公司内部面试题库

    原文作者:i_cassell
    原文地址: https://www.jianshu.com/p/cb358a2dffa5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞