You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Omooo 40744212cc Create Learn Git.md 4 years ago
PPT Create Java 集合源码剖析.pdf 5 years ago
blogs Create Learn Git.md 4 years ago
books 添加 计算机网络 相关电子书 5 years ago
images Update 4 years ago
README.md Update README 4 years ago

README.md

Android Notes

Android 面试必备 --- 口水话系列

何为口水话呢?

就是面试官问你相关问题的时候,你应该如何说的话。

有没有遇到这样的场景,明明面试官问我的问题我会,我也看过甚至我自己也写过相关博客,但是在回答的时候还是支支吾吾说不清楚,或者不分轻重想到啥就说啥。

口水话专门用来解决这个问题,它不同于一般博客语言琐碎,而是语言精炼,突出重点,以沟通的方式而非说教的形式去阐述问题。

目前口水话涉及常见的 Android、Java、计算机网络问题,这些都是面试常见题。

Android:

RecyclerView 相关口水话 View 体系相关口水话 动画相关口水话 Handler 口水话

四大组件启动流程口水话 Binder 相关口水话 系统启动流程口水话

Gradle 相关口水话 性能优化相关口水话 热修复、插件话相关口水话

项目总结

Java&JVM:

JVM 相关口水话 Java 并发相关口水话 线程池口水话 Java/Android 集合源码相关口水话

计算机网络:

HTTP1.x、HTTPS、HTTP2相关口水话 TCP 口水话

参考简历(大佬轻拍):
1. 熟练掌握 Java,包括注解、反射、泛型、异常等相关知识,熟悉其在 JVM 的实现原理
2. 熟悉 Java/Android 中常见的集合源码,包括 List、Set、Map、Queue/Deque 等
3. 对 Java 并发有一定理解,熟悉 synchronized、volatile、原子类等实现原理
4. 熟悉 JVM 相关知识,包括内存区域、内存模型、GC、类加载机制、编译优化等
5. 熟练掌握 Android 应用层开发相关知识,熟悉四大组件、动画的使用
6. 熟悉 View 相关体系,包括 View 绘制流程、事件分发、刷新机制
7. 熟悉 Binder 进程间通信机制,熟悉其通信模型以及完整的通信流程
8. 熟悉 Android 的系统启动流程,Activity、Service 启动流程、Handler 消息机制、SP 源码等
9. 熟悉 Gradle 相关知识,包括自定义 Task、编译打包流程、自定义 Gradle Plugin、编译优化等
10. 熟悉插件化的实现原理,静态代理式和 Hook 式;了解热修复的实现原理
11. 了解常见的性能优化手段,做过包体积优化、布局优化、内存优化等
12. 熟悉计算机网络相关协议,包括 TCP/IP、HTTP/1.x、HTTP2、HTTPS 等

这些知识点,在上述口水话里都有涉及,还有一些设计模式我没写上去,毕竟我也不熟悉...

下面就是博客系列:

Android

Activity Service BroadcastReceiver ContentProvider Fragment

WebView RecyclerView ViewPager ConstraintLayout 自定义 View

其他
  1. Android 数据持久化
  2. 自动化埋点
  3. 动画
  4. Context
  5. Dalvik 与 ART
  6. APT
  7. Bundle、ArrayMap、SparseArray
  8. Hook 原来也就这么回事
  9. Serializable 与 Parceable
  10. 轻松入门 Socket 编程
  11. 热修复
  12. 事件分发机制
  13. Handler 消息循环机制
  14. AsyncTask 源码分析
  15. HandlerThread 源码分析
  16. IntentService 源码分析
  17. View 工作原理
  18. AOP
  19. 自定义 Lint
  20. Choreagrapher
Gralde Plugin、Groovy

Gralde Plugin 入门指南

Gralde Plugin 实践之 TinyPng Plugin

Gradle 详解 Extension

《Android Gradle 权威指南读书笔记》

Gradle 练习之一 --- 输出项目第三方库以及本地依赖库的权限信息

Android Gradle Plugin 流程分析

JVM、ART 相关
性能优化

[I/O 优化]

[UI 优化]

内存优化

包体积优化

[卡顿优化]

[启动优化]

存储优化

[崩溃优化]

[电量优化]

操作系统

操作系统学习路径

Linux 综述

Framework

Android 系统架构

Android 系统启动

应用程序进程启动过程

Android APK 构建流程

Android 签名校验机制 v1、v2、v3

init 进程

智能指针

《深入理解 Android 卷一》

《深入理解 Android内核设计思想》

《Android 源代码情景分析》

Java 基础

final 你需要知道的一切

String 你需要知道的一切

反射 你需要知道的一切

深入理解反射

泛型 你需要知道的一切

注解 你需要知道的一切

异常 你需要知道的一切

BIO、NIO、AIO

UncaughtExceptionHandler

Java 5 - Java 10 新特性总结

Java 并发

线程、线程池

线程生命周期

并发编程的万能钥匙 - 管程 ( Monitor )

Lock 和 Condition

并发编程的艺术

并发编程的源头

JVM

深入理解 Class 文件格式

一篇文章学完 JVM 重点知识

JVM 优化 Java 代码时都做了什么?

一篇文章搞懂 synchronized、CAS、AQS

多线程和锁优化

早期编译器优化

晚期运行期优化

循环优化

深入理解 JIT

从 final 能够 “提升” 性能谈编译优化

虚拟机字节码执行引擎

volatile

JVM 是如何执行方法调用的?

JVM 是如何实现 invokedynamic 的

JVM 是如何实现反射的?

Java 优化策略

G1 垃圾收集器

设计模式

单例模式

工厂模式

代理模式

观察者模式

Builder 建造者模式

数据结构和算法

异或,原来这么有用

一篇文章搞定 HashMap

八大排序

计算机网络

Http 和 Https

HTTP 的前世今生

Java 与底层操作系统的交互细节

TCP 与 UDP

《Web 性能权威指南》

《HTTP2 基础教程》

《深入理解计算机系统》

算法

《剑指 Offer》

二叉树相关

字符串相关

数组相关

栈相关

递归相关

链表相关

笔试

央视电影网 --- Mr.S 大佬

常见面试题精讲

面试题集