初级Android 应用工程师 面试题
1. Android 的基本架构以及四大主键
2.Activity的启动模式有哪些?这些启动模式的具体含义?
3.Android中Parcelable 接口的作用?以及和Serializable接口的区别?
4.Android 切换到主线程有几种方式?分别都是什么?
5.Android 在单线程模型中Message、Handler、Message Queue、Looper之间的关系?以及在Android 4.0 之后它们的变化?
6.Android 中,给自己的APP实现一个数据库需要继承哪个基类?需要实现基类中的哪两个方法?这两个方法分别在什么时候调用?
7.Android 中,当需要向sqlite数据库插入大量数据时,有什么办法提高sql执行的效率?(至少说2条)
8.Android 中Context的作用?在同一个虚拟存储空间中能同时存在两个application么?如果能,有哪些方式?如果不能,请解释原因?
9.谈谈你常用的Java设计模式,以及你所知晓Android在设计中所用到的设计模式。
10.谈谈面向对象的几个基本特征。
11.TCP协议和UDP协议的区别?
12.HTTP协议和HTTPS协议的区别?
13.谈谈JAVA 集合框架。
14.谈谈这段代码的缺陷并改进。
public class MainActivity extends Activity{
Handler mHandler = new MyHandler();
class MyHandler extends Handler{...}
}
15.谈谈GC的几种基本的算法。
高级Android 应用工程师 面试题
1. Android 下载大图片时如何杜绝内存溢出?
2. Android 下载图片后如何进行缓存以杜绝内存溢出?
3. 内存溢出和内存泄露的区别?(C/C++ 、JAVA)
4. 如何杜绝你的APP被他人更换首页图片后二次打包?
5. 如何在你的APP被卸载后弹出一个调查网页?
6. 如果你的APP具有root权限,如何禁止某个APP开机启动?如何彻底杀死一个正在运行的APP?后台服务被彻底杀死后如何重启?
7. 如何获取APP或者系统的流量使用信息?有几种方式?
8. Android基于Linux内核,Android的跨进程访问方式有哪些?Linux呢?
9. 在一段Java代码中有三个循环(for或者while关键字),当进入到第三个循环时,怎么从第三个循环跳到第二个循环?
10. 熟悉NDK吗?NDK的原理?谈谈对NDK的理解。
11. 谈谈HTTP协议,说说它和HTTPS协议的区别。(断点续传原理?header 和 body 的分割是怎样在协议中体现的?可以写出request和response的请求头么?etc...)
12. 谈谈你使用过的android性能调试工具?
13. 谈谈Framework层的工作原理。
14. 谈谈你使用过的开源项目。
15. 谈谈你在自己的项目中所用到过的设计模式或者设计原则。
来源:oschina
链接:https://my.oschina.net/u/250247/blog/264222