Android 面试题8

事件分发流程
Carson_Ho Android事件分发机制详解:史上最全面、最易懂
View的渲染机制
动画的原理,底层如何给上层信号
编译打包的过程
Android有多个资源文件夹,应用在不同分辨率下是如何查找对应文件夹下的资源的,描述整个过程
ANR的原理(回答主线程5秒阻塞是不行的,要读源码)

Bitmap 使用时候注意什么?
Oom 是否可以try catch ?
内存泄露如何产生?
适配器模式,装饰者模式,外观模式的异同?
ANR 如何产生?
String buffer 与string builder 的区别?
如何保证线程安全?
java四中引用? 强引用,弱引用,虚引用,
JNI用过么?
多进程场景遇见过么?
关于handler,在任何地方new handler 都是什么线程下
sqlite升级,增加字段的语句
bitmap recycler 相关
强引用置为null,会不会被回收?
glide 使用什么缓存?
Glide 内存缓存如何控制大小?
如何保证多线程读写文件的安全?

线程和进程的区别?
为什么要有线程,而不是仅仅用进程?
算法判断单链表成环与否?
如何实现线程同步?
hashmap数据结构?
arraylist 与 linkedlist 异同?
object类的equal 和hashcode 方法重写,为什么?
hashmap如何put数据(从hashmap源码角度讲解)?
简述IPC?
fragment之间传递数据的方式?
简述tcp四次挥手?
threadlocal原理
内存泄漏的可能原因?
用IDE如何分析内存泄漏?
OOM的可能原因?
线程死锁的4个条件?
差值器&估值器

简述消息机制相关
进程间通信方式?
Binder相关?
触摸事件的分发?
简述Activity启动全部过程?
okhttp源码?
RxJava简介及其源码解读?
性能优化如何分析systrace?
广播的分类?
点击事件被拦截,但是相传到下面的view,如何操作?
Glide源码?
ActicityThread相关?
volatile的原理
synchronize的原理
lock原理

三面: 三道算法题,要求在一个小时之内做完。
翻转一个单项链表 1->2->3->4->5->null =====> 5->4->3->2->1->null
string to integer
合并多个单有序链表(假设都是递增的)

Activity生命周期简述
常见内存泄漏情景及避免内存泄漏的措施
Activity启动模式简述
默认 ,singleTop,singleTask,singleInstance
简绘观察者设计模式UML图
算法,求公共子序列(或者是子串,记不清了)

自定义view重写哪几个方法?
onMeasure()
onDraw()

http 的session&cookie的区别
简述工作线程更新UI的方法

应用最多占多少内存
滑动卡顿如何解决(不同原因及对应处理方式)
自定义view实战
多线程,多进程 相关
Java四种引用的使用

Sqlite 怎么增加一个字段
XX项目中是怎么创建数据库的
Sqlite 怎么删除一个字段
有什么你觉得自己做得好的地方
为什么用Retrofit(一个开源库)
Retrofit与之前的网络库有什么优势
XX项目中你们自己定义的线程池来管理任务,不使用框架,那么,后来新的项目怎么设计的
你认为Rxjava的线程池与你们自己实现任务管理框架有什么区别?
内存泄漏的常见场景
怎么发现&分析内存泄漏

处理有序数组为什么比无序数组更快 参考StackOverflow
热修复与插件化相关
Integer类是不是线程安全的,为什么
不使用同步锁如何实现线程安全
面试头条的时候在线编程:从上到下从左到右输出二叉树
针对concurrent包下面的一些类的问题

你可能感兴趣的:(Android 面试题8)