Android 基础掌握好,面试基本不会倒!,面向 Android 开发者的复习指南
Fragment 的 ViewModel 如何访问到 Activity 的 ViewModel 的数据
Activity 4 种启动模式说下,各种启动模式适合的应用场景
Activity 任务栈从底到顶为 A-B-C,低内存杀死进程后,重新点击,显示哪个?这时如果 C 里面有 Fragment 是怎样恢复的?
Activity 如何传参给 Fragment?为什么用 setArgument 传参,而不是使用带有参数的构造器?
window、view 和 Activity 的关系
Activity、Fragment 的各个生命周期依次说一下,各个生命周期里面适合做什么
Activity 调用 finish 方法后怎么走到 onDestroy 的
图片
Glide 缓存特点
Glide 为我们做了哪些内存优化
Glide 如何加载 GIF
ListView 图片错位的原因,解决方案
bitmap 如何处理大图,30M 的大图如何防止 OOM?
网络
OKHttp 如何实现缓存
OKHttp 的超时时间,有考虑 DNS 超时码
OKHttp 线程池、连接池讲下
OKHttp 的所有拦截器有哪些,请求失败了重试 1、2 次怎么做
Retrofit 实现机制
Room 注解如何在编译时生成类文件
http 和 https 的区别,shakehand 的过程说下
状态码 400、401,3xx 有哪些
网络劫持是什么,应该怎么做
TCP 三次握手,握手中的网络包各个标记位是多少,四次挥手说一下
TCP 发送窗口是什么?
混合开发 h5 了解多少
浏览器窗口访问一个网址的过程
POST 和 GET 有什么区别
优化
内存泄漏分析,LeakCanary 的原理,泄漏对象是如何找到引用链的
APK 瘦身
启动优化
卡顿分析!!
ANR 分析!!
为什么布局文件中层级越多,性能可能差很多
你有哪些应用性能优化的经验必问
ProGuard 怎么写
Java
hashCode、equals
HashMap 请开始你的表演
ConcurrentHashMap 分段加锁的原理
动态代理如何写
JVM 内存模型介绍下,哪些地方可能 OutOfMeomory
JVM GC 算法
线程池的原理,有哪些拒绝策略
Java 锁优化:偏向锁、轻量级锁、自旋锁讲一下
为什么说反射的性能不好
Kotlin
Kotlin 协程为什么能以同步代码写出异步逻辑?
suspend 函数的工作原理
在协程上定义了一个局部变量,为什么在其中的其他线程里的协程也能访问到?
by 的两种场景,by Lazy 的实现
object 单例的实现
算法
各种排序 算法(冒泡、选择、快排、归并。。。)的时间复杂度,各种查找算法)(顺序查找,二分查找……)的时间复杂度
LRU 实现(146)参考 LinkedHashMap 实现的 3 个方法
LFU 缓存(460) 同一频率使用 LRU 的 NodeList,外面套一层{freq to NodeList},NodeList 用双链表实现
两数相加(445)
找缺失的数字(268)注意相似题目里有中等
两个队列实现栈(225)
删除子文件夹(1233)
螺旋矩阵打印(54)
用生成随机数 1-5(1,2,3,4,5)的方法,得到一个可以生成随机数(1-7)的方法
54 张扑克牌,分成 3 堆,大小王出现在同一堆的概率(排列组合算数题)
抽象问题
讲讲做过的项目,有哪些亮点??
你自己的亮点在哪里,你的加入可以给团队带来什么??
评论