链接
1.知道Service吗,它有几种启动方式?
Service的onCreate回调函数可以做耗时的操作吗?
如果需要做耗时的操作,你会怎么做?
是否知道IntentService,在什么场景下使用IntentService?
场景:如果一个应用要从网络上下载MP3文件,并在Activity上展示进度条,这个Activity要求是可以转屏的。那么在转屏时Actvitiy会重启,如何保证下载的进度条能正确展示进度呢?
2.用广播来更新UI界面好吗?
Normal broadcasts无序广播 和 Ordered broadcasts有序广播
除了上面的两种广播外,还有其他类型的广播吗?
有时候基于数据安全考虑,我们想发送广播只有自己(本进程)能接收到,那么该如何去做呢?
BroadcastReceiver的生命周期
3.怎么理解Activity的生命周期?
如果一个Activity在用户可见时才处理某个广播,不可见时注销掉,那么应该在哪两个生命周期的回调方法去注册和注销BroadcastReceiver呢?
如果有一些数据在Activity跳转时(或者离开时)要保存到数据库,那么你认为是在onPause好还是在onStop执行这个操作好呢?
简单说一下Activity A启动Activity B时,两个Activity生命周期的变化。
4.如何判断Activity是否在运行?
从Activity A 启动一个线程去进行网络上传操作,在A中设立一个回调函数,当上传操作完成以后,在A的这个回调函数中会弹出一个对话框,用来显示回调信息。可是当上传的过程还在进行的时候,我按下back键,A的activity 被销毁了,可是那个上传的线程还在进行,当那个线程结束后,本来应该在A中弹出一个对话框,可是由于A已经不存在了,系统就会报错提示,“将对话框显示在不存在的页面上”,然后程序就挂掉了。
5.自定义View的状态是如何保存的?
Activity的状态如何保存的:如果系统调用onSaveInstanceState,那么它是在onStop还是在onPause之前执行呢?
6.通过new创建的View实例它的onSaveStateInstance会被调用吗?
我们再展开一下,如果我们定义了一个自义的Layout,在同一个界面中引用了两次这个自定义的Layout(如下图的myLayout1 & myLayout2),那么它的状态会发生什么情况呢?
7.Java的值传递和引用传递问题
8.能讲讲Android的Handler机制吗?
注意:Handler可能会引起的内存泄露
9.两个Activity之间如何传递参数?
Parcelable和Parcle这两者之间的关系。
现在我们知道了如何传递自定义的对象,那么在两个Activity之前传递对象还要注意什么呢?
10.如何理解Android中的Context,它有什么用?
Application(或者Service)和Activity都可以调用Context的startActivity方法,那么在这两个地方调用startActivity有区别吗?
Context的实例是什么时候创建的?一个应用里面会有几个Context的实例?
11.如何优化ListView的性能?
在一次显示ListView的界面时,getView会被执行几次?
每次getView执行时间应该控制在多少毫秒之内?
getView中设置listener要注意什么?
12.如何实现应用内多语言切换?
13.在项目中使用AsyncTask会有什么问题吗?
线程池可以同时执行多少个TASK?
多个AsyncTask任务是串行还是并行?
AsyncTask容易引发的Activity内存泄露
14.修改SharedPreferences后两种提交方式有什么区别?
多进程操作和读取SharedPreferences的问题
15.有使用过ContentProvider码?能说说Android为什么要设计ContentProvider这个组件吗?
既然是对外提供数据共享,那么如何限制对方的使用呢?
ContentProvider接口方法运行在哪个线程中呢?
ContentProvider是如何在不同应用程序之间传输数据的?
16.如何处理线程同步的问题?
Object的wait和notify/notifyAll如何实现线程同步?
wait和yield(或sleep)的区别?
吹牛篇
说一下你认为自己比其他程序员出色(厉害)的地方?
为什么我们要选择你呢,你和其他程序员比有什么优势?
17.做一个完整的项目,提交到github
如何准备自我介绍
对于面试官来说,自我介绍的好处
18.如何对SQLite数据库中进行大量的数据插入?
线程问题
使用ORM的问题
19.Activity的启动模式(launchMode)有哪些,有什么区别?
很多人在使用startActivityForResult启动一个Activity时,会发现还没有开始界面跳转本身的onActivityResult马上就被执行了,这是为什么呢?
如何与HR谈薪资
20. Activity的启动模式有哪些,有什么区别?
当前应用有两个Activity A和B,B的android:launchMode设置了singleTask模式,A是默认的standard,那么A startActivity启动B,B会新启一个Task吗?如果不会,那么startActivity的Intent加上FLAG_ACTIVITY_NEW_TASK这个参数会不会呢?
在项目中常遇到一个需求就是在通知栏中使用PendingIntent跳转到相关的Activity。但这个Activity往往是根据通知的内容的具体的Activity,通知来的时候有可能应用已经被KILL掉了,这时跳转这个具体内容的DetailActivity后,我们希望按Back键能回退到应用的主界面(MailActivity),你会怎么做呢?
21.Android资源目录的读取顺序?
图片放错目录会产生的问题吗?
mipmap
res/raw和assets的区别
和美工的关系
22.有没有遇到Bitmap OOM的问题?如何优化图片占用的内存空间?
Android系统上的图片指的是什么?
Bitmap和Drawable
要加载很大的图片怎么办?
23.Android中Java和JavaScript如何交互?
Java调用WebView加载的网页上的JavaScript
JavaScript调用本地的Java对像方法
混合开发(Hybrid App)的问题
React Native
24.两个Fragment之间如何进行通信?
Fragment的生命周期
引申:我为什么主张反对使用Android Fragment
25.如何理解Android应用的进程?
26.如何解决ScrollView嵌套中一个ListView的滑动冲突?
27.知道什么是ART吗?它和Dalvik有什么区别?
28.如何检测内存泄露,如何进行内存优化?
我们为什么需要内存?
29.如何检测内存泄露,如何进行内存优化?
MAT内存分析工具
开发中如何避免内存泄漏
30.如何实现自定义View?
invalidate和postInvalidate方法的区别?
自定义View的绘制流程?
View的Touch事件分发流程?
如何准备和Boss(或经理)的面试
31.你在Android开发中遇到的技术难题是什么,你是怎么解决的?
32.谈谈你使用过的Android开源库,是否有遇到过什么问题?
如果没有问题呢?
33.谈谈MVP和MVVM模式,你有在自己的项目中使用过吗?
如何在自己的项目中使用MVP
MVP的好处与问题
MVVM模式
老司机教你如何快速突击Android面试
Android面试的技术题准备
Android面试的项目题准备
个人问题的准备
34.介绍一下你经常浏览的Android技术网站
35.Binder是什么?它是如何实现跨进程通信的?
为什么要使用Binder?
Binder对应用开发者的用处
36.AIDL是什么?你有使用过它吗,它支持哪些数据类型?
网友评论