JAVA初级程序员笔试题(电讯盈科)
- 格式:docx
- 大小:22.46 KB
- 文档页数:7
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1."对下面的语句序列正确的说法是:int c=’A’/3;c+=’1’%5;System.out.println(c);A. 输出结果:25B. 运行时错误C. 产生编译错误D. 输出结果2答案:A2."定义字符串:String s1=”hello”:对下面程序描述正确的是:If(s1==”hello”) {System.out.println(“s1=\”hello\””);} else {Syst em.out.println(“s1 != hello”);}A. 输出 s1!=helloB. 输出 s1=”helloC. 产生编译错误D. 编译正确运行错误答案:B3.软件设计阶段的输出主要是:A. 伪代码B. 程序C. 模块D. 设计规格说明书答案:D4.不同级别的用户对同一对象拥有不同的访问权限或某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动,这种情况最好使用什么模式?A. Fasade模式B. Bridge模式C. Adapter模式D. Proxy模式答案:D5.栈和队列的共同特点是:A. 都是先进后出B. 只允许在端点处插入和删除元素C. 都是先进先出D. 没有共同点答案:B6.Oracle中数值1234567.89如果放入Number(9,3)类型的变量中,存储的值是:A. 1234567.890B. 1234567.9C. 1234567.89D. 会报Numberic error答案:7.PL/SQL中用来判断FETCH语句是否成功,并且在FETCH语句失败时返回逻辑真的属性是:A. %NOTFOUNDB. %FOUNDC. %ISOPEND. %ROWCOUNT答案:A8."Given the following fragment of code;Double d1=newDouble(1.0);Double d2=newDouble(1.0);Float f=new Float(1.0F);Which results of the following expressions are true?A. d1==d2B. d1.equals(d2)C. d1=fD. f.equals(d1)答案:B9.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,他的前序遍历序列是:A. decabB. deabcC. acbedD. cedba答案:10.在oracle中,语句select ‘test’ || null from dual;的查询结果为:A. 结果是testB. 结果是testnullC. 结果是空D. 结果是NULL答案:A11.如果从流中读取一个大数据量的XML文件并进行解析,最好使用哪种解析器?A. 两种都不可以B. 两种都可以,没有太大区别C. SAXParserD. DOMParser答案:C12.如果你设计了一个类,并且覆盖率equals()方法,哪些方法你还会考虑覆盖?A. clone()B. toString()C. wait()D. finalize()E. hashCode()答案:E13."假设test类运行于多线程环境下,那么关于A处的同步下面描述正确的是?public class Test {List list = new java.util.ArrayList();public void test() {synchronized(list) { // --Alist.add( String.valueOf(System.currentTimeMillis()));}}}A. Test 类为singleton时也没有必要增加synchronizedB. Test方法中必须增加synchronizedC. Test类为singleton时有必要增加synchronizedD. Test 方法中没有必要增加synchronized答案:C14.关于final下面哪些是错误的?A. final可以用来声明抽象类中的方法B. final可以用来声明接口中的方法C. 以上都不对D. final method不能被覆盖E. final class不能被继承答案:B15.类的实例方法表示的是什么?( )A. 类的行为B. 父类对象的行为C. 类的属性D. 类对象的行为答案:D16."类A定义如下:class A {private int x=10;int getX() {return x;}}class B extends A {private int x=15;//需要覆盖getx()方法}在”//需要覆盖getx()方法”后应加上的函数是:A. int getX(float f) {…}B. double getx(float f){…}C. float getx(){…};D. int getx(){…}答案:D17.面向对象的特征答案:(抽象、继承、多态、封装)18.在ORACLE中,关于同义词说法错误的是:A. 可以为存储过程创建同义词B. 同义词可以和表重名C. 共有同义词和私有同义词创建的权限不同D. 同义词只能由创建同义词的用户使用答案:D19.释放SessionBean使用的某些资源或者刷新Entity Bean的缓存的代码一般实现在哪个方法中?A. ejbLoadB. ejbPassivateC. ejbStoreD. ejbRemoveE. ejbActivate答案:B20.JSP内置对象有哪些" A.applicationB.requestC.reponseD.sessionE.OOXX答案:ABCD21.Which modifier should be used to define a constant member variable?A. staticB. finalC. abstractD. No modifier can be used答案:B22.下面哪一个primitive type 和对应的wrapper class 是错误的?ng.IntegerB.g ng.LongC.short ng.ShortD.void ng.V oidE.char[] ng.String答案:E23.下面哪个声明是错误?A. int i=0xFFFFFFFF;B. byte b=01;C. char c=\u0000;D. long l=1234567890LE. int i=’a’;答案:C24."转发HTTP 请求一般有两种方法,response.sendRedirect 和RequestDispatcher.forward,哪种方法可以保存request.setAttribute()中设置的值不丢BA. sendRedirectssB. forwardC. 两个都不能D. 两个都可以答案:25.下列关于Java语言的叙述中,正确的是:A. 源文件名其扩展名为.jarB. Java是不区分大小写的C. 源文件中public类的数据不限D. 源文件名必须与public类型的类名相同答案:D26."下面语句片段的输出结果是什么?()int score=9;switch(score){case 0: System.out.println();default: System.out.println(“Error”);case 1: System.out.println(“Good”); break;case 2: System.out.println(“Best”);}A. ErrorB. 没有输出C. Error,Good,BestD. Error,Good答案:D27."下面程序执行代码到第5行时j的值是:1. public class test {2. public static void main(String args[]) {3. int i = OxFFFFFFF1;4. int j = -i;5.6. }7. }A. 14B. 15C. 0D. 1答案:B28.如果你设计了一个类,并且覆盖了equals()方法,哪些方法你还会考虑覆盖?A. hashCode()B. wait()C. finalize()D. toString()E. clone()答案:A29.下面哪些赋值语句是错误的。
Java基础笔试题目1. Java中的异常处理机制的简单原理和应用。
当java程序违反了java的语义规则时,java虚拟机就会将发生的错误表示为一个异常。
违反语义规则包括2种情况。
一种是java类库内置的语义检查。
例如数组下标越界,会引发indexoutofboundsexception;访问null的对象时会引发nullpointerexception。
另一种情况就是java允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw 关键字引发异常。
所有的异常都是ng.thowable的子类。
2. 在java中,程序员能否实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收?java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不再需要考虑内存管理。
由于有个垃圾回收机制,java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
3. error与exception有什么区别?error表示系统级的错误和程序不必处理的异常,exception表示需要捕捉或者需要程序进行处理的异常。
4. 在java中一个类被声明为final类型,表示了什么意思?表示该类不能被继承,是顶级类。
5 下段脚本是否有错?如有错,请指出;若无错,请说明输出内容。
1)class Something {2)int i;3)public void doSomething() {4)System.out.println("i = " + i);5)}6)}正确。
正式应聘的JAVA笔试题和答案一:选择题1:List, Set, Map是否继承自Collection接口A:都是,B 都不是 C:List, Set 是 D:Set, Map 是正确答案 C2:下面描述哪个是正确的A:构造器Constructor可被overrideB:可以继承String类C:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code不会被执行D:两个对象值相同(x.equals(y) == true),那么也有相同的hash code正确答案 D3 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized A:都能 B:都不能 C:可以为static D:可以为native正确答案 A4:下面的程序中,temp的最终值是什么?long temo=(int)3.9;temp%=2;A: 0 B :1 C :2 D : 3正确答案 B5、请在以下选项中选出非基本数据类型的选项 ( )A: int B:byte C: boolean D:String正确答案 D6、阅读下面代码段, 给出以下代码的输出结果public class Test{public static void main(String args[]){String str1 = "abc";String str = "abc;String str2 = new String("abc");System.out.println(str1 == str2);System.out.println(str1.equals(str2));System.out.println(str == str1);}}A:true,true,true B:true,false,true C:true,true,false D:false,true,true正确答案 D7、阅读下面代码段, 给出以下代码的输出结果:int i=1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");default:System.out.println("default");}A: B::D:default 正确答案 C8、阅读下面代码段, 给出以下代码的输出结果public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A: Error Variable i may not have been initialized B:null C:D:0 正确答案 D9、阅读下面代码段, 给出以下代码的输出结果:class A{static{System.out.print( “A1”);}public A(){System.out.print( “A2”);}}class B extends A{static{System.out.print( “B1”);}public B(){System.out.print( “B2”);}}public class Hello{public static void main(String[] args){A ab = new B();ab = new B();}}A:A1B1A2B2B1B2 B:A1B1A2B2A2B2 C:A1B1A2B2B1B2 D:A1A2B1B2A2B2正确答案 B10、阅读下面代码段, 给出以下代码的输出结果public class TestData {public String getValue () {String value = "";try{value = "test1";return value;}catch(Exception e){e.printStackTrace();}finally{value = "test2";}return value;}public static void main(String args[]){ TestData test = new TestData();String a = test.getValue();System.out.println(a);}}A.test1B.test2C.nullD.””正确答案 A二、改错题,如果有错误,请指出并修正。
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.关于readLine() 方法,一下说法正确的是?A. 该方法抛出IOException异常,调用该方法应该try …catch…B. 如果读到文件的末尾,该方法返回的结果为nullC. readLine()每次读取一行数据D. BufferReader类的对象可以调用该方法答案:ABCD2.方法中的局部变量何时分配内存答案:在方法被调用时、静态变量在类被加载时分配内存3.J2EE描述答案:"J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition)J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境。
4.转发HTTP请求的两个方法 respsonse.sendDirect 和 RequestDispatcher.forward 的区别答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
这样,从浏览器的地址栏中可以看到跳转后的链接地址。
所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.关系数据库中,典型的实体关系模型有三个要素?答案:数据结构、关系操作、完整性约束2.面向对象的特征答案:(抽象、继承、多态、封装)3."int k=0;for(int i=5;i>0&k<10;i--){k+=i;}最后k的值是多少?答案://k=124.方法中的局部变量何时分配内存答案:在方法被调用时、静态变量在类被加载时分配内存5.String s1=”Hello”表达式s1==”Hello”返回true or false答案:TRUE6.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键B. 总控键C. 重复的组D. 主键答案:A7.EJB2.0 中定义了几种Enterprise Bean答案:Session bean, entity bean, message driven bean8.以下标识符中()是不合法的A. 1sB. $1C. $1D. BigM答案:A9.下面哪个是合法的布尔值A. “false”B. falseC. 10答案:B10.下面的异常处理说明正确的是( )A. try块只能使用一个catch子句。
B. try块必须同时与catch子句和finally子句一起使用。
C. try块不能单独使用。
D. try块中如果执行了return 语句,则其finally子句不能执行答案:C11.System同时包含三个预定义的流变量,分别是答案:In out err12.定义字符串:String str =Abcddefg”; 则str.substring(1,4).indexOf(“d”) 的结果是答案:213.算法的时间复杂度是指:答案:时间复杂度是度量算法执行的时间长短。
随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越高。
笔试题(初级JAVA工程师)姓名:_______ 年龄:___________ 应聘岗位:初级JAVA工程师岗位招聘要求:热爰编程本科或以上学历;计算机软件或相关专业毕业者优先;持国家人事部或工信部、或行业官方有效技术资质证书者优先;1年以上JAVA/J2EE开发经验;熟系Spring , Struts2 和mybatis/Hibernate 等主流的WEB 开发框架熟悉JSP/Servlet等WEB开发技术;熟练掌握javascript/dom/ajax开发技术了解jquery、extJs及其它派生前端开源组件;熟练掌握CSS3/HTML4/HTML5前端脚本;熟练掌握数据库基础理论,能够使用原生SQL熟练进行基本数据库操作;熟悉软件技术文档的编写,具备良好的文档编制习惯和代码书写规范;具有较强的工作责任心、有良好的沟通能力和团队合作精神、承压能力;学习能力强,拥有优秀的逻辑思维能力与自我管理能力;1>请简述Java中集合类list set map三者的区别和应用场合。
2.请说出下图是什么图,并猜测它可能代表了什么含义数据编码类(yu«i cate)id) vaxchax(G4) <ok〉vaxchar(50)varchar(200) datetimev&rchar(200)datetimev ar char (1)数据编码表(yuai.code)干祸(cud^辺) vox* char (C4)沁所厲数据编码类(caUjd) :加父编码(parenCcode.id)varchar(64)varchar(64)<fkl><fk2>编码层数(code.level)int编码规则(code^ule)varchar<32)业务编輕r值(code^value)varchar(32)编码名称(codjnaa©)varchar(100)编码缩写(code.abbr)var char (10)助记符(coctejwlp)varchar(200)爼'龜认值®竺巴1 t^value)decimal编码取值范围下限(loirer.l imi t)decimal编码取值范0S上限(hi jher」iai t)decimal怖序(code.order)int创建人varchar(200)创建时间datetime修改人varchar (200)密改时间datetiaevaxchar(l)3、现有两张表(书和评论):BOOK (id, title, pagecount) , COMMENT (id, countent, 霹爲需艦囂最爲黑移黑爲需響訓◎外键关联关系。
初级笔试面试题final, finally, finalize 的区别。
final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
error和exception有什么区别?error表示恢复不是不可能但很闲难的情况下的一种严重问题。
比如说内存溢出。
不可能指望程序能处理这祥的情况。
exception表示一种设计或实现问题。
也就是说,它表示如果程序运行正常,从不会发生的情况。
List、Map、Set三个接口,存取元素时,各有什么特点?List以特定次序来持有元素,可冇重复元素。
Set无法拥有重复元素,内部排序。
Map 保存key-value 值,value 可多值。
java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?存两种实现方法,分别是继承Thread类与实现Runnable接口用synchronized关键字修饰同步方法反对使用stop(),是因为它不安全。
它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。
结果很难检查出真正的问题所在。
suspend()方法容易发生死锁。
调用SUSp end()的吋候,目标线程会停下来,但却仍然持有在这之前获得的锁定。
此时,其他任何线程都不能访问锁定的资源,除非被"挂起"的线程恢复运行。
对任何线程来说,如果它们想恢复目标线程,同时又试阁使用任何一个锁定的资源,就会造成死锁。
所以不应该使用suspend(),而应在自己的Thread类中罝入一个标志,指出线程应该活动还是挂起。
若标志指出线程应该挂起,便用wait() 命其进入等待状态。
一:单选题1.下列哪一种叙述是正确的(D)A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住没有body部分C.声明抽象方法,大括号可有可无不存在bodyD.声明抽象方法不可写出大括号2.如下代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果是什么?DA. 0B. 1C. 2D.编译失败3.下列哪种说法是正确的(D)A.实例方法可直接调用超类的实例方法如果超类没有被重写就可以B.实例方法可直接调用超类的类方法有可能是私有方法不可以调用C.实例方法可直接调用其他类的实例方法不可以D.实例方法可直接调用本类的类方法4.在Servlet处理请求的方式为:CA.以进程的方式B.以程序的方式C.以线程的方式Servlet容器默认是采用单实例多线程的方式处理多个请求的:D.以响应的方式5.JDBC中,用于表示数据库连接的对象是:BA.Statement连接的实例,执行sqlB.Connection建立与数据库的连接C.DriverManager该方法将建立与数据库的连接D.PreparedStatement6.用于调用存储过程的对象是:CA.ResultSet返回结果集B.DriverManagerC.CallableStatemetD.PreparedStatement PreparedStatement代替Statement.7.按照MVC设计模式,JSP用于实现:BA.ModelB.ViewC.ControllerD.容器8.如下代码10. public Object m() {11. Object o = new Float(3.14F);12. Object [] oa = new Object[1];13. oa[0] = o;14. o = null;15. oa[0] = null;16. print 'return 0';17. }当Float对象在第11行被创建后, 什么时候能够被垃圾回收?CA. 13行以后.B. 14行以后.C. 15行以后.D. 16行以后.9.如下代码:class Base {Base() { System.out.print("Base"); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha(); -----调用父类无参的构造方法new Base();}}结果是什么?BA. BaseB. BaseBaseC. 编译失败.D. 代码运行但没有输出.E. 运行时抛出异常10.在J2EE中属于Web层的组件有:AA.ServletB.EJBC.AppletD.HTML11.在Servlet的生命周期中,容器只调用一次的方法是:CA.serviceB.getServletConfigC.initD.destroy12.以下关于异常的说法正确的是:DA. 一旦出现异常,程序运行就终止了非系统异常仍然可以继续运行B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常不一定C. 在catch子句中匹配异常是一种精确匹配exceptionD. 可能抛出系统异常的方法是不需要申明异常的13.如下代码:public class Foo {public static void main(String[] args) {try {return;} finally {System.out.println( "Finally" );}}}输出结果是什么?AA. FinallyB.编译失败C. 代码正常运行但没有任何输出.D. 运行时抛出异常14. jsp指令中isELIgnored="boolean"的意思是(C)A.决定是否实现Servler的单线程模式,B.决定改页面是否是一个错误处理页面,C.决定是否支持EL表示,D.没有具体的含义。
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.1. 保证在java应用程序中,一个类Class只有一个实例存在该使用什么设计模式答案:单例2.单选题:答案:3.下面对数组的操作代码哪个是正确的?A. char[] a=”hello world”.toCharArray();B. char c=a[999];C. Class cc=a.getClass();D. int len=a.length;E. a.equals(new Object());F. char c=a[0];答案:DF4.面向对象的特征答案:(抽象、继承、多态、封装)5.合法标识符的定义"• 1. 只能以字母,下划线(_)或美元符($)开头,数字不能作为开头• 2. 不能包含美元符($)以外的特殊符号• 3. 不能包含空格• 4. 可以是中文字符或日文字符答案:16."下面代码显示的结果是什么public class Test {static init arr[] = new int[0]public static void main(String [] arge) {System.out.print(arr[1]);}}答案:可编译通过,运行报异常7.String s1=”Hello”表达式s1==”Hello”返回true or false答案:TRUE8.释放SessionBean使用的某些资源或者刷新Entity Bean的缓存的代码一般实现在哪个方法中?A. ejbLoadB. ejbPassivateC. ejbStoreD. ejbRemoveE. ejbActivate答案:B9.System同时包含三个预定义的流变量,分别是答案:In out err10.下面哪些声明是错误的?A. char c = ‘\u0000’;B. int i=’a’;C. byte b=01;D. long l=1234567890L;E. int i=0xFFFFFFFF;答案:11."下面代码中队result描述正确的是?InputStream in = … ;byte[] buff = new byte[1024];int result = in.read(buff, 0, 256)A. result 可能等于256B. result 可能等于0C. result 可能等于1024D. result 可能等于1答案:AB12."MyObject哪个方法会影响到这段代码的正确性以及效率?Set set = new java.util.HashSet();set.add( new MyObject(A”));if ( set.contains( new MyObject(A”))) {……}A. hashCodeB. toStringC. cloneD. equals答案:13.一个正在执行的线程在遇到下列()情况下会终止执行?A. 执行stop()方法;B. 执行wait()方法;C. 执行seleep()方法;D. 其run()方法运行完后。
一.不定项选择(20题,每题3分,共60分)1.下列说法错误的有(BCD )A.数组是一种对象B.数组属于一种原生类C.int number=[]={31,23,33,43,35,63}D.数组的大小可以任意改变2. 不能用来修饰interface的有(ACD )A.private B.public C.protected D.static3. 下列说法错误的有(A CD )A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法4.下列说法错误的有(BCD)A.能被java.exe成功运行的java class文件必须有main()方法B.JA V ASDK就是Java APIC.Appletviewer.exe可利用jar选项运行.jar文件D.能被Appletviewer成功运行的java class文件必须有main()方法5.下列说法错误的有(ABC)A.Java面向对象语言容许单独的过程与函数存在B.Java面向对象语言容许单独的方法存在C.Java语言中的方法属于类中的成员(member)D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同6. 执行如下程序代码a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是( C )A.0 B.1 C.-1 D.死循环7. 下面哪个是正确的类声明?假设每一段文本都做为一个名称为Fred.java的文件的全部内容?( A )a).public class Fred{public int x = 0;public Fred (int x){this.x=x;}}b).public class fred{public int x = 0;public Fred (int x){this.x=x;}}c).public class Fred extends MyBaseClass, MyOtherBaseClass{ public int x = 0;public Fred(int xval){x=xval;}}d).protected class Fred{private int x = 0;private Fred (int xval){x=xval;}}a) B. b) C. c) D. d)8. 现有下列代码片断:switch(x){case 1: System.out.println("Test 1");break;case 2:case 3: System.out.println("Test 2");break;default: System.out.println("end");}X为何值时将输出"Test 2" ( C )A. 1或2B. 1或2或3C. 2或3D. 3E. default9. "|DF|A".split("|").length的结果是( D )A 2B 3C 5D 610.以下哪个为真 ( C )Interger a = new Interger(9);Interger b = new Interger(9);Long c = New Long(9);A. a==bB. b==cC. a.equals(b)D. b.equals(new Interger(9))11. 现在最快且最通用的排序算法是什么?( A )A. 快速排序B. 冒泡排序C. 选择排序D. 外部排序12. 下面关于XML的描述错误的是(D )。
软件工程师笔试题笔试时间为60min 请在答题卡上作答,请勿在试卷上进行勾画,感谢您的配合第一部分:判断题1.Java语言是一种面向对象程序设计语言。
( )2.在Java有布尔类型,该类型只能有两个值:1和0。
( )3.Java中一个类可以同时继承多个其他类,但只能实现一个接口。
( )4.在Java中字符串的长度和字符串中字符的个数是相等的。
( )5.程序中的异常是错误的一种,通过调试程序可以解决异常。
( )6.使用Java语言既可以读写二进制文件,又可以读写文本文件。
( )7.框架JFrame作为图形用户界面的顶级容器,原子组件是不能直接放置到框架的。
( ) 8.当最小化小程序时就会调用小程序的stop()方法,暂时释放所占资源。
( )9.调试Java程序也就是运行Java程序,使用java命令即可完成。
( )10.线程就是程序,只不过是代码较少。
( )第二部分:选择题(可多选)1.以下有关类型转变的说法错误的是()A低精度类型向高精度类型转换时,不会丢失数据精度B系统会自动进行(整型或浮点型)低精度类型数据向高精度类型数据的转换C高精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进行,有可能会引起数据丢失D高精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进行的2. 以下有关条件运算符(?:)说法正确的是()A条件运算符是一个三元运算符,其格式是:表达式1?表达式2:表达式3B格式中的“表达式1”是关系或者逻辑表达式,其值是boolean值C若“表达式1”成立,该条件表达式取“表达式2”的值,否则取“表达式3”的值D以上说法都正确3.在switch(表达式)语句中,“表达式”的值必须是()A 整数值B 字符值C 布尔逻辑值D 整数或字符值4.下列关于for循环和while循环的说法中,正确的是()A while循环能实现的操作,for循环也能实现B while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C 两种循环任何时候都可以替换D 两种循环结构中必须都有循环体,循环体不能为空5. 下面的表达式中正确的是()A String s=”你好”;if(s==”你好”) System.out.println(true);B String s=”你好”;if(s!=”你好”) System.out.println(false);C String s=”你好”;if(s.equals(”你好”)) System.out.println(true);D String s=”你好”;if(equals(s,”你好”)) System.out.println(true);6.String str;System.out.println(str.length());以上语句的处理结果是()A 编译报错B 运行结果是nullC 运行结果为0D 随机值7. 执行String [ ] s=new String[10];代码后,下面结论正确的是()A s[10]为””B s[10]为nullC s[0]未定义D s.length为108.有关方法重载的正确说法是()A方法的名称一致,限定符不同B方法的名称一致,限定符相同C方法的名称一致,返回值不同D其他都一致,只有参数定义不同9.如果任何包中的子类都能访问超类中的成员,则使用的限定符是()A publicB privateC protectedD transient10.有关继承下面的说法正确的是()A 继承的主要目的是隐藏类的属性B 在Java中,一个类可以从多个类中继承属性和方法C 继承体现了事物的普遍性和特殊性D 继承允许子类继承父类中的构造器11.下面说法不正确的是()A Java中线程是抢占式的B Java中线程是分时式的C Java中的线程可以共享数据D Java中的线程可以共享代码12.下列关于Java线程的说法正确的是()A每一个Java线程由代码、一个真实的CPU以及数据3部分组成B创建线程的两种方法中,从Thead类中继承的创建方式可以防止出现多父类问题C Thead类属于java.util程序包D 以上说法都不正确13. 下面数据类型的定义中错误的是()。
A int a = 10;B double d = 1.2;C float f = 1.2;D char c = ‘A’;14. 类可以保护它的成员变量和成员函数不会被其他对象随意访问到,这一特性属于类的()。
A 封装性B 继承性C 多态性D 重载15. 以下关于字符串类的说法正确的是()。
A String类用于字符串变量,而StringBuffer类用于字符串常量B String类用于字符串常量,而StringBuffer类用于字符串变量C String类的对象只能用“new”关键字生成D StringBuffer字符串的容量是指字符串中字符的个数16. 在Java的异常处理语句中对finally的描述正确的是()。
A 不管是否发生异常,finally中的程序都要执行B 只有不发生异常时,finally中的程序才需要执行C 只有异常发生时,finally中的程序才需要执行D 不管是否发生异常,finally中的程序都不会执行17. 下面哪种注释能支持javadoc命令()。
A //B /*……*/C /**……*/D 都能支持18. 在Java中如果使正在运行的线程进入睡眠状态,可以调用线程的哪一个方法。
()A wait()B sleep()C stop()D notify()19. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B 可以被两种类访问和引用:该类本身、该类的所有子类C 只能被该类自身所访问和修改D 只能被同一个包中的类访问20. 下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的()。
A publicB privateC staticD final21. 给出一段程序,试判断哪个是正确的结果。
()public class Test{public static void main (String args[]){try{System.out.print(“Hello world ”);}finally{System.out.println(“Finally executing”);}}}A 无法编译运行,因为没有指定异常B 无法编译运行,因为没有catch子句C Hello worldD Hello world Finally executing22. Applet类中的直接父类是()A Component类B Container类C Frame类D Panel类23. jsp 有几个内置对象?()A 5个B 6个C 9个D 8个24. 在JAVA中,如何跳出当前的多重嵌套循环?()A breakB returnC forwardD finally25. 四种会话跟踪技术,哪个范围最大?()A pageB requestC sessionD application26. java中有几种方法可以实现一个线程?()A 1种B 2种C 3种D 4种27. 同步有几种实现方法()A 4种B 2种C 3种D 1种28. xml有哪些解析技术? ()A DOMB SAXC STAXD JDOM29. 下列说法正确的是()A 构造器Constructor可被继承B String类不可以继承C 判断两个对象值相同用“==”D char型变量中可以存贮一个中文汉字30. 下列关于集合的说法正确的是()A List 的具体实现包括 ArrayList 和 VectorB Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值C Set的元素是有序的D Hashtable 是线程安全的。
31. 下列关于线程说法正确的是()A 调用sleep不会释放对象锁。
B 调用wait方法导致本线程放弃对象锁C 当一个线程进入一个对象的一个synchronized方法后,其它线程不可进入此对象的其它方法D notify():唤醒全部处于等待状态的线程。
32 给定JSP程序源码如下,该JSP运行后输出的结果是()。
<html><%int Count=1;%>Count:<%=++Count%></html>A Count:1B Count:2C 1:2D Count:33. 在J2EE中的一个JSP文件中,有表达式<%=2+3%>,它将输出()A 2+3B 5C 23D 不会输出,因为表达式是错误的34. 在J2EE中,JSTL提供条件标签以支持JSP页面的各种条件,其中()类似于Java语言的switch语句。
()A <c:if>B <c:choose>C <c:when>D <c:forEach>35. 在进行Java Web开发时,假定一个变量保存在session中,要获得这个变量的值,可以使用以下()语句。
A application.getAttribute(“name”)B pageContext.getAttribute(“name”)C session.getAttribute(“name”)D config.getInitParameter(“name”)36. 关于视图的描述正确的是()A 视图是一种特殊的表,它存储了用户定制的数据。
B视图仅用于用户进行查询,不可以通过视图对数据进行修改。
C 在sql server中可以通过用T-sql语句来创建,也可以通过企业管理器。
D 创建视图只能操作本机器上的数据库表。
37. STRUTS框架中,()类在视图层和控制层之间传递HTML表单数据。
A ActionB ActionForwardC ActionFormD ActionServlet38. 以下关于SessionFactory的说法哪些正确?()A 对于每个数据库事务,应该创建一个SessionFactory对象B 一个SessionFactory对象对应一个数据库存储源。
C SessionFactory是重量级的对象,不应该随意创建。
如果系统中只有一个数据库存储源只需要创建一个。
D SessionFactory的load()方法用于加载持久化对象39. 关于AOP错误的()A AOP将散落在系统中的“方面”代码集中实现B AOP有助于提高系统可维护性C AOP已经表现出将要替代面向对象的趋势D AOP是一种设计模式,Spring提供了一种实现40. 依赖注入说法正确的( )A 依赖注入的目标是在代码之外管理程序组建间的依赖关系B 依赖注入即是“面向接口”的编程C 依赖注入是面向对象技术的替代品D依赖注入的使用会增大程序的规模41. 以下数据结构不属于线性结构的是()A 队列B 线性表C 二叉树D 栈42. 下列是文件读写的类是()A File ReaderB FileC FileWriterD InputStream43. 数据库技术中的“脏数据',是指()的数据。