android面试题(手机测试面试题及答案)
一、安卓面试常问的十个问题
1.如何对Android应用进行性能分析
2.什么情况下会导致内存泄露
3.如何避免OOM异常
4.Android中如何捕获未捕获的异常
5.ANR是什么?怎样避免和解决ANR(重要)
6.Android线程间通信有哪几种方式
7.Devik进程,linux进程,线程的区别
8.描述一下android的系统架构
9.android应用对内存是如何限制的?我们应该如何合理使用内存?
10.简述android应用程序结构是哪些
二、面试android开发,去了怕面试官让做机试,怎么办
多练啊,除了多练,没别的办法。
其实做安卓开发,如果机试时间很短的话,大部分人都是没办法全面实现比较复杂的功能的。考官自己应该也很清楚。
那么为什么明明时间很短,很多考官还是要考机试呢?如果时间短还要搞机试的话,大部分考官的想法是想要看你是不是真的做过开发。然后考察你的编程风格以及基本概念、基本方法的掌握情况。大部分有时候并不一定非要调试通过,有经验的人只要看你的代码,就知道你的水平,就明白你的开发经历。
所以如果应聘安卓开发岗,切切实实的搞过开发是最重要的。只是照着书本上敲几个程序出来,这个水平显然不行。自己扎扎实实做十几个涵盖各种不同功能的入门级的APP,全程尽量自己一字一句、一个控件一个控件地搞定,不要复制,十几个APP做下来,应付手机开发岗位的机试就应该不成问题。
三、如何在android面试中说清楚android中binder机制的实现过程
1写一个service,application通过createservice2运行时一般是根据uid,文件系统权限跟linux一样3可以,知道class名字或者知道具体manifest怎么写的4looper是线程,循环来处理messagequeue的message,而handler对发送message的相关方法的一个类。
5binder机制,pipe不太清楚,socket是通过套接字来发送内容进行ipc,binder的话是用共享内存,servicemanager作为service的管理者6surfaceflinger是对窗口进行管理,7bionic是glic的精简版本