android面试注意点
Java 基础知识
面向对象的基本思想
Object类相关:Object类的几个关键函数、String涉及到的常量池概念,序列化 & 反序列化。
重要关键字:final、static。
内部类:内部类的分类、应用场景、内部类编译成class后是怎么样的。
抽象类 & 接口:区别、应用场景。
编码:编码的目的、分类。
异常:异常体系、自定义异常。
注解:注解的基本概念、分类、编译时注解 & 运行时注解。
容器:重要容器的内部实现、容器间的对比。
内存模型。
垃圾回收。
类加载的过程。
泛型:分类、通配符 & 上下边界、泛型擦除。
反射:使用。
Android 基础知识
Dalvik、Art虚拟机
Activity:生命周期、launchMode。
Fragment:生命周期、懒加载、两种Adapter之间的区别。
BroadcastReceiver:基本概念、广播分类、权限。
Service:生命周期、onStartCommand的返回值、startService和bindService的区别、相同进程 & 不同进程的交互、IntentService实现原理。
重要的工具类 & 源码实现:AsyncTask、HandlerThread、Handler、IntentService、LruCache、LinkedHashMap、SparseArray。
RecyclerView:缓存原理、和ListView的对比、Adapter如何适配多种layout。
存储:数据库升级 & 优化、ContentProvider,SharePreference。
SDK版本升级的兼容问题。
Android的权限管理机制。
图片
Bitmap相关:Bitmap的大小计算、质量、inJustDecodeBounds、inBitmap。
几种图片格式的对比、压缩。
大图加载:BitmapRegionDecoder
算法
别无捷径,刷题,但是刷题的时候,要按照题的类型去总结。
开源框架
RxJava:操作符的应用场景、重点操作符的内部实现、和RxJava的对比。
Glide:流程、缓存相关的实现。
Retrofit:流程、动态代理 & 注解解析。
OkHttp:流程、队列实现、缓存实现。
性能
性能优化技巧:启动速度优化、布局优化、内存优化、电量优化、APK大小优化、列表滑动优化。
性能优化工具:TraceView、Systrace、调试GPU过度绘制 & GPU呈现模式分析、Hierarchy Viewer、MAT、Memory Monitor & Heap Viewer & Allocation Tracker、LeakCanary、Lint。
ANR:ANR原理 & 源码分析、举一个处理ANR的例子。
性能实践:解决过的性能问题,从 遇到问题、分析问题、解决问题、结果 四个点进行阐述。
View
绘制流程:measure、layout、draw三个关键流程。
事件分发:事件分发的原理、处理过的滑动冲突问题。
自定义View:Canvas & Path,实现过的比较复杂的自定义View。
架构
MVP:MVP的思想 & 优劣势、在项目中的应用、
源码
AMS
WMS
Binder
应用打包流程
应用启动流程
应用安装流程
网络
基础知识:看一下对于 <<计算机网络>> ,重点是网络分层模型、TCP/UDP、HTTP/HTTPS。
设计模式
按照23种网络模型、三个分类进行总结,每种设计模式包含以下三个方面,至少要准备常用的几个:
基本概念:UML图、简单例子、应用场景、优势 & 劣势。
Android源码中的实现
项目中的应用
多线程
看并发编程的艺术,这本书的目录就是多线程最好的知识体系。
遇到过的多线程问题、怎么解决的。
Gradle
常用配置。
多渠道打包。
插件化
插件化的核心思想。
几种插件化框架实现的原理。
组件化
组件化的优势。
Arouter:使用方式、实现原理。
Kotlin
有用到的可以看看。
多媒体
音频、视频播放。
大前端
ReactNative、Flutter:没学过的可以了解一下思想。
JNI
调用实现方式
- 此内容是摘抄郭大爷的微信公众号内容。
android面试注意点的更多相关文章
- Android面试一天一题(1Day)
写在前面 该博客思路源于在简书看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点.先感谢各位大神的无私分享~! 关于题目,大部分则出自And ...
- Android面试总结 (转)
1. 下列哪些语句关于内存回收的说明是正确的? (b) A. 程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D. 内存回收程序可以在指 ...
- 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的
===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...
- Android面试题目及其答案
转自:http://blog.csdn.net/wwj_748/article/details/8868640 Android面试题目及其答案 1.Android dvm的进程和Linux的进程, 应 ...
- Android面试题目2
1. 请描述下Activity的声明周期. onCreate->onStart->onRemuse->onPause->onStop->onRestart->onD ...
- 百度的android面试总结分析
今天就是今天上午10点,我接到了百度的电话面试,当然提前和我说了,我的拖延症是有多强烈,以至于我没怎么准备,当然我也想着看看自己的真实水平,在此检讨一下!!!!!!!!!!!!!!!!!!!!!!!! ...
- Android面试之高级篇
结合自己之前去很多大公司的面试经历和自己面别人的一些题,这里做一些总结,Android面试中常见的面试题. 1,Android的Handler运行机制 要解释Handler的运行机制就要讲几个对象:M ...
- Android 面试问答
Android 面试问答 目录 数据结构和算法 java核心知识 Android核心知识 架构 设计相关问题 相关工具和技术 Android 测试驱动开发 其他 数据结构和算法 ******关于此类问 ...
- Android面试优雅地介绍自己的项目
本文转载:m.blog.csdn.net/iamsamzhang/article/details/51916584 先说句题外话,很多公司16年秋招的内推已经开始啦,我目前知道的在北京有网易.百度和微 ...
- 【Android 面试基础知识点整理】
针对Android面试中常见的一些知识点整理,Max 仅仅是个搬运工.感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章.对于当中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正 ...
随机推荐
- cookie与session组件
会话跟跟踪技术 cookie介绍 Djanjo中操作Cookle Session Django中Session相关方法 Django中的Session配置 CBV中加装饰器 session中运用aja ...
- poi 获取excel数据 导入数据库
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, ...
- win10安装MySQL免安装版
一:下载并解压 这个就不多说了https://dev.mysql.com/downloads/mysql/,简单的很 二:MySQL根目录下新建my.ini [mysql] # 设置mysql客户端默 ...
- java IO通过字节流,字符流 读出写入
一:通过字节流操作数据的写入,读出 /** * 通过字节流写入和读出 * @param args */ public static String filePath = "G:" + ...
- 自己上传的ICON
http://images0.cnblogs.com/blog2015/753930/201508/281150305315355.png http://images0.cnblogs.com/blo ...
- Hive 0.12.0安装指南
目录 目录 1 1. 前言 1 2. 约定 1 3. 服务端口 2 4. 安装MySQL 2 4.1. 安装MySQL 2 4.2. 创建Hive元数据库 2 5. 安装步骤 3 5.1. 下载Hiv ...
- Cocosd-x-2.2.2 & VS2012 & Eclipse 开发环境搭建
1.安装软件: 1.1 安装JDK(JDK1.7.0_51) JAVA_HOME C:\Program Files\Java\jdk1..0_51 CLASSPATH .;%JAVA_HOME%\li ...
- 【Head First Java 读书笔记】(七)继承
继承与多态 了解继承 继承的关系意味着子类继承了父类的实例变量和方法.父类比较抽象,子类比较具体. 继承层次的设计 找出具有共同属性和行为的对象(用继承来防止子类中出现重复的程序代码) 设计代表共同状 ...
- zigzag数组实现
题目出自面试宝典8.3.2 题目描述: 输入n,求一个n*n的矩阵,规定矩阵沿45度线递增,形成一个zigzag数组(JPEG编码里去像素数据的排列顺序),请问如何用C++实现? 例如: n=2 0 ...
- Transaction And Lock--解决死锁/锁的几种有效方式
修改资源访问顺序,使多个事务对资源的访问方式一致优化查询SELECT,使得S锁能尽早释放均可能将更新和删除语句放到事务末端(使得X锁占用时间最小)避免事务执行期间暂停或等待外部输入将较大事务拆分成多个 ...