2017-2020 挑选出来最具代表性的(Java,网络相关,2021 年字节跳动 74 道高级程序员面试
17.Java 中引用类型的区别,具体的使用场景
18.Exception 和 Error 的区别
19.volatile
网络相关面试题
1.http 状态码
2.http 与 https 的区别?https 是如何工作的?
3.TCP 三次握手流程
Android 面试题
1.进程间通信的方式有哪几种
AIDL 、广播、文件、socket、管道
2.广播静态注册和动态注册的区别
动态注册广播不是常驻型广播,也就是说广播跟随 Activity 的生命周期。注意在 Activity 结束前,移除广播接收器。 静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。
当广播为有序广播时:优先级高的先接收(不分静态和动态)。同优先级的广播接收器,动态优先于静态
同优先级的同类广播接收器,静态:先扫描的优先于后扫描的,动态:先注册的优先于后注册的。
当广播为默认广播时:无视优先级,动态广播接收器优先于静态广播接收器。同优先级的同类广播接收器,静态:先扫描的优先于后扫描的,动态:先注册的优先于后册的。
3.Android 性能优化工具使用(这个问题建议配合 Android 中的性能优化)
Android 中常用的性能优化工具包括这些:Android Studio 自带的 Android Profiler、LeakCanary、BlockCanary
Android 自带的 Android Profiler 其实就很好用,Android Profiler 可以检测三个方面的性能问题:CPU、MEMORY、NETWORK。
LeakCanary 是一个第三方的检测内存泄漏的库,我们的项目集成之后 LeakCanary 会自动检测应用运行期间的内存泄漏,并将之输出给我们。
BlockCanary 也是一个第三方检测 UI 卡顿的库,项目集成后 Block 也会自动检测应用运行期间的 UI 卡顿,并将之输出给我们。
4.Android 中的类加载器
PathClassLoader,只能加载系统中已经安装过的 apk
DexClassLoader,可以加载 jar/apk/dex,可以从 SD 卡中加载未安装的 apk
5.Android 中的动画有哪几类,它们的特点和区别是什么
6.Handler 机制
7.Android 性能优化
8.Android 内存优化
9.Binder 机制
10.LruCache 的原理
11.DiskLruCache 原理
12.设计一个图片的异步加载框架
13.Android 中的事件分发机制
14.View 的绘制流程
**
15.Android 源码中常见的设计模式以及自己在开发中常用的设计模式**
16.Android 与 js 是如何交互的
17.热修复原理
18.Activity 启动过程
19.SparseArray 原理
20.图片加载如何避免 OOM
21.大图加载
Android 三方库的源码分析
1.OkHttp
2.Retrofit
3.RxJava
4.Glide
5.EventBus
数据结构与算法
1.手写快排
2.手写归并排序
3.手写堆以及堆排序
4.说一下排序算法的区别(时间复杂度和空间复杂度)
工作中解决了什么难题,做了什么有成就感的项目(这个问题一定会问到,所以肯定要做准备)
更多
由于文章篇幅问题,有需要以上 Android 高频精选面试题完整版的点击【Android高级工程师进阶学习】加入我们的圈子领取资料和我们一起吧学习交流吧!
评论