Android笔试题1.doc_第1页
Android笔试题1.doc_第2页
Android笔试题1.doc_第3页
Android笔试题1.doc_第4页
Android笔试题1.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

应聘Android开发工程师-Java笔试部分班级: 姓名: 分数:1:本试卷为高难度试题,大部分摘自华为,中兴,腾讯,百度,阿里巴巴等试题2:知识点涵盖Java基础,面向对象,异常,多线程,输入输出流,集合,数据结构与算法3:注意本试卷分满分为100分,60分为及格分数线4:本试卷分为以下部分:选择题,简答题,改错与分析题,编程算法题5:本试卷时间为100分钟,请抓紧时间做题一:选择题【有四个选项,只有一个选项正确,每道题1.5分,共20道,总计30分】【 】1:下面的表达式错误的是A: float f=(1.9 + 0.1)/(int)1.0B: float f=1.0FC: float f=(float)1.0FD: float f=(int)(0.73+0.27);【 】2:设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是A:把x和y按从大到小排列B:把x和y按从小到大排列C:无确定结果D:交换x和y中的值【 】3:请写出下面程序运行的结果()int x = 0;int y = 1;int a = x+ + +x;int b = y- - -y;System.out.println(+a + b+);A:3 B:4 C:5 D:6【 】4:选择下列程序运行的结果int total = 0;for (int i = 0, j = 5; total 3; +i, -j) total += (i + j);System.out.println(total );A:结果为 5 ,因为一个i自加,一个j自减抵消等于没有自加B:结果为 10,因为正常运算了C:有语法错误,不能写多个变量D:有语法错误,条件表达式不能写多个【 】5:请问总共创建了多少个对象?String aa,b,c;aa=bb;b=dd+aa;c=cc+b+aa;StringBuffer d = new StringBuffer(c);A: 4 B: 5 C: 7 D: 8【 】6:接口A中有2个方法,接口B中有2个方法,以下正确的是 ( )A:若接口C继承A,B两个接口,则C一定继承了四个方法B:若类C实现接口A,B,则C中必须至少实现A、B中各一个方法C:若类C要继承接口A,B,则必须要定义接口D来继承接口A、B,由类C实现接口D,才能达到目的D:若抽象的接口C继承了接口A,B;抽象的D类实现C接口,此时必须要实现累加接口中的所有方法【 】7:关于类,抽象,接口,继承综合说法错误的是?A:类与类之间有关联,继承,聚合的关系;B:抽象类可以继承实例类,抽象类可以实现接口,抽象接口可以继承多个接口C:抽象类是类和接口的并集与接口继承的补集D:在应用开发中,功能类的继承是平行结构,实现功能的接口是树型结构【 】8:请判断下面程序运行的结果:public class ParamTest int num = 1;public void change() num = 2;public void change(int num) num = 3;public void change(ParamTest pt) pt.num = 4;public static void main(String args) ParamTest pt = new ParamTest();int num = 5;pt.change();System.out.println(1-: + pt.num);pt.change(num);System.out.println(2-: + pt.num);pt.change(pt);System.out.println(3-: + pt.num);A: B: C: D:1-:1 1-:2 1-:2 1-:22-:5 2-:5 2-:2 2-:53-:4 2-:5 3-:4 3-:4【 】9:下面方法不可以共存的是:()已知:class A public A() public void A() public void A(int x) class B extends A /填入一个方法A:public void A()B:public void A(int x, int y) C:public int A(int x, char y) return x + y;D:public String A(int x)return hello+x;【 】10:已知类Foo的定义如下:public class Foo int value; Foo(int value) this.value = value; 运行下面程序段: Foo a1 = new Foo(1), new Foo(2), new Foo(3) ; Foo a2 = new Fooa1.length; System.arraycopy(a1, 0, a2, 0, a1.length); System.out.println(a1 = a2) + “,” + (a11 = a21); 控制台输出的结果是( )。A. false,false B. false,true C. true,true D. true,false【 】11:哪种说话阐明了垃圾收集和终结化机制锁承诺的行为?()A 对象直到没有任何引用指向自己时才会立即被销毁 B 对一个对象调用的finalize()方法永远不会多于一次 C 适用于收集的对象会最终由垃圾收集器销毁 D 对象一但适用于垃圾收集,就再无法由存活线程访问了【 】12:下面执行的结果是static boolean loop(char c) System.out.print(c);return true;public static void main(String args) int i = 0;for (loop(A); loop(B) & (i 2); loop(C) i+;loop(D);A. ABDCBDCBB. ABCDABCDC. Compilation fails编译失败.D. An exception is thrown at runtime抛出一个运行例外.【 】13:下面异常执行的结果是:try int x = 0;float y = 0;float z = x / y;System.out.println(11);try int a = new int3;a3 = x;System.out.println(22);return; catch (Exception e) System.out.println(33);return; finally System.out.println(44);System.exit(0);return; catch (ArithmeticException e) System.out.println(55);return; finally System.out.println(66);return;A: B: C: D:11 55 11 1155 66 33 3366 44 4466【 】14:阅读下面程序段:byte a = a, 65, #, B ;byte b = new bytea.length;System.arraycopy(a, 1, b, 1, 2);BufferedOutputStream bos;bos = new BufferedOutputStream(new FileOutputStream(C:file.txt);bos.write(b, 1, 2);bos.flush();bos.close();假设file.txt原先不存在,运行该程序段后,文件file.txt的内容为( )。A. 65 B. 65# C. A# D. A【 】15:假设以数组An存放循环队列的元素,其头、尾指针分别为head和end。若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为A:(end-head-1)%n B:(end-head)%nC:(head-end+1)%n D:(end-head+n)%n【 】16:对线性链表和线性表分析错误的是()A:线性链表分为单链表、双向链表和循环链表B:线性链表是一种物理存储单元上连续但非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的C:线性表插入或删除的运算效率很低。在顺序存储的线性表中,插入或删除数据元素时需要移动大量的数据元素D:线性表的顺序存储结构不便于对存储空间的动态分配【 】17:以下属于java.util包中集合类具体实现类的是?A:Map B:Collection C:TreeMap D:SortedMap【 】18:下面对集合不能正确创建实例化是()A:ListHashMap list = new LinkedListHashMap();B:ArrayListHashSet list = new ArrayListHashSet();C:TreeSetHashtable tree=new TreeSetHashtable();D:TreeSetArrayList tree=new TreeSetArrayList();【 】19:下面可以删除list中所有的“java”的代码是:ArrayList list = new ArrayList(); list.add(“java”); list.add(“aaa”); list.add(“java”); list.add(“java”); list.add(“bbb”);A:for (int i = list.size() - 1; i = 0; i-) if (java.equals(list.get(i) list.remove(i);B:for (int i = 0; i list.size(); i+) if (java.equals(list.get(i) list.remove(i);C:Iterator i = list.iterator();while (i.hasNext() if (i.next().toString().equals(java) i.removeAll();D:Iterator i = list.listIterator();while (i.hasNext() if (String) i.next().equals(Java)i.remove();【 】20:题示代码的功能为:将两个有序的ArrayList合并为一个有序的ArrayList。 对于两个存放Integer对象的ArrayList, 内容分别为:list1:1,3,4,6,8 和 list2:2,5,9 合并后的list3: 1,2,3,4,5,6,8,9 List list3 = new ArrayList(); int size = list1.size() + list2.size();for (int i = 0, j = 0, k = 0; k size; k+) System.out.println(list3); 完成该功能应该填入的代码是( )。A. if (j = list2.size() | i list1.size():& list1.get(i) = list2.size() | i list1.size()& list1.get(i) = list2.size() | i list2.get(j) list3.add(list1.get(i+); else list3.add(list2.get(j+); D. if (j = list2.size() | i list1.size()| list1.get(i) list2.get(j) list3.add(list1.get(i+); else list3.add(list2.get(j+); 二:简答题【本环节中每道题3分,共5道,总计15分】1:String 和StringBuffer有什么差别?在什么情况下使用它们?【3分】答:2:new一个类对象和使用类名创建一个对象有什么区别?二者使用时应该注意什么?【3分】答:3:在异常当中 throw和throws 有什么区别和联系?【3分】答:4:LinkList和ArrayList的区别?如果是在集合的开头插入一个对象,使用哪种效率高些,在集合的末尾插入一个对象,使用哪种效率高些,为什么?【3分】5:介绍JAVA开发中常用的Collection FrameWork(写出Java集合的框架结构,加上必要的名称注释)? 【3分】答:三:改错与分析题【本环节中每道题3分,共7道,总计21分】1. interface A2. int x = 0;3. 4. class B5. int x =1;6. 7. class C extends B implements A 8. public void pX()9. System.out.println(x);10. 11. public static void main(String args) 12. new C().pX();13. 14. 请问哪一行有错?为什么?【3分】答:1. abstract class Animal 2. public void saySomething() 3. System.out.println(你想说什么就说吧!);4. 5. 6. class Dog extends Animal 7. public void saySomething() 8. System.out.println(我现在有了第二职业:捉耗);9. 10. 11. public class Test 12. public static void main (String args) 13. Animal ani=new Dog();14. ani.saySomething();15. 16. 请问哪一行有错?为什么?【3分】答:public class Test private static void printArray(int arr) for(int i=0;i arr.length;i+)System.out.print(arri+,);System.out.println( );private static void changeValue(int value) value*=2;private static void changeValue(int arr) for(int i=0;iarr.length;i+)arri*=2;public static void main (String args) int arr=1,2,3,4,5;changeValue(arr0);printArray(arr);changeValue(arr);printArray(arr);请问结果是什么?并详细解释原因【3分】答:public class A static System.out.println(11);System.out.println(22);public A() System.out.println(33);public void deal() System.out.println(44);public class B extends A static System.out.println(55);System.out.println(66);public B() System.out.println(77);public void deal() System.out.println(88);public class C public static void main(String args) A b=new B();b.deal();请问结果是什么?并详细分析原因【3分】答:public class Testpublic static void so(String name)String temp=name0;Name0=name1;Name1=temp;public static void so(String name0,String name1)String temp=name0;Name0=name1;Name1=temp;public static void main(String wewe)String name = new Stringmike”,”Lily”;String name0 = “mike”;String name1=”Lily“;So(name);System.out.println(name0+”,”+name1);So(name0,name1);System.out.println(name0+”,”+name1);请输出结果?并详细解释为什么?【3分】答:public class Person static class User int id;String name;public User(int id, String name) this.id = id; = name;public int getId() return this.id;public String getName() return ;class Student public void setid(int newId) id = newId;public void setName(String newName) name = newName;public void print(int id, String name) User user = new User(id, name);System.out.println(user.getId() + t + user.getName();public static void main(String args) /.手写补充代码要求:先对User进行创建实例化 学号为:1001 姓名为: 张三 之后进行修改 学号为: 1002 姓名为:李四 调用Person类的打印输出方法显示修改后的结果。【3分】答:列举几个你常去的IT技术型的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论