1. 首页
  2. Java实战教程

Android中高级面试题汇总(2020年)

阿里云服务器优惠

基础篇

Java基础

Android基础

Activity知识点(必问)

  • Activity启动过程全解析
  • 启动模式以及使用场景
  • onSaveInstanceState以及onRestoreInstanceState使用
  • onConfigurationChanged使用以及问题解决

Fragment知识点

Service知识点

Handler知识点(必问)

Handler Looper Message 关系是什么?
Messagequeue 的数据结构是什么?为什么要用这个数据结构?
如何在子线程中创建 Handler?
Handler post 方法原理?
Handler消息机制,postDelayed会造成线程阻塞吗?对内存有什么影响?
当访问大量数据出现线程租塞用什么技术解决?

数据存储

文件和数据库哪个效率高?

UI控件篇

RecyclerView和ListView的区别(必问)

RecyclerView与ListView 对比浅析:缓存机制

网络通信篇

架构设计篇

组件化架构

业务大了代码多了会用到。
为什么要用组件化?
组件之间如何通信?
组件之间如何跳转?

性能优化篇

性能优化:包括启动优化(主要是冷启动)、内存优化、绘制优化、稳定性优化、安装包体积优化等,优化是面试的重中之重。
你在开发中是如何做性能优化的?

布局优化

什么情况下使用 ViewStub、include、merge?
他们的原理是什么?

源码流程篇

第三方库源码解析

RxJava的实现原理,它是如何实现线程的控制?
Retrofit的框架结构是什么?底层是怎么实现的?

网络框架是如何搭建?okhttp的底层实现是什么,和Retrofit有什么不同?

图片加载框架gilde、Picasso、fresco有什么不同,各自的实现原理是什么?如何搭建一个网络框架?


路由框架原理:ARouter官方文档
【ARouter:现在模块化(组件化)算是比较常见的开发模式了,尤其是在大厂,所以有必要知道ARouter的实现原理,2个模块之间是怎样实现的页面跳转,以及ARouter为了优化性能做了哪些工作】
核心要点:将Route注解中的path地址和Activity.class文件的映射关系保存到它自己生成的java文件的map中
隐式跳转方案,但是一个项目中不可能所有的跳转都是隐式的,这样Manifest文件会有很多过滤配置,而且非常不利于后期维护。
反射跳转方案:需要拿到Activity的类文件,在组件开发的时候,想拿到其他module的类文件是很麻烦的,因为组件开发的时候组件module之间是没有相互引用的,你只能通过找到类的路径去反射拿到这个class。大量的使用反射跳转对性能会有影响。
APT是Annotation Processing Tool的简称,即注解处理工具。apt是在编译期对代码中指定的注解进行解析,然后做一些其他处理(如通过javapoet生成新的Java文件

Android框架层源码解析

Java相关源码解析

HashMap底层实现,它和LinkHashMap有什么区别?

算法设计

新技术篇

实战问题篇

面试笔记篇

面试文档

  • AndroidGuide 这是一份 Android 开发从基础入门到进阶的完整(并不是)指南,所有文章都是本人这几年时间里一字一字码出来的,文章的更新方向和更新频率以我的学习计划为导向,会一直持续密集更新下去…..
  • LearningNotes

面试文献收藏

个人面试经验

社区网站篇

原创文章,作者:admin,如若转载,请注明出处:http://tencent.yundashi168.com/659.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code

2020年阿里云618大促活动(有香港主机)

1核/2G/1M---91元1年,三年275元;
2核/4G/1M---320元1年,三年960元;
2核/8G/1M---416元1年,三年1093元;
4核/8G/1M---465元1年,三年1396元;
1核2G(香港,不用备案)---249元1年,三年888元;点击直达
还有还有4核8G6M、8核16G10M配置,价格很低很低!

注意:这个价,只有新用户才能看到;老用户借用家人身份重新注册,这个价格重新注册也不亏!

我知道了