写点什么

Android 基础掌握好,面试基本不会倒!,面向 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 堆,大小王出现在同一堆的概率(排列组合算数题)

抽象问题

  • 讲讲做过的项目,有哪些亮点??

  • 你自己的亮点在哪里,你的加入可以给团队带来什么??

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
Android 基础掌握好,面试基本不会倒!,面向Android开发者的复习指南