数据结构基础
- ArrayList 与 LinkedList 区别
- HashMap 的实现原理
- HashMap 与 HashTable 的区别
- LinkedHashMap 与 HashMap 的区别
- LruCache 的实现
Java基础与JVM
- java 中 String 类为什么被设计成不可变的
- 描述下 java 类加载的双亲委派机制
- 描述一下 jvm 内存模型
- jvm 运行时数据区有哪些,分别负责存储什么数据
- 什么情况下会产生 oom
- 描述下 gc 机制, gc 算法有哪些
- java 有哪几种引用方式,他们在 gc 中的表现是怎样的
- 如何解决 oom 和内存泄露
- LeakCanary 的原理是啥
Java并发编程
- wait 和 sleep 的区别
- java 语法层面影响并发的有哪几种
- 描述下 volatile 的作用
- 什么是线程池
- ThreadPoolExecutors 的构造参数中 coreSize,maxSize 分别代表什么,当超过 maxSize 后会怎样
- ThreadPoolExecutors 是如何实现线程池的
网络
- tcp 和 udp 的区别
- tcp/ip 三次握手和四次挥手
- http 常用 header
- 描述 https
- 抓包工具是如何抓包的
Android
- 线程,进程与Service 的区别
- View,Window,Activity 的关系
- 触摸事件的流程
- Android业内经常有一句话叫“不能在子线程修改UI”这句话对不对
- startActivity 后发生了什么
- 插件化是如何实现的
- RecycleView 和 ListView 的区别
- Handler机制及底层实现
- 画一下 Context 继承体系的 UML 类图
- Android 热修复原理
- Android apk打包有哪几个大流程
- Android 系统启动都经历了什么
- Binder 机制描述,为什么 Android 会选择 Binder 机制
- 混合开发有啥相关研究,如何看待 hybrid,rn,weex 这类混合开发
架构设计
- 知道哪些设计模式
- 策略模式写过怎样的应用
- RecycleView 为什么设计出 LayoutManager
- 说说你比较好的一个架构设计
为了向大神看齐,决定以后学习了解每一个知识点或者实践过后都写一篇文章记录一下,哪怕是转载其他大牛写好的,半年为期,加油吧~
网友评论