专栏名称: SegmentFault思否
SegmentFault (www.sf.gg)开发者社区,是中国年轻开发者喜爱的极客社区,我们为开发者提供最纯粹的技术交流和分享平台。
目录
相关文章推荐
码农翻身  ·  字节跳动真的太懂程序员了! ·  19 小时前  
待字闺中  ·  当AI想夺权:工程师沦为Windsurf的副驾驶? ·  4 天前  
OSC开源社区  ·  Node.js开始反击 ·  1 周前  
OSC开源社区  ·  通义灵码SWE-GPT:从静态代码建模迈向软 ... ·  5 天前  
51好读  ›  专栏  ›  SegmentFault思否

Android 开发工程师面试指南

SegmentFault思否  · 公众号  · 程序员  · 2017-09-07 08:00

正文

温馨提示:本文包含大量外部链接,墙裂建议小伙伴们点击 “阅读原文“ 进行阅读。:)

原文作者:

francistao(https://github.com/francistao)

原文链接:

https://github.com/francistao/LearningNotes

这是一份非常详细的 Android 开发工程师面试资料,涉及 Android、Java、设计模式、算法、读书笔记、面试经验等。这份指南包含了大部分 Android 开发的基础、进阶知识,不仅可以帮助准备面试的同学,也可以帮助正在学习和工作的同学梳理自己的知识点。

第一部分:

  • Android(安卓)

    • Android基础知识

    • Android内存泄漏总结

    • Handler内存泄漏分析及解决

    • Handler、Looper、Message、MessageQueue基础流程分析

    • Android性能优化

    • ListView详解

    • RecyclerView和ListView的异同

    • AsyncTask源码分析

    • 插件化技术

    • 自定义控件

    • 事件分发机制

    • ANR问题

    • Art和Dalvik的区别

    • Android关于OOM的解决方案

    • Fragment

    • Activity&Fragment

    • SurfaceView

    • Android几种进程

    • APP启动过程

    • Activity启动流程以及界面展示过程

    • 图片三级缓存

    • Bitmap的分析与使用

    • 热修复的原理

    • AIDL

    • Binder机制

    • Zygote和System进程的启动过程

    • Android中的MVC,MVP和MVVM

    • MVP

    • Android开机过程

    • Retrofit源码分析

    • Glide源码分析

    • EventBus用法详解

    • EventBus源码分析

    • Android ORM 框架之 greenDAO 使用心得

    • Data Binding(数据绑定)用户指南

    • 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并发)

    • Thread和Runnable实现多线程的区别

    • Java并发基础知识

    • 生产者和消费者问题

    • 线程中断

    • 守护线程与阻塞线程

    • synchronized

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

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

    • 死锁

    • 可重入内置锁

    • 使用wait/notify/notifyAll实现线程间通信

    • NIO

第三部分

  • DataStructure(数据结构)

    • 数组

    • 链表

    • 栈和队列

    • 字符串

  • Algorithm(算法)

    • 1.设计一个有getMin功能的栈

    • 2.由两个栈组成的队列

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

    • two-sum

    • 面试题2:实现Singleton模式

    • 面试题6:重建二叉树

    • 面试题11:数值的整数次方

    • 面试题44:扑克牌的顺子

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

    • 顺序查找

    • 折半查找

    • 选择排序

    • 冒泡排序

    • 快速排序

    • 归并排序

    • 面试中的十大排序算法总结

    • 排序

    • 查找

    • 《剑指Offer》

    • 《程序员面试金典》

    • 《LeetCode》

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

第四部分

  • 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(简历)

有任何问题欢迎联系:[email protected]

欢迎关注我的知乎账号:Francis的知乎

微信公众号:幼稚园老大哥

微博账号:Francis的微博

已同步到 http://www.diycode.cc/wiki/androidinterview

拒绝任何形式的商业用途。


相关文章推荐

android 实现【夜晚模式】的另外一种思路