蜜蜂职场文库 > 面试技巧 >

android软件测试面试题及答案

时间: 小龙 面试技巧

  android软件测试面试者在面试中,要学会做好面试准备很重要,你了解面试题及答案了吗?下面小编已经为你们整理了android软件测试面试题及答案,希望可以帮到你。

  android软件测试面试题及答案(一)

  1、 Android的四大组件是哪些,它们的作用?

  答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑

  service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的食物,定义好需要接受的Intent提供同步和异步的接口

  Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content

  Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径

  BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型

  2、 请介绍下Android中常用的五种布局。

  常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。

  一、FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。

  二、LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局

  (android:orientation=”vertical”)和水平布局(android:orientation=”horizontal” )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

  三、AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。

  四、RelativeLayout:相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:相对于某一个元素android:layout_below、 android:layout_toLeftOf相对于父元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh;

  五、TableLayout:表格布局,每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素。每一个布局都有自己适合的方式,这五个布局元素可以相互嵌套应用,做出美观的界面。

  android软件测试面试题及答案(二)

  1、 android中的动画有哪几类,它们的特点和区别是什么

  答:两种,一种是Tween动画、还有一种是Frame动画。

  Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化; 另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

  2、 android 中有哪几种解析xml的类?官方推荐哪种?以及它们的原理和区别。

  答:XML解析主要有三种方式,SAX、DOM、PULL。常规在PC上开发我们使用Dom相对轻松些,但一些性能敏感的数据库或手机上还是主要采用SAX方式,SAX读取是单向的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方便。而DOM方式会把整个XML文件加载到内存中去,这里Android开发网提醒大家该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,而PULL常常用在J2ME对于节点处理比较好,类似SAX方式,同样很节省内存,在J2ME中我们经常使用的KXML库来解析。

  3、 ListView的优化方案

  答:01、如果自定义适配器,那么在getView方法中要考虑方法传进来的参数contentView是否为null,如果为null就创建contentView并返回,如果不为null则直接使用。在这个方法中尽可能少创建view。

  02、给contentView设置tag(setTag()),传入一个viewHolder对象,用于缓存要显示的数据,可以达到图像数据异步加载的效果。

  03、如果listview需要显示的item很多,就要考虑分页加载。比如一共要显示100条或者更多的时候,我们可以考虑先加载20条,等用户拉到列表底部的时候再去加载接下来的20条。

  android软件测试面试题及答案(三)

  1. Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗

  这里Android123提示大家,Intent的一些标记有

  FLAG_ACTIVITY_BROUGHT_TO_FRONT、FLAG_ACTIVITY_CLEAR_TOP、FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET、

  FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS、FLAG_ACTIVITY_MULTIPLE_TASK和FLAG_ACTIVITY_NEW_TASK等。每种含义大家看SDK文档和具体跑下这样你的记忆会更深刻些。

  2. Activity和Task的启动模式有哪些? 每种含义是什么

  有关在AndroidManifest.xml中的android:launchMode定义,主要有standard、singleTop、singleTask和singleInstance,同时对于android:taskAffinity这些问题大家也要了解,Android开发网在以前的文章中讲过,不过很多开发者仍然不是很清楚,这些基础问题我们以后仍然会再次总结。

  3. 通过Intent传递一些二进制数据的方法有哪些?

  1). 使用Serializable接口实现序列化,这是Java常用的方法。

  2). 实现Parcelable接口,这里Android的部分类比如Bitmap类就已经实现了,同时Parcelable在Android AIDL中交换数据也很常见的。

  4. 能说下Android应用的入口点吗?

  真正的Android入口点是application的main,你可以看下androidmanifest.xml的包含关系就清楚了。可以没有Activity但是必须有Application

  5. Android都有哪些XML解析器,都熟练掌握吗?

  这里XmlPull、SAX和DOM相信做过Web开发的都已经滚瓜烂熟了。

  
看了“android软件测试面试题及答案”

51049