2021Android 面试题知识点总结,层层深入
目录:
由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,但是整理成了一份详细的 PDF 文档可分享给大家,文末获取免费领取方式
看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏补缺,更加深刻的去了解一些核心知识点
1、Java 相关
容器(HashMap、HashSet、LinkedList、ArrayList、数组等)
需要了解其实现原理,还要灵活运用,如:自己实现 LinkedList、两个栈实现一个队列,数组实现栈,队列实现栈等。
内存模型
垃圾回收算法(JVM)
类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
反射
多线程和线程池
HTTP、HTTPS、TCP/IP、Socket 通信、三次握手四次挥手过程
设计模式(六大基本原则、项目中常用的设计模式、手写单例等)
断点续传
2、Android 基础
自定义 View
事件拦截分发
解决过的一些性能问题,在项目中的实际运用。
性能优化工具 (TraceView、Systrace、调试 GPU 过度绘制 & GPU 呈现模式分析、Hierarchy Viewer、MAT、Memory Monitor & Heap Viewer & Allocation Tracker 等)
性能优化(1)网络:API 优化、流量优化、弱网优化(2)内存:OOM 处理、内存泄漏、内存检测、分析、Bitmap 优化(3)绘制(4)电量:WeakLock 机制、JobScheduler 机制(5)APK 瘦身(6)内存抖动(7)内存泄漏(8)卡顿(9)性能优化:布局优化、过度渲染处理、ANR 处理、监控、埋点、Crash 上传。
IntentService 原理及应用
缓存自己如何实现(LRUCache 原理)
图形图像相关:OpenGL ES 管线流程、EGL 的认识、Shader 相关
SurfaceView、TextureView、GLSurfaceView 区别及使用场景
动画、差值器、估值器
MVC、MVP、MVVM
Handler、ThreadLocal、AsyncTask
Gradle(Groovy 语法、Gradle 插件开发基础)
热修复、插件化
3、Android Framework
AMS 、PMS
Activity 启动流程
Binder 机制(IPC、AIDL 的使用)
为什么使用 Parcelable,好处是什么?
Android 图像显示相关流程,Vsync 信号等
4、三方源码
Glide :加载、缓存、LRU 算法
EventBus
LeakCanary
ARouter
插件化(不同插件化机制原理与流派,优缺点。局限性)
热修复
RXJava
Retrofit
5、算法与数据结构
单链表:反转、插入、删除
双链表:插入、删除
手写常见排序、归并排序、堆排序
二叉树前序、中序、后序遍历
最大 K 问题
广度、深度优先搜索算法
尾声
如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。
对于很多初中级 Android 工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对 Android 开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
这里,笔者分享一份从架构哲学的层面来剖析的视频及资料给大家梳理了多年的架构经验,筹备近 6 个月最新录制的,相信这份视频能给你带来不一样的启发、收获。
Android 进阶学习资料库
一共十个专题,包括了 Android 进阶所有学习资料,Android 进阶视频,Flutter,java 基础,kotlin,NDK 模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework 源码!
大厂面试真题
PS:之前因为秋招收集的二十套一二线互联网公司 Android 面试真题 (含 BAT、小米、华为、美团、滴滴)和我自己整理 Android 复习笔记(包含 Android 基础知识点、Android 扩展知识点、Android 源码解析、设计模式汇总、Gradle 知识点、常见算法题汇总。)
《2019-2021 字节跳动 Android 面试历年真题解析》
评论