java软件工程师笔试题目(I) 规则: 1. 时间:40分钟 2. 个人独立完成,不能使用手机等上网上查询。如果被发现作弊,则零分。 3. 为了环保和节约纸张,请在答题卡上填写答案 一、不定项选择题(每题5分) Question 1 Given: 11. public class Test {
5 v, l- k: V( Q' \ T" L' j- Z4 G+ p12. public static void main(String [] args) { ! m3 }2 p2 Y0 t7 Z" g3 w4 [
13. int x =5;
6 f h$ n! {: z6 ?2 Q7 f14. boolean b1 = true; ' y2 j% q) R9 q' b
15. boolean b2 = false; + d' a6 I) j% @4 e' c/ _
17.if((x==4) && !b2)
/ u8 ]- k" g: J. v8 \18. System.out.print(”l “);
$ W# N$ C) `% O* x+ t' R6 j19. System.out.print(”2 “);
! H. c! C2 i! g3 q20. if ((b2 = true) && b1)
; ?% H% E; e* i; I: F" }" [5 E! z21. System.out.print(”3 “); % I3 J% r6 l% N$ P" l% n; O
22. } 3 r! ]2 k6 K' o# ?
23. } 4 i6 }# N! U2 z! i9 _
What is the result?
- M5 E& ~0 F! O( S0 ?- w4 `A. 2
# F) \# r, m% r5 c. @" SB. 3
' ~ T5 ]% p5 ?/ LC. 1 2
# G5 _/ u) O$ s/ g6 Z% tD. 2 3 4 d" e. J$ }5 ?
E. 1 2 3
- A$ m8 F3 s, A2 @# m6 CF. Compilation fails.
" @; r$ H, C2 k f k: nG. Au exceptional is thrown at runtime. Question 2 Assume that country is set for each class. Given: 10. public class Money {
5 ^& x# P6 W% i/ E% Q11. private String country, name; - {+ Y0 G: D! w! { |3 K
12. Public String getCountry() { return country; } & k, d2 v0 c3 a: [, k
13.} and: 24. class Yen extends Money { * I- ^$ L7 Z. C/ x
25. public String getCountry() { return super.country; }
* C) T8 E* A8 Z( W26. }
2 r- x, U1 D- }! a" v$ ^1 S27.
f( H' \" j! L7 j# X8 F6 i1 S28. class Euro extends Money {
$ ?4 J' I7 J+ R$ T8 |29. public String getCountry(String timeZone) { ~- Z+ [9 Y& }6 w7 L1 j
30. return super.getCountry(); . C, T/ e/ l+ C1 D8 J! q* A3 V
31. } 1 v$ j3 x; _6 K6 B8 ?9 E1 s2 c7 ^7 b7 f
32. } ! m4 |1 i' `& M, d6 b
Which two are correct? (Choose two.) A. Yen returns correct values.
; i9 n' d; \- y. o" ]' QB. Euro returns correct values. / K% \: ?& j4 t7 S; x7 \2 k
C. An exception is thrown at runtime. 8 [$ B, E" o( s1 n& n
D. Yen and Euro both return correct values. " O4 T2 X6 u. `
E. Compilation fails because of an error at line 25.
& G& U3 P( a W! @5 L* t+ cF. Compilation fails because of an error at line 30. Question 3 Given: 10. package com.billionsfinance.test;
$ h* y& ^: r3 D: l# t' {7 F2 i11. public class Geodetics {
1 E% L* m; X( N2 Q- P12. public static final double DIAMETER = 12756.32; // kilometers : b% V w- Q5 D
13. } - \/ b7 o& Y' p
Which two correctly access the DIAMETER member of the Geodetics class? (Choose two.) A. import com.billionsfinance.test.Geodetics;
! t6 E: b4 X9 ]. v+ a; P2 |public class TerraCarta { & i, U! q$ i. W2 @
public double halfway()
; I2 }( X! b$ }( y& c) h8 N; t6 l{ return Geodetics.DIAMETER/2.0; } } B. import static com.billionsfinance.test.Geodetics;
' M2 A m7 f# U7 s% [6 [6 \! Opublic class TerraCarta {
8 r% Q+ k7 K% o2 s: \3 kpublic double halfway() { return DIAMETER/2.0; } } C. import static com.billionsfinance.test.Geodetics. *; public class TerraCarta {
4 m* n$ Q# J, j; ^/ O4 z, i& R8 Zpublic double halfway() { return DIAMETER/2.0; } } D. package com.billionsfinance.test;
% k D+ ]' m# Xpublic class TerraCarta {
$ R' d7 m O7 X. apublic double halfway() { return DIAMETER/2.0; } } Question 4 Given: 1. class TestA { 2 L0 ]& u; N# G+ ]8 Y
2. public void start() { System.out.println(”TestA”); }
; B4 o: i4 u2 F1 i( c' I8 X3. } j3 R3 N" i2 m
4. public class TestB extends TestA {
' \& P c" F$ p* l5. public void start() { System.out.println(”TestB”); } ' c& J5 J" c7 }6 Y1 A0 D' W( O
6. public static void main(String[] args) { $ |# o" K/ B" P* }# E
7. ((TestA)new TestB()).start(); 3 ]. e2 ] K1 ^; ]4 m: m5 D
8. }
( u4 T, R1 h4 n$ J. H. I9. } ' f3 K/ |# \, N: \3 r( j+ z. Y+ h
What is the result? A. TestA
" Z0 o' c& f8 {$ v! |B. TestB 0 h4 S; o7 F$ P8 c3 G/ Z: e/ @' q
C. Compilation fails.
- ]9 [" }3 x! ?: RD. An exception is thrown at runtime. Question 5 Given: 11. public static void main(String[] args) {
: C+ Y/ b& D7 n! K3 s5 r+ t12. String str = “null’; $ ~0 r4 c% o1 z( \9 f3 F5 E
13. if (str == null) {
2 c: q2 K v1 a/ \1 P: U6 }1 F/ T14. System.out.println(”null”); ( w8 O. R! _% o+ P' f
15. } else (str.length() == 0) { 5 G2 ^4 x/ D& H) ~9 E6 K3 r5 v, C. d
16. System.out.println(”zero”); 1 Z* o& q! j* ~% U& J
17. } else { W3 f4 |* Q8 j( h
18. System.out.println(”some”);
& s. G7 D9 ]2 V19. } 5 ?6 _. M( T$ a7 \
20. } . X6 c/ I" L# z* n, \
‘What is the result? A. null
( O) m" N8 A: D4 w8 I$ A- jB. zero
' ^4 z8 @8 f# ^6 }C. some
8 A! [6 n( c/ O3 ~D. Compilation fails. 3 Q7 q F8 s' l( |% b# O
E. An exception is thrown at runtime. Question 6 Given: 33. try { : q$ V. T& o" ]! E+ ]0 N- I3 z
34. // some code here ; P* z% \" u/ R5 f
35. } catch (NullPointerException e1) { + J: {! @) W6 R5 x7 g
36. System.out.print(”a”);
( [3 y0 j* _) `6 ]" z% H37. } catch (RuntimeException e2) {
3 Q* k! p/ C. p- ~0 Q- Y5 a38. System.out.print(”b”);
# a* l; V* C0 |3 I% L' m( x z39. } finally { . v" N3 ~5 ~' O% T: p' X) d
40. System.out.print(”c”);
5 T# |+ C1 L# P41. }
3 n- C3 v' C) F5 L! N" wWhat is the result if a NullPointerException occurs on line 34?
8 Q+ r( E" [# H7 D7 \$ ZA. c 6 o( k: C3 }) ]$ k5 t: M- S- K* p) @
B. a 6 l' }- D4 S2 ]' N" M
C. ab 0 ~( c- m/ X: p
D. ac
1 O ?8 f. c- _' ^- p4 o/ `. ~0 S( AE. bc 0 Z; Z2 Y. c/ r3 H4 s
F. abc Question 7 Given: 1. public class TestString 1 {
& N/ m. u% U) }! z5 l! J2. public static void main(String[] args) { 7 T0 p! T3 y; X* w1 I0 n# M
3. String str = “420”; $ d* {' v8 M0 y+ C% B X
4. str += 42;
/ c& ^5 r0 l$ |2 I, f5. System.out.print(str); 6 J4 a" E# P! u* [- R7 [2 f
6. } # n- m$ p p. _
7. } z' f3 L) d, R; q
What is the output? A. 42 & Y+ ]9 y' U+ c. V
B. 420
, n2 y- I4 a2 A, BC. 462
. q+ N, f, @# S+ x7 AD. 42042 : _1 Q# ?" v9 a! p
E. Compilation fails.
6 j, W. M" H* A; EF. An exception is thrown at runtime. Question 8 Given this method in a class: 21. public String toString() {
/ x) h7 g1 {3 W4 p4 i0 b/ m9 Y4 p22. StringBuffer buffer = new StringBuffer();
1 H- w# {8 R. J* m5 F23. buffer.append(’<’); ' _# l+ X9 z( e7 s- v
24. buffer.append(this.name); 7 k# O, b5 t" ~# y# R; b# T# ]$ e
25. buffer.append(’>’); # o# M6 j' W9 M
26. return buffer.toString();
: M# B* w2 e# ^/ m0 ^' G27. } 6 f0 [$ f" I+ l
Which is true? A. This code is NOT thread-safe. 0 V9 p6 u+ p7 [1 ?) I# m7 d
B. The programmer can replace StringBuffer with StringBuilder with no
/ u1 x2 d' C0 B q4 Oother changes.
8 A0 v# }# @, L0 P7 ?& d' UC. This code will perform well and converting the code to use - P# [0 o2 `! h2 K- ? v1 v& v L
StringBuilder will not enhance the performance. : t3 `9 i& r# _* j6 g. ^, z! X" Z
D. This code will perform poorly. For better performance, the code : l8 H U) [0 M# ^1 O
should be rewritten: return “<“+ this.name + “>”; Question 9 哪个语句不会建立隐式事务? A.INSERT B.UPDATE C.DELETE D.SELECT FOR UPDATE E.以上语句都会建立隐式事务 Question 10 EMP表不是分区表和索引化表,执行以下语句,哪两个说法是正确的? ALTER TABLE emp DROP COLUMN first_name; ; l& C7 }4 h# D, Y4 \
$ y8 Z: c- j" h+ ^) `5 F" aA. FIRST_NAME列将被删除,如果该列不包含数据; 1 y% P! H/ B. {8 t5 h
B. FIRST_NAME列将被删除,如果它不是表中仅有的列; C. 如果以上SQL语句加上SET UNUSED子句,FIRST_NAME列可以被回滚; D. 如果以上SQL语句加上CASCADE子句,FIRST_NAME列可以被删除,即使它是主码列。 Question 11 关于子查询以下哪两种说法是正确的? A. 外层查询返回结果之后,执行内层查询 B. 先执行子查询,再执行外层查询 C. 对于子查询返回的结果,外层查询只执行一次 D. 外层查询返回的每行结果都与内层查询结果进行比较 Question 12 你需要把NEW_CUST表中的新客户信息导入CUST和CUST_SPECIAL表,如果客户 信誉度大于10000,需要导入CUST_SPECIAL表,所有新客户信息都要导入CUST表,使用哪种技术可以尽快完成导入? A.外部表 B. MERGE 命令 C.INSERT多表插入命令 D.带有 WITH CHECK OPTION子句的INSERT命令 Question 13 分数表scores设计如下: courseID(课程编号) studentID(学生编号) score(分数) 另有一个学生信息表student,包含studentID,sname(学生姓名)。 已知并非所有学生都参加了courseID为0001的考试,现在查询所有参加0001号课程考试及格学生的学生姓名,下面正确的是()。A A. select sname from student where studentID in (select studentID from scores where courseID = 0001 and score>=60) B. select sname from student where studentID = (select studentID from scores where courseID = 0001 and score>=60) C. select sname from student where studentID not in (select studentID from scores where courseID = 0001 and score<=60) D. select sname from student where studentID exists (select studentID from scores where courseID = 0001 and score>=60) Question 14 要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 Question 15 “不要和陌生人说话” 是( )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 Question 16 对象适配器模式是( )原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 二、简答题(每题5分) 1、AOP和IOC的概念以及在spring中是如何应用的。 2、简单描述hibernate持久化对象三种状态转换关系。 3、spring的事务有几种方式?并描述spring事务的隔离级别和传播行为。 4、简要阐述struts2的执行流程。 三、设计题 某时装邮购提供商拟开发订单处理系统,用于处理客户通过电话、传真、邮件或Web 站点所下订单。其主要功能如下: (1)增加客户记录。将新客户信息添加到客户文件,并分配一个客户号以备后续使用。 (2)查询商品信息。接收客户提交商品信息请求,从商品文件中查询商品的价格和可订购数量等商品信息,返回给客户。 (3)增加订单记录。根据客户的订购请求及该客户记录的相关信息,产生订单并添加到订单文件中。 (4)产生配货单。根据订单记录产生配货单,并将配货单发送给仓库进行备货;备好货后,发送备货就绪通知。如果现货不足,则需向供应商订货。 (5)准备发货单。从订单文件中获取订单记录,从客户文件中获取客户记录,并产生发货单。 (6)发货。当收到仓库发送的备货就绪通知后,根据发货单给客户发货;产生装运单并发送给客户。 (7)创建客户账单。根据订单文件中的订单记录和客户文件中的客户记录,产生并发送客户账单,同时更新商品文件中的商品数量和订单文件中的订单状态。 (8)产生应收账户。根据客户记录和订单文件中的订单信息,产生并发送给财务部门应收账户报表。 现采用结构化方法对订单处理系统进行分析与设计,完成以下两问题: 【问题 1】画出业务数据流程图 【问题 2】分析数据模型,画出相关ER图 - { L! n1 R4 o4 b0 M
|