软件开发工程师JAVA笔试题.docx
- 文档编号:4160217
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:16
- 大小:22.33KB
软件开发工程师JAVA笔试题.docx
《软件开发工程师JAVA笔试题.docx》由会员分享,可在线阅读,更多相关《软件开发工程师JAVA笔试题.docx(16页珍藏版)》请在冰点文库上搜索。
软件开发工程师JAVA笔试题
软件开发工程师(JAVA)笔试题
请在120分钟以内做答
一、选择题
1、下面哪项是不合法的标识符:
()
A.$persons B.TwoUsers C.*point D._endline E.final
2、下列运算符合法的是()
A.&& B.<> C.if D.:
=
3、下面描述中哪两项相等:
()[选择两项]
A. <%=YoshiBean.size%>
B. <%=YoshiBean.getSize()%>
C. <%=YoshiBean.getProperty(“size”)%>
D. getPropertyid=”YoshiBean”param=”size”/> E. getPropertyname=”YoshiBean”param=”size”/> F. getPropertyid=”YoshiBean”property=”size”/> G. getPropertyname=”YoshiBean”property=”size”/> 4、设floatx=1,y=2,z=3,则表达式y+=z--/++x的值是: () A.3.5 B.3 C.4 D.5 5、下面的哪些叙述为真: () A. equals()方法判定引用值是否指向同一对象 B. ==操作符判定两个不同的对象的内容和类型是否一致 C. equal()方法只有在两个对象的内容一致时返回true D. 类File重写方法equals()在两个不同的对象的内容和类型一致时返回true 6、如果一个对象仅仅声明实现了cloneable接口,但是不声明clone方法,外部能够调用其clone方法吗? () A.能 B.不能 C.不确定 7、下列说法错误的有() A.能被java.exe成功运行的javaclass文件必须有main()方法 B.J2SDK就是JavaAPI C.Appletviewer.exe可利用jar选项运行.jar文件 D.能被Appletviewer成功运行的javaclass文件必须有main()方法 8、下列正确的有() A.callbyvalue不会改变实际参数的数值 B.callbyreference能改变实际参数的参考地址 C.callbyreference不能改变实际参数的参考地址 D.callbyreference能改变实际参数的内容 9、下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 10、不能用来修饰interface的有() A.private B.public C.protected D.static 11、关于Float,下列说法正确的是 A.Float是一个类 B.Float在java.lang包中 C.Floata=1.0是正确的赋值方法 D.Floata=newFloat(1.0)是正确的赋值方法 12、下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 13、下列说法错误的有() A.在类方法中可用this来调用本类的类方法 B.在类方法中调用本类的类方法时可直接调用 C.在类方法中只能调用本类中的类方法 D.在类方法中绝对不能调用实例方法 14、下面说法哪些是正确的? A.Applet可以访问本地文件 B.对static方法的调用不需要类实例 C.socket类在java.lang中 D.127.0.0.1地址代表本机 15、类Test1、Test2定义如下: 1. publicclassTest1{ 2. publicfloataMethod(floata,floatb)throws 3. IOException{} 4. } 5. publicclassTest2extendsTest1{ 6. //Line6 7. } 将以下()方法插入行6是不合法的。 A. floataMethod(floata,floatb){} B. publicintaMethod(inta,intb)throwsException{} C. publicfloataMethod(floatP,floatq){} D. publicintaMethod(inta,intb)throwsIOException{} 16、关于以下程序段,正确的说法是: () 1.Strings1=“abc”+“def”; 2.Strings2=newString(s1); 3.if(s1.equals(s2)) 4.System.out.println(“.equals()succeeded”); 5.if(s1==s2) 6.System.out.println(“==succeeded”); A.行4与行6都将执行 B.行4执行,行6不执行 C.行6执行,行4不执行 D.行4、行6都不执行 17、下面程序的执行结果为: () 1. publicclassTest{ 2. staticBooleanfoo(charc){ 3. System.out.println(c); 4. returntrue; 5. } 6. publicstaticvoidmain(String[]args){ 7. inti=0; 8. for(foo(‘A’);foo(‘B’)&&(i<2);foo(‘C’)){ 9. i++; 10. foo(‘D’); 11. } 12. } 13. } A.ABDCBDCB B.ABCDABCD C.Compilationfails C.Anexceptionisthrownatruntime 18、阅读下面的程序 1. publicclassOuter{ 2. publicvoidsomeOuterMethod(){ 3. //Line3 4. } 5. publicclassInner(){} 6. publicstaticvoidmain(String[]args){ 7. Outero=newOuter(); 8. //Line8 9. } 10. } WhichinstantiatesisaninstanceofInner? () A.newInner();//Atline3 B.newInner();//Atline8 C.newo.Inner();//Atline8 C.newOuter.inner();//Atline8 19、选出能正确赋值的: publicclassTestA{ privateinta; publicintchange(intm){ returnm; } } publicclassTestBextendTestA{ publicintb; publicstaticvoidmain(){ TestA aa=newTestA(); TestB bb=newTestB(); intk; //Line13 } } 在Line13处可以正确赋值的有: () A. k=m; B.k=b; C.k=aa.a; D.k=bb.change(30); E.k=bb.a 20、已知如下代码: switch(m) { case0: System.out.println("Condition0"); case1: System.out.println("Condition1"); case2: System.out.println("Condition2"); case3: System.out.println("Condition3");break; default: System.out.println("OtherCondition"); } 当m的值为什么时输出"Condition2"? () A.0 B.1 C.2 D.3 E.4 F.None 21、给出程序段 publicclassParent { publicintaddValue(inta,intb) { ints; s=a+b; returns; } } classChildextendsParent{} 可以加在Child类的方法有: () A.intaddValue(inta,intb){} B.publicvoidaddValue(inta,intb){} C.publicintaddValue(inta){} D.publicintaddValue(inta,intb){} 22、下述哪些说法是正确的? () A.实例变量是类的成员变量 B.实例变量是用static关键字声明的 C.方法变量在方法执行时创建 D.方法变量在使用之前必须初始化 23、对于下列代码: publicclassSample{ longlength; publicSample(longl){length=l;} publicstaticvoidmain(Stringarg[]){ Samples1,s2,s3; s1=newSample(21L); s2=newSample(21L); s3=s2; longm=21L; } } 下列哪些表达式返回值为'true'? () A.s1==s2; B.s2==s3; C.m==s1; D.s1.equals(m) 24、哪个类可用于处理Unicode? A.InputStreamReader B.BufferedReader C.Writer D.PipedInputStream 25、已知如下说明: TextAreata=newTextArea("Hello",5,5); 请问哪个语句是正确的? () A.Themaximumnumberofcharactersinalineis5. B.Thedisplayedheightis5linesotherwiseconstrain. C.Thedisplayedstringcanusemultiplefonts. D.Thedisplayedstringsareeditable. 26、当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪个layout? ( ) A.FlowLayout B.CardLayout C.NorthandSouthofBorderLayout D.EastandWestofBorderLayout E.GridLayout 27、已知如下的命令执行 javaMyTestabc 请问哪个语句是正确的? () A.args[0]="MyTestabc" B.args[0]="MyTest" C.args[0]="a" D.args[1]="b" 28、下面哪个语句是创建数组的正确语句? () A.floatf[][]=newfloat[6][6]; B.float[]f[]=newfloat[6][6]; C.floatf[][]=newfloat[][6]; D.float[][]f=newfloat[6][6]; E.float[][]f=newfloat[6][]; 29、下面叙述那些是正确的? () A: java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。 但需要事先知道所存储对象的类型,才能正常使用。 B: 在java中,我们可以用违例(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要更大的系统开销。 C: java接口包含函数声明和变量声明。 D: java中,子类不可以访问父类的私有成员和受保护的成员。 30、以下关于数据库范式的描述,哪些是错误的() A.如果把多个数据项用一个大的String表示为一个字段,则不满足第一范式 B.满足数据库范式使得数据库的效率更高 C.如果满足更高的范式,则必须首先满足低级别的范式 D.数据库第二范式要求把表中与所有键没有直接关系的数据全部拆分到其他表中 31、在Hibernate中, () A.none B.save C.delete D.save-update 32、以下程序代码对Customer的name属性修改了两次: tx=session.beginTransaction(); Customercustomer=(Customer)session.load(Customer.class,newLong (1)); customer.setName("Jack"); customer.setName("Mike"); mit(); 执行以上程序,Hibernate需要向数据库提交几条update语句? () A.0 B.1 C.2 D.3 33、假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况? () Sessionsession=sessionFactory.openSession(); tx=session.beginTransaction(); Customercustomer=(Customer)session.get(Customer.class,newLong (1)); mit(); session.close(); IteratororderIterator=customer.getOrders().iterator(); A.编译出错 B.编译通过,并正常运行 C.编译通过,但运行时抛出异常 34、设栈最大长度为3,入栈序列为1,2,3,4,5,6,则不可能得出栈序列是() A. 1,2,3,4,5,6 B. 2,1,3,4,5,6 C. 3,4,2,1,5,6 D. 4,3,2,1,5,6 35、在UML方法中,使用多种类型的图形来帮助进行设计,请问一下那些图形不是UML的图形类型() A.类图 B.实体关系图 C.序列图 D.活动图 二、问答题 1、阅读下面的代码 interface Playable { void play(); } interface Bounceable { void play(); } interface Rollable extends Playable, Bounceable { Ball ball = new Ball("PingPang"); } class Ball implements Rollable { private String name; public String getName() { return name; } public Ball(String name) { this.name = name; } public void play() { ball = new Ball("Football"); System.out.println(ball.getName()); } } 上面代码是否有错,如果有错,错误在何处? 2、详细解释下面的语句: Class.class.getClass() Class与class都继承自Object,class实体来代表java运行时的class和interface等等, Class.class就是得到或者生成这个Class类的ClassObject; 而.getClass()本就是返回一个类对应的Class Object, 所以Class.class.getClass()最后还是返回Class Object 3、解释一下什么是MVC,IOC,AOP,ORM,JNDI,,Hibernate,SSO、Portal? 4、什么是EJB? EJB和JAVABEAN有何区别? 5、现有Mysql数据库,写Spring+Hibernate的配置文件 数据IP: 127.0.0.1 数据库: bdtc 用户名: root 密码: mysql 6、请简要描述一下J2EE应用中的classloader的层次结构? 7、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,应该输出为“我ABC”而不是“我ABC+汉的半个”。 classSplitString{ privateStringstr="";//字符串 privateintcopyNum=0;//要复制的字节数 privateStringarrStr[];//存放将字符串拆分成的字符数组 privateintcutNum=0;//已截取的字节数 privateintcc=0;//str中的中文字符数 publicSplitString(Stringstr,intcopyNum){ this.str=str; this.copyNum=copyNum; } publicStringCopyStr(){ arrStr=str.split("");//将传的字符串拆分为字符数组 str="";//清空,用于存放已截取的字符 for(inti=0;i if(arrStr[i].getBytes().length==1){//非汉字 cutNum=cutNum+1; str=str+arrStr[i]; }elseif(arrStr[i].getBytes().length==2){//汉字 cc=cc+1; cutNum=cutNum+2; str=str+arrStr[i]; } if(cutNum>=copyNum)break;//已截取的字符数大于或等于要截取的字符数 } if(cutNum>copyNum){//已截取的字符数大于要截取的字符数 returnstr.substring(0,copyNum-cc); }else{ returnstr; } } publicstaticvoidmain(Stringargs[]){ SplitStringcp=newSplitString("as论者afs为什么",9); System.out.println(cp.CopyStr()); } } 8、XML的解析技术有哪些? 区别是什么? 你在项目中用到了xml技术的哪些方面? 如何实现的? DOM,SAX,STAX等 DOM: 处理大型文件时其性能下降的非常厉害。 这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问 SAX: 不现于DOM,SAX是事件驱动型的XML解析方式。 它顺序读取XML文件,不需要一次全部装载整个文件。 当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问STAX: StreamingAP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 工程师 JAVA 笔试