.Android 工程师面试题一、基础( 79 分)1. String s = new String("xyz"); 创建了几个 String Object? ( )3 分A、 1 个B、2 个C、 3 个D、 4 个2. Math.round(11.5) 和 Math.round(-11.5) 分别等于多少?() 2 分A、 11和 -11B、12 和-11C、 11和-12 D 、12 和 -123.以下错误的说法有: ( )2 分A、只要设计合理,当出现 error 这样的情况时,程序完全可以自动处理B、 exception 表示一种设计或实现问题C、 Set 和 Map 都继承自Collection接口D、接口可以继承接口E、抽象类可以继承没有构造函数的实体类4.以下哪种类型不能作为 switch ( expr1 )表达式的 expr1? ( )3 分A 、int B、longC、 char D 、byte5. 有关 ArrayList 和 Vector 的说法,那些是错误的?( )3 分A 、Vector 是线程安全的B、 ArrayList 是线程序不安全的C、当需要增长时,Vector 默认增长为原来一培D、当需要增长时, ArrayList 默认增长为原来一培6. 以下说法那些是错误的?()3分A 、一个 char 型变量可以存储一个中文汉字B、 String 是最基本的数据类型C、 Integer 的缺省值是0D、 String 类提供了数值不可改变的字符串7. 请指出以下代码的执行结果()5分class A{static{System.out.print("X");}public A(){System.out.print("2");}}class B extends A{.static{System.out.print("a");}public B(){System.out.print("b");}}public class Hello{public static void main(String[] ars){A ab = new B();ab = new B();}}A 、 Xa2b2b B、 Xa2bXa2bC、 abX2ab D 、 2bXaba8.2<<3=? ()3 分A 、 8B 、6C、 9 D 、169.那些不属于面向对象的特征()2 分A 、多态性B、抽象C、继承D、重写10. 若要说明一个抽象类,使用的关键字是:() 2 分A 、 static B、 implementsC、extends D 、 abstract11. 在 Java 中,要定义类的保护类型元素,则必须使用的关键字是() 2 分A 、 [default]B 、privateC、public D 、 protected12. 下面是有关子类调用父类构造函数的描述正确的是() 2 分A、子类定义了自己的构造函数,就不会调用父类的构造函数B、子类必须通过super 关键字调用父类没有参数的构造函数C、如果子类的构造函数没有通过super 调用父类构造函数,那么子类会先调用父类不含参数的构造函数,再调用子类自己的构造函数D、创建子类对象时,先调用子类自己的构造函数,然后调用父类的构造函数13.下列选项中不属于结构化程序设计方法的是()2分A 、自顶向下B、逐步求精.C、模块化D、可复用14.下列描述中,错误的是()2分A 、 Java 要求编程者管理存B、 Java 的安全性体现在多个层次上C、 Applet 要求在支持Java 的浏览器上运行D 、 Java 有多线程机制15.以下代码的输出结果是:() 2 分publicclass Test1 {publicstaticvoid changeStr(String str){str="welcome";}publicstaticvoid main(String[] args) {String str="1234";changeStr(str);System.out.println(str);}}A 、 1234B、 welcome16.以下代码的输出结果是:() 4 分Public class Test2 {Static boolean foo(char c) {System.out.print(c);return true;}Public static void main(String[] argv) {int i = 0;//for(65;88&&(i<2);67)for (foo('A'); foo('B') && (i < 2); foo('C')) {i++;foo('D');}}}A. ABDCBDCBB. ABCDABCDC. Compilation fails.D. An exception is thrown at runtime.17.假设int x=4,y=50,下列语句的循环体共执行几次?( )4 分while (y / x > 3) {if (y % x > 3) {x = x + 1;} else {y = y / x;}}A 、1B、 2C、 3D、 418.要从文件" file.dat"文件中读出第10 个字节到变量 C 中 ,下列哪个方法适合? 3 分A 、 FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read();B、 FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read();C、FileInputStream in=new FileInputStream("file.dat"); int c=in.read();D 、RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte();19.下面异常是属于Runtime Exception的是()(多选) 2 分A 、ArithmeticException B、 IllegalArgumentExceptionC、NullPointerExceptionD、 BufferUnderflowException20.下面在AndroidManifest.xml文件中注册BroadcastReceiver 体式格式正确的() 4 分A 、 <receiver android:name="NewBroad"><intent-filter><actionandroid:name="android.provider.action.NewBroad"/><action></intent-filter></receiver>B、<receiver android:name="NewBroad"><intent-filter>android:name="android.provider.action.NewBroad"/></intent-filter></receiver>C、 <receiver android:name="NewBroad"><actionandroid:name="android.provider.action.NewBroad"/><action></receiver>D 、 <intent-filter><receiver android:name="NewBroad"><action>android:name="android.provider.action.NewBroad"/><action></receiver></intent-filter>21. android 关于 service 生命周期的 onCreate ()和 onStart ()说确的是()(多选题) 3 分A 、当第一次启动的时辰先后调用onCreate ()和 onStart ()办法B、当第一次启动的时辰只会调用onCreate ()办法C、若是 service 已经启动,将先后调用onCreate ()和 onStart ()办法D 、若是 service 已经启动,只会履行onStart ()办法,不在履行 onCreate ()办法22. 关于 SharedPreferences 和文件存储数据描述正确的是( ).( 选择一项 ) () 3 分A. 使用文件存储需要创建文件,而 SharedPreferences 的存储方式自动创建xml 文件B.使用文件存储时 ,只能将文件保存在 SD 卡上C.两种存储方式都可以将存储的数据共享给其他应用D.SharedPreferences 一般用于保存不经常改变的参数设置23. 定义广播需要重写父类中的什么方法().( 选择一项 ) 3 分A. onCreateB. onSendC. onReceiveD. onBroadcast24. 下列聚合函数中不忽略空值(null) 的是() 2 分A. SUM ( 列名 )B. MAX ( 列名 )C. COUNT ( * )D. AVG ( 列名 )25. SQL 中,下列涉及空值的操作,不正确的是() 2 分A. AGE IS NULLB. AGE IS NOT NULLC. AGE = NULLD. NOT (AGE IS NULL)26. SQL 语言中,条件“年龄 BETWEEN 20 AND 30 ”表示年龄在20 至 30 之间,且 ( )2 分A. 包括 20 岁和 30 岁B.不包括 20 岁和 30 岁C.包括 20 岁但不包括 30 岁D. 包括 30 岁但不包括20 岁27.在 android 中使用 SQLiteOpenHelper 这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是() 3 分A 、 getWriteableDatabase()B、getReadableDatabase()C、 getDatabase() D 、getAbleDatabase()28.若用如下的 SQL 语句创建了一个表 SCREATE TABLE S(S# CHAR(6) NOT NULL,SNAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INTEGER)今向 S表插入如下行时,哪一行可以被插入 3 分A、 ('991001',' 明芳 ',女, '23')B、 ('990746',' 为',NULL,NULL)C、 (NULL,' 道一 ', '男 ',32)D、 ('992345',NULL,'女',25)29.有表 tb , tb 有字段 id ( int 型)、a(varchar 型 ) 、b ( char 型)、c(日期型 )下面那些 sql 语句是正确的() 3 分A 、 update tb set a=’ 1’where id=1B、 delete tb where id=1C、 select top 1 b from tb order by a descD 、 update table tb set a=’ 1’ where id=2二、逻辑部分(21 分)1、某商场失窃,员工甲、乙、丙、丁涉嫌被拘审。