您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 史上最全的android面试题库
Android面试题1.请描述下Activity的生命周期。2.如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?3.如何将一个Activity设置成窗口的样式。(EditedbySodino)4.如何退出Activity?如何安全退出已调用多个Activity的Application?5.请介绍下Android中常用的五种布局。6.请介绍下Android的数据存储方式。(EditedbySodino)7.请介绍下ContentProvider是如何实现数据共享的。(EditedbySodino)8.如何启用Service,如何停用Service。(EditedbySodino)9.注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。10.请解释下在单线程模型中Message、Handler、MessageQueue、Looper之间的关系。11.AIDL的全称是什么?如何工作?能处理哪些类型的数据?12.请解释下Android程序运行时权限与文件系统权限的区别。(EditedbySodino)13.系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。14.有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息。请写一个算法,将该图片所有的白色不透明(0xffffffff)像素点的透明度调整为50%。15.你如何评价Android系统?优缺点。1.activity的生命周期。activity主要生命周期的方法说明:onCreate(BundlesavedInstanceState):创建activity时调用。设置在该方法中,还以Bundle的形式提供对以前储存的任何状态的访问!onStart():activity变为在屏幕上对用户可见时调用。onResume():activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用的)。onPause():activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的,也是保护现场,压栈吧!onStop():activity被停止并转为不可见阶段及后续的生命周期事件时调用。onRestart():重新启动activity时调用。该活动仍在栈中,而不是启动新的活动。onDestroy():activity被完全从系统内存中移除时调用,该方法被2.横竖屏切换时候activity的生命周期3.android中的动画有哪几类,它们的特点和区别是什么4.handler机制的原理5.说说activity,intent,service是什么关系6.android中线程与线程,进程与进程之间如何通信7.widget相对位置的完成在antivity的哪个生命周期阶段实现8.说说mvc模式的原理,它在android中的运用9.说说在android中有哪几种数据存储方式10.android中有哪几种解析xml的类,官方推荐哪种?以及它们的原理和区别一,listview你是怎么优化的。二,view的刷新,之前说过三,IPC及原理四,Android多线程五,Android为什么要设计4大组件,他们之间的联系,不设计行不行(主要是为了实现MVC模式,然而java中最难的模式也是这个,很少有产品能将这个模式做得很好【Technicolor的面试官问的这个】六,service的周期,activity的周期,谈下你对Android内部应用的了解,比如他做电话,以及联系人等等应用。框架层有很多东西还是多看看,熟悉Android怎么做的,不管你做应用程开发还是应用框架层开发很有好处的。在就是你项目经验,突出你遇到什么难点,然后是怎么解决的!尽量将每个技术点凸显出来,当然面试官有时候会为了体现你是否真正做过,他会问你,你在这个应用中做那个模块,用了多少个类之类的问题。偶尔有的面试官会问你,你用过Android自带的单元测试了没,怎么用的?当然我面试过很多家单位,有的是做平板,手机,数字电视,有的是做出个erp之类的客户端等等,出于前面的三个,基本上都是将Android的全部改掉,如果真正要做Android的话,大家要学的还很多。总之,一句话,什么样的面试官都有,去面试的时候要做好一切心理准备,不管是技术还是基础都得扎实。一个人的交谈能力也很重要,总之不是非常标准的普通话,最起码你说的得让别人听得懂,而且得把面试官讲得非常彻底,这样你获得offer的机会更大,谈工资也有优势~~当然曾经一家公司的面试官跟我说过,技术是不惜钱的,只要你有能力,多少钱他都请。_确实,来北京求职期间,牛人真的很多,而且有的面试官也非常好,给了很多忠肯的意见。并不是每个面试官都特想为难你的~最主要的还是想知道你的技术,因为他们也是吃公司饭,得为这个负责。Basic:1.基本的UI控件和布局文件2.UI配套的Adapter的使用3.Activity,Intent,Service,broadCastReceiver他们的生命周期管理熟悉一下4.操作手机上的数据库SQLite应用Advanced_1:1.为什么看好Android2.现在在公司做哪些工作(关于Android)3.Android的框架以及一些基础知识4.Android一些方面的领悟(如Android框架的IoC特性,ViewSystem的状态机机制等)Advanced_2:1.对多线程的运用和理解,及多线程之间handle的传值。2.对android虚拟机的理解,包括内存管理机制垃圾回收机制。3.framework工作方式及原理,Activity是如何生成一个view的,机制是什么。4.android本身的一些限制,不如apk包大小限制,读取大文件时的时间限制。5.Linux中跨进程通信的集中方式Android_4:1.dvm的进程和Linux的进程,应用程序的进程是否为同一个概念2.sim卡的EF文件有何作用3.AT命令的Usercase的概念4.嵌入式操作系统内存管理有哪几种,各有何特性5.什么是嵌入式实时操作系统,Android操作系统属于实时操作系统吗?6.一条最长的短信息约占多少byte?2.1.Androiddvm的进程和Linux的进程,应用程序的进程是否为同一个概念3.DVM执行时,在linux看来就是一应用程序进程,所以说是同一概念4.2.sim卡的EF文件有何作用5.sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本身可以有自己的操作系统,EF就是作存储并和手机通讯用的6.4.嵌入式操作系统内存管理有哪几种,各有何特性7.页式,段式,段页,用到了MMU,虚拟空间等技术8.5.什么是嵌入式实时操作系统,Android操作系统属于实时操作系统吗?9.分硬实时和软实时,android属于linux内核,linux在用户空间可抢占,内核空间在2.4以后可局部抢占,严格来讲Android属于软实时系统10.6.一条最长的短信息约占多少byte?一条短信可以输入11.中文70(包括标点)英文160160个字节12.Android面试题积累收藏1、什么是ANR如何避免它?13.、什么情况会导致ForceClose?如何避免?能否捕获导致其的异常?15.3、Android本身的api并未声明会抛出异常,则其在运行时有无可能抛出runtime异常,你遇到过吗?诺有的话会导致什么问题?如何解决?16.4、简要解释一下activity、intent、intentfilter、service、Broadcast、BroadcaseReceiver17.、IntentService有何优点?19.IntentServiceisabaseclassforServicesthathandleasynchronousrequests(expressedasIntents)ondemand.ClientssendrequeststhroughstartService(Intent)calls;theserviceisstartedasneeded,handleseachIntentinturnusingaworkerthread,andstopsitselfwhenitrunsoutofwork.20.This‘workqueueprocessor’patterniscommonlyusedtooffloadtasksfromanapplication’smainthread.TheIntentServiceclassexiststosimplifythispatternandtakecareofthemechanics.Touseit,extendIntentServiceandimplementonHandleIntent(Intent).IntentServicewillreceivetheIntents,launchaworkerthread,andstoptheserviceasappropriate.21.Allrequestsarehandledonasingleworkerthread—theymaytakeaslongasnecessary(andwillnotblocktheapplication’smainloop),butonlyonerequestwillbeprocessedatatime.”22.IntentService的好处23.Acitivity的进程,当处理Intent的时候,会产生一个对应的Service24.Android的进程处理器现在会尽可能的不kill掉你25.非常容易使用26.日历中IntentService的应用27.publicclassDismissAllAlarmsServiceextendsIntentService{28.@OverridepublicvoidonHandleIntent(IntentunusedIntent){29.ContentResolverresolver=getContentResolver();30....31.resolver.update(uri,values,selection,null);32.}33.}34.inAlertReceiverextendsBroadcastReceiver,onReceive():(mainthread)35.Intentintent=newIntent(context,DismissAllAlarmsService.class);36.context.startService(intent);37.6.根据自己的理解描述下Android数字签名38.Android数字签名在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用程序才能取得该权限。Android使用Java的数字证书相关的机制来给apk加盖数字证书,要理解android的数字证书,需要先了解以下数字证书的概念和java的数字证书机制。Android系统要求每一个安装进系统的应用程序都是经过数字证书签名的,数字证书的私钥则保存在程序开发者的手中。Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。这个数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证
本文标题:史上最全的android面试题库
链接地址:https://www.777doc.com/doc-6246317 .html