前言
眨眼间,2021年就快过去了,这两年,我们经历了新冠疫情的洗礼,导致今年的互联网环境太差,很多程序员都经历了失业,找作业的恐慌,所以我们更加需要自己有足够的知识储备,才能够应对这凌冽的寒风,
本文主要是整理了中高级Android需要会的(或者说面试被频繁问到的内容),主要作为参考大纲,之后会陆续更新每个详细部分,供大家参考,互相学习,
大厂面试真题
- 主执行绪给子执行绪发送讯息,handler、threadlocal、threadlocalmap、thread之间是怎么联系的
- glide的结构设计、btimap的复用和系统的复用比较,有什么优点?与生命周期的系结
- 自定义view测量、布局、绘制,有没有做过复杂的自定义view,举个例子
- 一个scrollview里有个button,button有点击事件,串列可滑动,怎么去做事件分发的
- 项目架构设计、mvp的实作、model里的请求分页怎么实作?
- 视频播放器、exoplay的优缺点,ijkplay的优缺点
小米:
- 抽奖转盘,分四份,中奖概率为5%,UI和逻辑怎么实作
- 数据库查询,至少参与了三项考试,且分数均超过80的人,写出sql陈述句
- 执行绪同步:执行绪1回圈输出1到10,执行绪2回圈输出1到10,启动执行绪1、2,要求做到执行绪2输出5之后,执行绪1才开始输出(用wait、notify实作)
- jvm存储器模型,垃圾回识训制
- 手写单例
- kotlin类的扩展,【】方括号该扩展什么?
- 怎么在项目中进行架构设计的?MVP模式的优点,如何实作?MVVM了解吗?
- 网络请求大量图片并展示在页面上,需要注意什么?网络请求资源复用、图片快取等
- 存储器泄露有哪些?怎么处理?
- 资料查出来为什么用cursor游标,而不直接回传个list集合?
- 快取了10000条资料、怎么查出来并显示?项目中资料库大概是什么量级的?资料量及占存储器量?
- content provide是干什么的?Google为什么设计它?
- 一个网格页面、显示9张图片,弱网情况下,滑到下一页,怎么去调度执行绪加载下一页面的图片?
- 了解的设计模式,代理模式流程、观察者模式流程、涉及几个类
- 了解哪些google推出的比较新的库、livedata?databinding?jetpack?
- kotlin相对于Java有什么优势?函式式编程的优势?函式式和面向物件比较
- 档案中每行有一个手机号对应用户信息,给定手机号查找出对应信息,如果手机号排序了,怎么查?
- 任意二叉树,求出其中最远的两个节点间的距离
- 对未来职业生涯的规划?
资料获取
Java基础、Android基础、UI控制元件篇、网络通信篇、架构设计篇、性能优化篇、原始码流程篇、新技术篇、面试篇九个章节,一共1932页,
Java基础
- Activity 启动程序全决议
- Fragment 知识点
- onSaveInstanceState 以及 onRestoreInstanceState 使用
- 4onConfigurationChanged使用以及问题解决
Fragment 知识点
- Handler知识点(必问)
- Android主执行绪阻塞处理及优化
- 深入聊聊Android讯息机制中的讯息队列的设计
- 深入理解MessageQueue
- 你真的懂Handler.postDelayed()的原理吗?
- Handler.postDelayed()是如何精确延迟指定时间的
- Handler延迟讯息执行机制,会阻塞吗?
Intent知识点
- Android荧屏适配和方案
- Android 目前稳定高效的UI适配方案
主要控制元件优化
- NestedScrollingParent & NestedScrollingChild
- 动态化页面构建方案
- 组件与布局
网络通信篇
网络协议
- MVP架构设计
- 组件化架构
性能优化篇
- 开源库原始码分析
- Glide 原始码分析
- Glide 面试题
- 聊一聊关于Glide在面试中的那些事
- 简历上如果写Glide,请注意以下几点…
- Glide OOM问题解决方法汇总
- OkHttp原始码分析
- Okhttp连接池复用机制
- Okhttp 流程和优化的实作
- OkHttp的整个异步请求流
- HttpEngine中的sendRequest方法详解
- OkHttp决议大总结
- Okhttp任务队列作业原理
- Android 网络优化,使用 HTTPDNS优化 DNS,从原理到 OkHttp 集成
- Retrofit原始码分析
- RxJava原始码分析
- RxJava原理与原始码分析
新技术篇
- android事件分发机制,请详细说下整个流程
- android view绘制机制和加载程序,请详细说下整个流程
- android四大组件的加载程序,请详细介绍下
- Activity的启动模式
- A、B、C、D分别是四种Activity的启动模式,那么A->B->C->D->A->B->C->D分别启动,最后的activity堆栈是怎么样的
- Activity快取方法
- Service的生命周期,两种启动方法,有什么区别
- 怎么保证service不被杀死
- 静态的Broadcast 和动态的有什么区别
- Intent可以传递哪些资料型别
- Json有什么优劣势、决议的原理
- 一个语言的编译程序
- 影片有哪几类,各有什么特点
- Handler、Looper讯息队列模型,各部分的作用
- 怎样退出终止App
- Android IPC:Binder 原理
- 理解Window和WindowManager
- Bitmap的处理
- 如何实作一个网络框架(参考Volley)
- ClassLoader的基础知识
- 插件化框架描述:dynamicLoadApk为例子
- 热修复:Andfix为例子
- 执行绪同步的问题,常用的执行绪同步
- Asynctask和执行绪池,GC相关(怎么判断哪些存储器该GC,GC算法)
- 数据库性能优化:索引和事务
- APK打包流程和其内容
- 网络劫持的型别原理
- 作业系统行程和执行绪的区别
- …
需要完整版《2022年Android中高级面试题汇总》的朋友可以扫描下方CSDN官方认证二维码,免费领取!
0 评论