前言

我今年34岁,失业前是南方二线城市某知名互联网公司的部门技术主管,婚姻幸福,膝下有一儿一女,组成一个好字,房子车子:有一辆十几万的汽车,一套月供八千的房子,妻子全职在家带娃,家里的一切开销全部指望我的那点工资,从没有想过失业会降临到我的头上,当我把这个消息告诉母亲的时候,母亲哭了:“这么好的工作咋说没就没了,我还以为你会在那干一辈子呢。”妻子说:”凭借你的技术能力,总会找到好工作的,不要伤心气馁。“

就这样,我在毫无防备的情况下,踏上了再求职历程,虽然对自己能力还是比较自信,但我还是分三条腿走路,为的就是同时出击,确保最后成功率。

一、图片

1、图片库对比
2、LRUCache原理
3、图片加载原理
4、自己去实现图片库,怎么做?
5、Glide源码解析
6、Glide使用什么缓存?
7、Glide内存缓存如何控制大小?

二、网络和安全机制

1.网络框架对比和源码分析
2.自己去设计网络请求框架,怎么做?
3.网络请求缓存处理,okhttp如何处理网络缓存的
4.从网络加载一个10M的图片,说下注意事项
5.TCP的3次握手和四次挥手
6.TCP与UDP的区别
7.TCP与UDP的应用
8.HTTP协议
9.HTTP1.0与2.0的区别
10.HTTP报文结构
11.HTTP与HTTPS的区别以及如何实现安全性
12.如何验证证书的合法性?
13.https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解?
14.client如何确定自己发送的消息被server收到?
15.谈谈你对WebSocket的理解
16.WebSocket与socket的区别
17.谈谈你对安卓签名的理解。
18.请解释安卓为啥要加签名机制?
19.视频加密传输
20.App 是如何沙箱化,为什么要这么做?
21.权限管理系统(底层的权限是如何进行 grant 的)?

三、数据库

1.Sqlite升级,增加字段的语句
2.数据库框架对比和源码分析
3.数据库的优化
4.数据库数据迁移问题

四、插件化、模块化、组件化、热修复、增量更新、Gradle

1.对热修复和插件化的理解
2.插件化原理分析
3.模块化实现(好处,原因)
4.热修复、插件化
5.项目组件化的理解
6.描述清点击 Android Studio 的 build 按钮后发生了什么

五、架构设计和设计模式

1.谈谈你对Android设计模式的理解
2.MVC MVP MVVM原理和区别
3.你所知道的设计模式有哪些?
4.项目中常用的设计模式
5.手写生产者/消费者模式
6.写出观察者模式的代码
7.适配器模式,装饰者模式,外观模式的异同?
8.用到的一些开源框架,介绍一个看过源码的,内部实现过程。
9.谈谈对RxJava的理解
10.Rxjava发送事件步骤
11.RxJava的作用,与平时使用的异步操作来比的优缺点
12.说说EventBus作用,实现方式,代替EventBus的方式
13.从0设计一款App整体架构,如何去做?
14.说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等)
15.谈谈对java状态机理解
16.Fragment如果在Adapter中使用应该如何解耦?
17.Binder机制及底层实现
18.对于应用更新这块是如何做的?(解答:灰度,强制更新,分区域更新)?
19.实现一个Json解析器(可以通过正则提高速度)
20.统计启动时长,标准

一、架构师筑基语言基础

知识要点:深入理解Java泛型、注解深入浅出、并发编程、数据传输与序列化、Java虚拟机原理、高效IO

二、Android高级UI开源框架进阶解密

知识要点:SmartTable使用指南、TextSurface源码解析、FloatWindow源码解析、RippleEffect使用指南等等

三、Android Framework 开发揭秘

知识要点:系统启动流程分析、Binder解析、Handler解析、AMS 解析、WMS解析、Android10.0 源码解读

四、Android性能优化—实战解析

性能优化也是企业考察一个高级 Android 工程师技术水平的重要维度。特别是诸多大厂在这方面尤为看重,毕竟就算0.1%的瑕疵,影响的将是百万级、千万级的用户体验!

五、音视频精编源码解析

知识要点:WebRTC Native 源码导读、X264源码解读、FFmpeg、ijkplayer 源码分析系列、jsmpeg源码解析、Live555源码解析、Opus源码解析

六、Flutter学习进阶

知识要点:Flutter跨平台开发概述、Windows中Flutter开发环境搭建、编写你的第一个Flutter APP、Flutter Dart语言系统入门等等

七、微信小程序开发

知识要点:小程序概述及入门 、小程序UI开发、API操作、购物商场项目实战

八、百大框架源码解读

知识要点:微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等

2022最新Android中高级面试题合集

最后

作为一个有进取心的 Android 开发者,应该拥有自己的技术栈和规划非常重要,技术栈确保你有足够的市场竞争力,从而形成护城河;技术规划则可以给你一个明确的学习目标。卸载抖音、微博、斗鱼、游戏吧,做好规划,共勉!

03-05 20:10