立刻步入金九银十了,是时候看一些面试题去鹅厂了,接下来我将分享一些面试题,天天总结一点点,但愿对你们有所帮助!html
参考连接:前端
https://blog.csdn.net/shu_lance/article/details/79566189java
答案: 能够沿着回收机制来回答。ListView采用的是RecyclerBin的回收机制在一些轻量级的List显示时效率更高android
参考连接:面试
存储时:他们会找到相同的bucket位置,发生碰撞,由于HashMap使用链表存储对象(每一个Map.Entry都有一个next指针),这个Entry会存储在链表中。sql
获取时:会用hashCode找到bucket位置,而后调用key.equals()方法找到链表中正确的节点.最终找到要找的值对象.数据库
减小碰撞:使用final修饰的对象、或不可变的对象做为键,使用(Integer、String)(是不可变、final的,并且已经重写了equals和hashCode方法)这样的wrapper类做为键是很是好的,(咱们可使用自定义的对象做为键吗?答:固然能够,只要它遵照了equals和hashCode方法定义规则,而且当对象插入到Map中以后将不会再改变。)设计模式
参考连接:数组
串行
参考连接:
参考连接:
参考连接:
一、构造函数私有 二、含有一个该类的静态私有对象 三、有一个静态的公有的函数用于建立或获取它自己的静态私有对象 四、其次才是考虑线程同步!
参考连接:
参考连接:
https://blog.csdn.net/wenzhi20102321/article/details/53214315
Handler机制
MVP
广播(动态注册和静态注册区别,有序广播和标准广播)
service生命周期
handler实现机制(不少细节须要关注:如线程如何创建和退出消息循环等等)
多线程(关于AsyncTask缺陷引起的思考)
数据库数据迁移问题
设计模式相关(例如Android中哪里使用了观察者模式,单例模式相关)
x个苹果,一天只能吃一个、两个、或者三个,问多少天能够吃完
TCP与UDP区别与应用(三次握手和四次挥手)涉及到部分细节(如client如何肯定本身发送的消息被server收到) HTTP相关 提到过Websocket 问了WebSocket相关以及与socket的区别
是否熟悉Android jni开发,jni如何调用java层代码
进程间通讯的方式
java注解
计算一个view的嵌套层级
项目组件化的理解
多线程断点续传原理
Android系统为何会设计ContentProvider,进程共享和线程安全问题
jvm相关
Android相关优化(如内存优化、网络优化、布局优化、电量优化、业务优化)
EventBus实现原理
static synchronized 方法的多线程访问和做用,同一个类里面两个synchronized方法,两个线程同时访问的问题
内部类和静态内部类和匿名内部类,以及项目中的应用
handler发消息给子线程,looper怎么启动
View事件传递
activity栈
封装view的时候怎么知道view的大小
arraylist和linkedlist的区别,以及应用场景
怎么启动service,service和activity怎么进行数据交互
下拉状态栏是否是影响activity的生命周期,若是在onStop的时候作了网络请求,onResume的时候怎么恢复
view渲染
数据结构中堆的概念,堆排序
死锁的概念,怎么避免死锁
ReentrantLock 、synchronized和volatile(n面)
HashMap
singleTask启动模式
用到的一些开源框架,介绍一个看过源码的,内部实现过程。
消息机制实现
ReentrantLock的内部实现
App启动崩溃异常捕捉
事件传递机制的介绍
ListView的优化
二叉树,给出根节点和目标节点,找出从根节点到目标节点的路径
模式MVP,MVC介绍
断点续传的实现
集合的接口和具体实现类,介绍
TreeMap具体实现
synchronized与ReentrantLock
手写生产者/消费者模式
逻辑地址与物理地址,为何使用逻辑地址
一个无序,不重复数组,输出N个元素,使得N个元素的和相加为M,给出时间复杂度、空间复杂度。手写算法
.Android进程分类
前台切换到后台,而后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。
Activity的启动模式
RxJava的功能与原理实现
RecycleView的使用,原理,RecycleView优化
ANR的缘由
四大组件
Service的开启方式
Activity与Service通讯的方式
Activity之间的通讯方式
HashMap的实现,与HashSet的区别
JVM内存模型,内存区域
Java中同步使用的关键字,死锁
MVP模式
Java设计模式,观察者模式
Activity与Fragment之间生命周期比较
广播的使用场景
Bitmap 使用时候注意什么?
Oom 是否能够try catch ?
内存泄露如何产生?
适配器模式,装饰者模式,外观模式的异同?
ANR 如何产生?
String buffer 与string builder 的区别?
如何保证线程安全?
java四中引用
Jni 用过么?
多进程场景碰见过么?
关于handler,在任何地方new handler 都是什么线程下
sqlite升级,增长字段的语句
bitmap recycler 相关
强引用置为null,会不会被回收?
glide 使用什么缓存?
Glide 内存缓存如何控制大小?
如何保证多线程读写文件的安全?
Activity启动模式
广播的使用方式,场景
App中唤醒其余进程的实现方式
AndroidManifest的做用与理解
List,Set,Map的区别
HashSet与HashMap怎么判断集合元素重复
Java中内存区域与垃圾回收机制
EventBus做用,实现方式,代替EventBus的方式
Android中开启摄像头的主要步骤
concurrenthashmap
volatile
synchronized与Lock
Java线程池
wait/notify
NIO
垃圾收集器
Activity生命周期
AlertDialog,popupWindow,Activity区别
String 为何要设计成不可变的?
fragment 各类状况下的生命周期
Activity 上有 Dialog 的时候按 home 键时的生命周期
横竖屏切换的时候,Activity 各类状况下的生命周期
Application 和 Activity 的 context 对象的区别
序列化的做用,以及 Android 两种序列化的区别。
List 和 Map 的实现方式以及存储方式。
静态内部类的设计意图。
线程如何关闭,以及如何防止线程的内存泄漏
软引用、弱引用区别
垃圾回收
多线程:怎么用、有什么问题要注意;Android线程有没有上限,而后提到线程池的上限
JVM
锁
OOM,内存泄漏
ANR怎么分析解决
LinearLayout、RelativeLayout、FrameLayout的特性、使用场景
如何实现Fragment的滑动
ViewPager使用细节,如何设置成每次只初始化当前的Fragment,其余的不初始化
ListView重用的是什么
进程间通讯的机制
AIDL机制
AsyncTask机制
如何取消AsyncTask
序列化
Android为何引入Parcelable
有没有尝试简化Parcelable的使用
AIDL机制
项目:拉活怎么作的
应用安装过程
某海外直播公司
线程和进程的区别?
为何要有线程,而不是仅仅用进程?
算法判断单链表成环与否?
如何实现线程同步?
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原理
翻转一个单项链表
string to integer
合并多个单有序链表(假设都是递增的)
Android中数据存储方式
微信主页面的实现方式
微信上消息小红点的原理
两个不重复的数组集合中,求共同的元素。
上一问扩展,海量数据,内存中放不下,怎么求出。
Java中String的了解。
ArrayList与LinkedList区别
堆排序过程,时间复杂度,空间复杂度
快速排序的时间复杂度,空间复杂度
RxJava的做用,与平时使用的异步操做来比,优点
Android消息机制原理
Binder机制介绍
为何不能在子线程更新UI
JVM内存模型
Android中进程内存的分配,能不能本身分配定额内存
垃圾回收机制与调用System.gc()区别
Android事件分发机制
断点续传的实现
RxJava的做用,优缺点