面试经历
- Android ( 2017 - 2018 ) BAT 面试题整理( Android 篇,含答案)
- Android 2017 - 2018 最新面试题( 3 - 5 年经验个人面试经历)
- Android ( 2017 - 2018 ) BAT 面试题整理( Java 篇,含答案)
- LearningNotes
- zh1豪的面试总结 blog
- 20 届大厂收割之路
- 流船的 Android 面试题
- 李志强 2018 面试经历
-
面试准备 :
面向对象
设计模式
- 单例模式
- 观察者模式
- 工厂模式
四大组件
- 启动模式、具体的应用到什么场景
- 生命周期
- 存储方式
- Handler 消息传递机制
- Handler 、MessageQueue 、Looper三者的关系和原理
- 事件分发机制
- View 触摸事件分发机制
性能优化
适配
自定义 View
- Material Design 控件
动画
ANR
https://github.com/francistao/LearningNotes/blob/master/Part1/Android/ANR%E9%97%AE%E9%A2%98.md
内存泄漏(有哪些情况、易发场景,用什么工具查看 - LeakCanary)
https://blog.csdn.net/wzhworld/article/details/78318433
https://github.com/francistao/LearningNotes/blob/master/Part1/Android/ANR%E9%97%AE%E9%A2%98.md
图片加载造成 OOM
MVC、MVP 模式
MVP 架构模式的优点和缺点,与 MVC 的比较
MVC 、MVP 和 MVVM 三种架构的区别和优点
MVP 架构中 Presenter 定义为接口有什么好处
JVM GC、JVM 内存模型
Json 、XML 解析
- WebView
开发框架及其原理
okhttp 源码和原理、volley原理、使用区别、实现过程(了解源码)
- Retrofit 封装使用、源码和原理
Retrofit 框架的原理,里面使用到的注解是编译时注解还是运行时注解
https://blog.csdn.net/Zzz_Zzz_Z/article/details/51893836
https://blog.csdn.net/gengqiquan/article/details/52329259
https://blog.csdn.net/liangdong131/article/details/51791034
- Glide
- OkGo
https://blog.csdn.net/bskfnvjtlyzmv867/article/details/71598263
- RxJava 操作符,map 和 flatMap 的区别
第三方 SDK
- 开发调试工具
- Socket
- Git
ListView、RecyclerView
RecyclerView 中的 LayoutManager
http 与 https
HTTPS 的原理
cookie、session
- 抽象类跟接口的区别
- sychronized 的应用,锁的类型,用于方法跟静态方法的区别、死锁的概念
- 异步线程 HandlerThread 、AsyncTask、new Thread、IntentService
- java 的 TCP\IP 的模型
- 断点续传,可靠传输
- Android 下载并打开 PDF、doc、dwg
- svg 图
- 为什么说枚举更占内存,枚举原理是什么
- Android 多进程通信
- Android 插件化的原理
- 热更新框架的原理
- Android Native 和 JS 通信有几种方式,有没有用到什么框架之类的
- Android 布局优化相关的问题,就回答了 include 、 merge 标签和 ViewStub 以及降低 View 层级之类的
- 有没有了解过 React Native 或者 Weex
- 单元测试有没有做过,说说熟悉的单元测试框架
- Fragment
- Fragment 在 ViewPager 里面的生命周期,滑动 ViewPager 的页面时 Fragment 的生命周期的变化
- 为什么 Google 会推出Fragment ,有什么好处和用途? 直接用 View 代替不行么?
- Gradle 打包
- Jenkins持续集成
- AOP IOC 的好处以及在 Android 开发中的应用
- Java基础: static 和 final 关键字的用法
- ArrayList 和 LinkedList 的区别和使用场景
- Dagger2 框架中 @module 和 @component 的区别
- Kotlin 特性,和 Java 相比有什么不同的地方
- Java动态代理的使用,InvocationHandler 有什么用
- 项目介绍,自己负责哪些内容;
- 安卓安全方面了解过吗,反编译、加壳之类的;
- MVC 、MVP 和 MVVM 三种架构的区别和优点;
- Retrofit框架的原理,感觉这个每次都会被问到。。。;
- HTTPS 握手的步骤和过程;
- Jenkins 自动构建;
- Android Studio 3.0 中 Gradle 的 api 和 implementation 有什么区别;
- HandlerThread 的原理和使用场景;
- AsnycTask 的原理和使用场景;
- Handler 、MessageQueue 、Looper三者的关系和原理;
- Android 插件化的原理;
- 热修复的原理;
- 应用程序崩溃统计以及数据分析;
- Android 插件化的原理;
- 热修复的原理;
- Java GC 回收,如何判断对象存活;
- Java GC 算法;
- AsyncTask 、HanlderThread 、IntentService 的原理和使用场景;
- 会哪些 RxJava 操作符,map 和 flatMap 的区别;
- Retrofit框架的原理,emmmmmm ,又是这个;
- Bitmap 优化;
- RecyclerView 和 ListView 的相同和不同点,在 item 回收上有什么不同;
- View 事件分发机制;
- 说说 apk 打包流程;
- 有没有做过 apk 多渠道打包;
- Android 组件化的原理,还有一些组件化平时使用的问题;
- Binder 有没有了解过;
- HashMap 的存储原理;
- Kotlin 特性,和 Java 相比有什么不同的地方;
- Android Framework层有没有了解过,说说 Window 窗口添加的过程;
- Window Activity View 三者的关系;
- 消息推送有没有做过,推送到达率的问题;
- Android 分享 SDK 有没有做过;
- 项目介绍,负责内容等;
- HTTPS 的原理;
- HTTP 2.0 有没有了解过;
- 讨论技术和业务哪个重要;
- Android 热修复原理;
- RecyclerView 和 ListView的异同;
- 自定义 View 绘制过程;
- 情景假设:slider 滑块 分析需要哪些数据;
- 情景假设:分析给定页面需要几个 API ,及其返回的数据结构,手写 json;
- MVP 和 MVC 的区别;
- 自己建 model,从 API 返回的数据中摘取需要的数据;
- Glide 和 Picasso 的区别(简历);
- OkHttp 原理,Retrofit 原理;
- 性能优化(简历);
- 适配(简历);
- 时间转换;
- 总结一下自己三年的工作经验;
- 职业规划;
- 重视分析问题的思路;
- 了解后台架构或开发么?
- 全栈发展,身兼数职;
- 有什么疑问;
-
笔试
-
聊聊
- 为什么要离开前公司
- 职业规划、公司状况了解,有什么问题么?
- 有阅读什么书籍、代码
任玉刚的《Android开发艺术探索》、
鸿洋的博客、
徐宜生的《Android群英传》两部、
郭霖的博客、《第一行代码》、《第二行代码》
《Android源码设计模式》、《深入理解Java虚拟机》、《Java编程思想》
《现代操作系统》、《计算机网络》第七版,谢希仁,教材书籍
数据结构(排序算法、查找算法、动态规划、深度、广度优先等)