史上最全的互联网大公司的Android面试题
新浪微博
一面
静态内部类、内部类、匿名内部类,为什么内部类会持有外部类的引用?持有的引用是this?还是其它?
静态内部类:使用static修饰的内部类 匿名内部类:使用new生成的内部类 因为内部类的产生依赖于外部类,持有的引用是类名.this。
ArrayList和Vector的主要区别是什么?
ArrayList在Java1.2引入,用于替换Vector Vector: 线程同步 当Vector中的元素超过它的初始大小时,Vector会将它的容量翻倍 ArrayList: 线程不同步,但性能很好 当ArrayList中的元素超过它的初始大小时,ArrayList只增加50%的大小
Java集合类框架
Java中try catch finally的执行顺序
先执行try中代码发生异常执行catch中代码,最后一定会执行finally中代码
switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch支持使用byte类型,不支持long类型,String支持在java1.7引入
Activity和Fragment生命周期有哪些?
Activity——onCreate->onStart->onResume->onPause->onStop->onDestroy Fragment——onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onPause->onStop->onDestroyView->onDestroy->onDetach
onInterceptTouchEvent()和onTouchEvent()的区别?
onInterceptTouchEvent()用于拦截触摸事件 onTouchEvent()用于处理触摸事件
RemoteView在哪些功能中使用
APPwidget和Notification中
SurfaceView和View的区别是什么?
SurfaceView中采用了双缓存技术,在单独的线程中更新界面 View在UI线程中更新界面
讲一下android中进程的优先级?
前台进程 可见进程 服务进程 后台进程 空进程
tips:静态类持有Activity引用会导致内存泄露
二面
service生命周期,可以执行耗时操作吗?
JNI开发流程
Java线程池,线程同步
自己设计一个图片加载框架
自定义View相关方法
http ResponseCode
插件化,动态加载
性能优化,MAT
AsyncTask原理
65k限制
Serializable和Parcelable
文件和数据库哪个效率高
断点续传
WebView和JS
所使用的开源框架的实现原理,源码
蜻蜓FM
一面
Toolbar的使用
如何判断本地缓存的时候数据需要从网络端获取
跨进程间通信
Handler消息机制
SharedPreference实现
快速排序
项目难点
美团
一面:
自我介绍
面向对象三大特性
Java虚拟机,垃圾回收
GSON
RxJava+Retrofit
图片缓存,三级缓存
Android启动模式
四大组件
Fragment生命周期,嵌套
AsyncTask机制
Handler机制
二面:
面试官写程序,看错误。
面试官写程序让判断GC引用计数法循环引用会发生什么情况
Android进程间通信,Binder机制
Handler消息机制,postDelayed会造成线程阻塞吗?对内存有什么影响?
Debug和Release状态的不同
实现stack 的pop和push接口 要求:
1.用基本的数组实现
2.考虑范型
3.考虑下同步问题
4.考虑扩容问题
面试题汇总
讲讲你工作开发的项目是干嘛的。
手写快排;
手写二分查找,并分析时间复杂度;
讲讲 APK 是如何做瘦身的?
说说你项目中挑战最大的一件事。
讲讲 HTTPS 是如何做加密的,说下非对称加密算法;
说一下 HTTP 协议请求头我们常用的 3 个字段;
讲讲你这个图片压缩库是怎么做的?
进程保活怎么做?进程拉活现在还可以做么?
用过线程池么?讲讲 AsyncTask 的原理。
讲讲 HashMap 的原理。
讲讲 Android 如何做性能调优?
你们是如何做 UI 的机型适配的?
讲讲你们的多渠道打包是怎么做的?
bugly 是干嘛用的?Handler 怎么处理内存泄漏,除了使用弱引用。你还知道哪些地方需要注意内存泄漏?
Bitmap 使用需要注意哪些问题?Bitmap.recycle() 会立即回收么?什么时候会回收?如果没有地方使用这个 Bitmap,为什么垃圾回收不会直接回收它?
如何存储一个大图,但显示在 UI 上的是小图。
官方为什么会把 HttpClient 和 HttpUrlConnection 替换为 OkHttp 默认实现?它有什么好处?
你的 GitHub 上都开源了些什么东西?都为哪些开源库贡献了源码?ImagePicker 为啥会出现有些图片拿不到?
了解二叉树的遍历么?讲一讲他们。
讲讲 SVN 和 Git 的差别,Git 的优势是什么。
讲讲 MVVM,主要是为了解决 MVP 和 MVC 的什么问题?
equals() 和 hashCode() 的区别是什么?平时有重写过它们么?什么情况下会去重写。
讲下为什么在 Android 下推荐使用 ArrayMap,相比 HashMap 它到底有什么优势?
Alibaba
一面:
说一下你