史上最全 Android 中高级工程师面试复习大纲

18 篇文章 0 订阅
16 篇文章 0 订阅

概述

都说金九银十,这几个月份是程序员最好的跳槽时间,笔者九月初也换了工作。找工作之前看了很多面试题,复习资料,但是发现纯看面试题是不行的,因为靠背的东西是记不牢的,需要知识成体系才可以,所以笔者整理了一份复习大纲,基本涵盖了 Android 中高级工程师面试所必须知识点,希望可以通过此文帮助一些想换工作的朋友更好的复习,准备面试。

本文只罗列出大纲内容,至于每个模块的详细内容,可在文末自行查阅,后序有时间会放一些我复习时看的资料,这样复习起来知识更成体系,事半功倍。

1、Java 相关

1.容器(HashMap、HashSet、LinkedList、ArrayList、数组等)

需要了解其实现原理,还要灵活运用,如:自己实现 LinkedList、两个栈实现一个队列,数组实现栈,队列实现栈等。

2.内存模型
3.垃圾回收算法(JVM)
4.类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
5.反射
6.多线程和线程池
7.HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程
8.设计模式(六大基本原则、项目中常用的设计模式、手写单例等)
9.断点续传

2、Android 基础

1.自定义 View(参考链接:自定义View,有这一篇就够了 - 简书、Android 自定义 View)
2.事件拦截分发(Android事件分发机制,大表哥带你慢慢深入 - 简书 )
3.解决过的一些性能问题,在项目中的实际运用。
4.性能优化工具 (TraceView、Systrace、调试 GPU 过度绘制 & GPU 呈现模式分析、Hierarchy Viewer、MAT、Memory Monitor & Heap Viewer & Allocation Tracker 等)
5.性能优化
(1)网络:API 优化、流量优化、弱网优化
(2)内存:OOM 处理、内存泄漏、内存检测、分析、Bitmap 优化
(3)绘制
(4)电量:WeakLock 机制、JobScheduler 机制
(5)APK 瘦身
(6)内存抖动
(7)内存泄漏
(8)卡顿
(9)性能优化:布局优化、过度渲染处理、ANR 处理、监控、埋点、Crash 上传。
6.IntentService 原理及应用
7.缓存自己如何实现(LRUCache 原理)
8.图形图像相关:OpenGL ES 管线流程、EGL 的认识、Shader 相关
9.SurfaceView、TextureView、GLSurfaceView 区别及使用场景
10.动画、差值器、估值器(Android中的View动画和属性动画 - 简书、Android 动画 介绍与使用)
11.MVC、MVP、MVVM
12.Handler、ThreadLocal、AsyncTask
13.Gradle(Groovy 语法、Gradle 插件开发基础)
14.热修复、插件化

3、Android Framework

1.AMS 、PMS
2.Activity 启动流程
3.Binder 机制(IPC、AIDL 的使用)
4.为什么使用 Parcelable,好处是什么?
5.Android 图像显示相关流程,Vsync 信号等

4、三方源码

1.Glide :加载、缓存、LRU 算法
2.EventBus
3.LeakCanary
4.ARouter
5.插件化(不同插件化机制原理与流派,优缺点。局限性)
6.热修复
7.RXJava
8.Retrofit

5、算法与数据结构

1.单链表:反转、插入、删除
2.双链表:插入、删除
3.手写常见排序、归并排序、堆排序
4.二叉树前序、中序、后序遍历
5.最大 K 问题
6.广度、深度优先搜索算法
7.可以去刷一下 LeetCode ,对自己提升也会比较大。

答案二维码自行查阅

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值