面试准备—Android知识查缺补漏


前言:最近看博客时看到一些面试相关帖,特地整理一下知识点,作为接下来学习重点!

Java相关

  1. 容器(HashMap、HashSet、LinkedList,ArrayList,HashSet等)
  2. 内存模型
  3. 说下DavilkVM和JVM的原理和不同点?(JVM、Davilk、ART 三者的原理和区别)
  4. 垃圾回收机制
  5. 类加载方案
  6. 说说你对Java 反射的理解
  7. 说说你对动态代理的理解
  8. 什么是线程池,如何使用?为什么要使用线程池?
  9. 在多线程运行过程中,解决安全性问题?
  10. 设计模式(六大基本原则)
  11. Java 中引用类型都有哪些?
  12. Java 的泛型
  13. String、StringBuffer 和 StringBuilder 的区别
  14. 关键字 final 和 static 是怎么使用的
  15. 接口、抽象类的区别
  16. 什么是重载,什么是重写,有什么区别?
  17. 说说你对Java堆栈的理解?
  18. 单例模式,常见的有几种?
  19. 说说你在项目开发过程中,常用的几种设计模式?

Android相关

  1. 源码分析:AMS 、PMS、ActivityThread、Handler,Binder
  2. Activity 启动流程,App 启动流程
  3. MeasureSpec的原理和计算规则是怎样的?
  4. 你写过的最复杂的view 是怎样的?都遇到了哪些复杂地方?
  5. Android是如何通过Activity进行交互的?
  6. 进行Android app性能优化的方向是怎样的?
  7. 什么情况下会导致性能优化,如何避免?
  8. leakCanary 用过没有,它监控的原理是什么?
  9. profile 熟练吗?都可以用来分析哪些方面的性能?它的原理掌握吗?
  10. 面对UI卡顿,我们从哪些方面入手进行分析解决?
  11. 自定义View 注意事项
  12. 缓存自己如何实现(LRUCache 原理)
  13. MVC、MVP、MVVM之间的差别
  14. sqlite 相关
  15. Binder 机制(IPC、AIDL 的使用)
  16. JetPack + MVVM 这种架构模式熟悉吗?
  17. JetPack 的 LiveData,Lifecycle,ViewModel 内部原理熟悉吗?

算法和数据结构

  1. Hash
  2. 最小生成树算法
  3. 最短路径算法
  4. KMP 算法
  5. 查找算法
  6. 排序算法
  7. 跳跃表
  8. 链表反转(头插法)
  9. 广度、深度优先搜索算法
  10. 计算二叉树的最大深度,要求非递归算法。

网络

  1. 网络框架对比和源码分析
  2. 自己去设计网络请求框架,怎么做?
  3. 网络请求缓存处理,okhttp如何处理网络缓存的
  4. 从网络加载一个10M 的图片,说下注意事项
  5. TCP 的 3 次握手和四次挥手…
  6. DNS解析过程
  7. OKHttp框架是如何请求服务器的,说说你的看法
  8. Http与Https两者的区别
  9. 说说应用层与传输层的关系
  10. 谈谈你对安卓签名的理解。
  11. 视频加密传输

源码理解

  1. Glide的缓存机制

  2. EventBus

  3. LeakCanary

  4. ARouter框架解决了什么问题,内部原理是怎样?

  5. RxJava 的线程切换原理

  6. RxJava用到哪些设计模式?

  7. Retrofit 动态代理的理解

  8. OkHttp 内部原理的理解

  9. 事件分发机制是怎样的?设计者为什么要设置拦截?

  10. Android是如何通过View进行渲染的?

  11. Android App 安装的流程是怎样的?

  12. Android事件分发流程是怎样的?

  13. Android插件化原理知道吗?

  14. Android 组件化管理模式是怎样?

  15. Android 使用Hook去拦截过系统源码吗?

Kotlin 相关

  1. 说一下使用kotlin的三大好处
  2. 为什么kotlin跟Java具有互相的操作性?
  3. 说一下Kotlin的伴生对象
  4. 协程能解决什么问题
  5. Kotlin里的Extension Functions实现原理分析
  6. kotlin中的抽象有什么作用?
  7. Kotlin Null检测机制是怎样的?
  8. Kotlin中的高阶函数,说说你的理解
  9. Kotlin 编译为什么比Java慢?
  10. Kotlin 泛型的 in 和 out 有什么用?
  11. Kotlin 扩展功能有什么用?

Flutter相关

  1. Dart 当中的 「…」表示什么意思?
  2. Dart 的作用域
  3. Dart 是不是单线程模型?是如何运行的?
  4. Dart 是如何实现多任务并行的?
  5. 说一下Dart异步编程中的 Future关键字?
  6. 说一下Dart异步编程中的 Stream数据流?
  7. Stream 有哪两种订阅模式?分别是怎么调用的?
  8. await for 如何使用?
  9. 说一下 mixin机制?
  10. 请简单介绍下Flutter框架,以及它的优缺点?
  11. 介绍下Flutter的理念架构
  12. 绍下FFlutter的FrameWork层和Engine层,以及它们的作用
  13. 介绍下Widget、State、Context 概念 - Widget
  14. 简述Widget的StatelessWidget和StatefulWidget两种状态组件类
  15. StatefulWidget 的生命周期
  16. 简述Widgets、RenderObjects 和 Elements的关系
  17. 什么是状态管理,你了解哪些状态管理框架?
  18. 简述Flutter的绘制流程
  19. 简述Flutter的线程管理模型
  20. Flutter 是如何与原生Android、iOS进行通信的?
  21. 简述Flutter 的热重载

简历+社招解答+经典HR面试解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liusaisaiV1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值