2019.6 android面试总结
hander,AsynTask,okhttp,retrofit原理,尤其是okhttp的几个拦截器作用
string stringbuffer和stringbuilder区别
hashmap,arraymap,arraylist,linkedlist原理及区别
单例的几种实现及区别,优缺点,动态代理实现原理
手写观察者模式,包括注册、反注册、批量消息响应,线程安全问题
http和https区别,https网络连接流程
加密算法,rsa怎么实现的
sleep和wait区别,怎么唤醒,分别都是哪个类的,可以在锁外面使用吗
线程安全怎么实现,synchronized,volite区别,threadloacal的实现原理
synchronized修饰一个方法和修饰this区别,还有修饰对象的区别
线程池的实现,怎么终止一个线程
线程1要用线程2和线程3中的数据怎么办
手写模拟一个死锁的场景
堆和栈的区别,int a=1;Integer b=new Integer(1); a==b成立吗?int a=128;Integer b=new Integer(128);这时候a==b成立吗
类的加载过程
java语言的优势
jvm的内存模式,分别说下具体的存取什么,内存回收机制,都是怎么回收的
内存泄漏的本质?什么是内存溢出?内存泄漏一定位引起内存溢出吗?
activity的几种加载模式,会随机设置几个场景让你模拟入栈和出栈
okhttp相比其他网络框架的优点是什么
fragment的懒加载
android listview item上有个按钮,按住按钮移动,listview发生滑动,事件怎么传递?
滑动冲突怎么解决
列表图片加载错乱的解决
图片压缩
view绘制流程,自定义控件重写哪些方法,测量时模式有几种
activity启动流程
apk安装和卸载流程
热更新原理
组件化、插件化
两个应用的activity跳转,他们的activity在一个栈中吗?
圆角图怎么实现
内存泄漏怎么检测?怎么处理
性能优化,内存优化
有哪些方法实现进程间通信?Bundle机制,aidl怎么实现的
在app1中activity1打开app2中activity2,activity1和activity2在一个栈中吗
livedata、viewmode、lifecycle的实现原理
kotlin的高阶函数,扩展函数
flutter是怎么渲染的
你在项目当中的角色,当你和领导有意见不一致时你的做法,假如你是领导你该怎么做
项目中遇到的最大的难点是什么,你是怎么解决的,如果真的解决不了你会怎么办
哪个项目是你认为最出色的,为什么你要拿这个项目出来说?
算法:
冒泡排序
二分查找
快速排序
从一个数组当中找出两个数相加等于指定的数字,数组数据不重复