71道经典Android面试题和答案

1. 下列哪些语句关于内存回收的说明是正确的? (b )

A、 程序员必须创建一个线程来释放内存

B、 内存回收程序负责释放无用内存 

C、 内存回收程序允许程序员直接释放内存 

D、 内存回收程序可以在指定的时间释放内存对象 

Android是Linux的内核,每一个程序都是一个独立的JAVA虚拟机,就和油汤里的油花一样互不干扰,这样充分保证了万一某个程序的JAVA虚拟机崩溃,系统依旧稳定正常运行. 而Android和传统Linux不一样的地方又在于,传统Linux在 进程活动停止后就结束了,这就类似于我们用S60和WM一 样,关闭程序,内存释放.而Android会把这些进程保留在内存里,干嘛呢?为了保证你再次激活这些进程时候启动的更快.Android会在系统需要更多内存 的时候,去释放掉那些占用内存的进程----这个活动是智能的.

2. 下面异常是属于Runtime Exception 的是(abcd)(多选)

A、ArithmeticException

B、IllegalArgumentException

C、NullPointerException

D、BufferUnderflowException

A、ArithmeticException    当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。

B、IllegalArgumentException抛出的异常表明向方法传递了一个不合法或不正确的参数。

C、NullPointerException空指针异常

D、BufferUnderflowException (不明白,没碰到过)编码问题导致java_BufferUnderflowException异常公共类BufferUnderflowException的延伸的RuntimeException未经检查的异常时,抛出一个相对get操作达到源缓冲区的限制。

3.  Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c).

A、11 ,-11   B、11 ,-12   C、12 ,-11   D、12 ,-12

四舍五入 四和五是指正的4,5
-11.5 这么看 -11.5 = -12 +0.5   ,0.5按四舍五入为1 ,-12+1 = -11,所以Math.round(-11.5)==-11
           -0.5 = -1 + 0.5   0.5按四舍五入为1 ,-1+1 = 0,所以Math.round(-0.5)==0
            11.5 四舍五入 显然 Math.round(11.5)==12

round方法返回与参数最接近的长整数,参数加0.5后求其floor(小于等于该数的最大整数)

4. 下列程序段的输出结果是:(b)

void complicatedexpression_r(){

     int x=20, y=30;

     boolean b;

     b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;

     System.out.println(b);

}

A、true   B、false   C、1     D、0

&&(与)的优先级比||(或)高

5. 对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(a)

A、onPause()  B、onCreate()   C、 onResume()   D、onStart()

6. Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选)

A、Serializable  B、charsequence  C、Parcelable  D、Bundle

7. android 中下列属于Intent的作用的是(c)

A、实现应用程序间的数据共享

B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失

C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带

D、处理一个应用程序整体性的工作

  1. 下列属于SAX解析xml文件的优点的是(b)

A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能(dom解析优点)

B、不用事先调入整个文档,占用资源少(sax解析优点)

C、整个文档调入内存,浪费时间和空间(dom解析缺点)

D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会(sax解析缺点)消失

不需要像dom解析那样在内存中建立一个dom对象,占用内存,sax解析是逐行解析的,每次读入内存的只是一行xml,所以速度快,效率高点。不过sax一般是处理固定格式的xml。

9. 下面的对自定style的方式正确的是(a)

  A、

<resources>

<style name="myStyle">

<itemname="android:layout_width">fill_parent</item>

</style>

</resources>

B、

<style name="myStyle">

<item name="android:layout_width">fill_parent</item>

</style>

(没有<resources>

C、

<resources>

<item name="android:layout_width">fill_parent</item>

</resources>

(没有</style>

D、

<resources>

<style name="android:layout_width">fill_parent</style>

</resources>

</style>应为</item>

10.在android中使用Menu时可能需要重写的方法有(ac)(多选)

A、onCreateOptionsMenu() 

B、onCreateMenu()

C、onOptionsItemSelected()

D、onItemSelected()

11.  在SQL Server Management Studio 中运行下列T-SQL语句,其输出值(c)。

SELECT @@IDENTITY

A、可能为0.1

B、可能为3

C、 不可能为-100

D、肯定为0

@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select @@identity得到的值就是101。使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。

12. 在SQL Server 2005中运行如下T-SQL语句,假定SALES表中有多行数据,执行查询之后的结果是(d)。

BEGIN TRANSACTION A

Update SALES Set qty=30 WHERE qty<30

BEGIN TRANSACTION B

Update SALES Set qty=40 WHERE qty<40

Update SALES Set qty=50 WHERE qty<50

Update SALES Set qty=60 WHERE qty<60

COMMIT TRANSACTION B

COMMIT TRANSACTION A

A、SALES表中qty列最小值大于等于30

B、SALES表中qty列最小值大于等于40

C、SALES表中qty列的数据全部为50

D、SALES表中qty列最小值大于等于60

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值