java软件工程师笔试题目(I) 规则: 1. 时间:40分钟 2. 个人独立完成,不能使用手机等上网上查询。如果被发现作弊,则零分。 3. 为了环保和节约纸张,请在答题卡上填写答案 一、不定项选择题(每题5分) Question 1 Given: 11. public class Test {
9 Y5 {' T, s. j* f12. public static void main(String [] args) { ' o* L+ }6 e, k
13. int x =5;
3 S; N. l0 [% S% e6 E+ U14. boolean b1 = true;
3 H% ?) q" i8 h/ N0 D* N+ }8 \15. boolean b2 = false;
- x6 F# ~% z3 z17.if((x==4) && !b2)
! |; A4 X y5 Y5 _' a, k18. System.out.print(”l “);
+ A, \7 F. h( t' G19. System.out.print(”2 “); 0 G8 P( s7 E- q6 p! v- i, y8 o
20. if ((b2 = true) && b1) : j. X7 A5 }1 r4 r6 |
21. System.out.print(”3 “);
+ \7 B5 m/ R6 z3 b( h22. }
6 v1 g2 \! o; n3 k9 ?. b$ a$ v3 u23. }
8 Y' `: Y: Q3 \+ Y6 W5 J4 vWhat is the result?
6 x7 j" T) y8 j8 _) t. [' D4 CA. 2 1 e& F! q$ d! U" `- z. Z5 F0 n7 O
B. 3 ! x8 x; ? y3 ?' M+ r0 v/ |. K+ }( B
C. 1 2
# j, p" Y) _+ R% S m7 u! f3 YD. 2 3 4 s. p! P/ W4 n6 S4 `
E. 1 2 3
, W; N7 j0 ~8 J2 S3 u& yF. Compilation fails. , Z8 ~' c5 u! w2 |$ t6 P
G. Au exceptional is thrown at runtime. Question 2 Assume that country is set for each class. Given: 10. public class Money {
0 l5 x$ E2 M6 Q4 B K4 A& g7 t11. private String country, name;
Y" U C3 j9 a/ v" |& ?12. Public String getCountry() { return country; }
: K/ Q4 M# F1 s; \' r2 S3 A13.} and: 24. class Yen extends Money {
2 W2 u6 ^8 K/ J! w25. public String getCountry() { return super.country; }
. U- h+ I, C. Z: }. m7 i2 N26. }
( Q4 f8 h' Y8 F% s! H27.
" W) H2 V: m7 g& W# {28. class Euro extends Money {
! X* |. k2 d* I+ n4 l29. public String getCountry(String timeZone) {
: Z+ P& n/ P& y9 [/ f$ t/ t, D30. return super.getCountry(); ( l/ V9 t5 b7 O3 o9 E. A5 o
31. } / C3 N9 j; n! Y# E8 z6 i% }
32. } , ^/ D% g7 M, C9 m/ y. @; [) Q0 `
Which two are correct? (Choose two.) A. Yen returns correct values. 8 _& L% R+ ?# K
B. Euro returns correct values.
, K1 j3 k" ^9 g! _C. An exception is thrown at runtime.
8 t* J. A$ K1 W1 KD. Yen and Euro both return correct values.
8 q Y6 j W+ A, g' R8 f+ LE. Compilation fails because of an error at line 25. 4 y4 C8 R" Y( ~" Q* F' F
F. Compilation fails because of an error at line 30. Question 3 Given: 10. package com.billionsfinance.test; 9 I% R0 m% |1 o( B. G) C
11. public class Geodetics {
8 l6 L8 H2 n2 x: ~ l12. public static final double DIAMETER = 12756.32; // kilometers
: b* M! I4 {3 i9 E! U9 T( J13. }
7 V2 z2 C! O1 F" C) S1 {Which two correctly access the DIAMETER member of the Geodetics class? (Choose two.) A. import com.billionsfinance.test.Geodetics; 7 V8 p8 m" u& F
public class TerraCarta { ) Z- B1 [( Y% N; W, i
public double halfway()
% ?6 s9 c6 Y5 ?- f$ k& g{ return Geodetics.DIAMETER/2.0; } } B. import static com.billionsfinance.test.Geodetics;
" m8 n: Z9 [3 n/ Npublic class TerraCarta {
2 i+ p* S) ^1 m W8 [, O, tpublic double halfway() { return DIAMETER/2.0; } } C. import static com.billionsfinance.test.Geodetics. *; public class TerraCarta { W: q8 S9 {0 u
public double halfway() { return DIAMETER/2.0; } } D. package com.billionsfinance.test; , X; Z! O% b8 u& M
public class TerraCarta { : P6 [8 K# _- W; S, p4 E, b
public double halfway() { return DIAMETER/2.0; } } Question 4 Given: 1. class TestA { 5 N/ g9 x4 m3 d- E! \2 O" V) N
2. public void start() { System.out.println(”TestA”); } [. p7 g% D1 z" S
3. }
; U# \9 D& w# P+ `6 ~; ~4. public class TestB extends TestA { , W& u. m3 P1 m- Y. h) w
5. public void start() { System.out.println(”TestB”); }
! x- }% L) D" s1 @6. public static void main(String[] args) {
2 v3 W7 \& n& K. d7. ((TestA)new TestB()).start();
# `& Z- L: R+ @) a8. } ! |; E- q! `: u) |5 j, m4 h1 c
9. } . c2 [. b* p" }* s
What is the result? A. TestA
, B1 d" c) K' u% O2 V. lB. TestB
% Y4 A/ l3 ]+ ?" W! d: s% AC. Compilation fails. + s' o9 [# l$ I/ k& |, Z; I
D. An exception is thrown at runtime. Question 5 Given: 11. public static void main(String[] args) {
( m$ \! s( D r( y12. String str = “null’;
: N4 g/ O5 s& H% n0 R1 V13. if (str == null) {
% Y- U* R# ?3 Z14. System.out.println(”null”); $ z; B3 q% F5 |& F
15. } else (str.length() == 0) { ' k& E, F, a+ h3 }9 q
16. System.out.println(”zero”);
0 k6 B1 V+ r& M L3 U/ V) ^; d17. } else {
& Q E! v* I+ p& w$ }# ?3 j18. System.out.println(”some”);
7 @5 D' r5 t+ y2 @: @2 W t19. } ; {. ?" y/ m; r* G5 u+ W
20. } " F* P' `( n( c. t* U3 ]( E" k
‘What is the result? A. null , z% X$ [1 |& Z1 ^# G
B. zero
) c9 X' p2 P% `3 h8 [- `; p" S' d1 s& QC. some
* Y9 f5 u" [, `* i& O8 Q/ R- ]4 M: lD. Compilation fails.
0 h4 P E6 C( G* V# q% @E. An exception is thrown at runtime. Question 6 Given: 33. try {
2 O( o' ]' k8 K5 m34. // some code here
$ g+ r. ~- K. s8 t Y35. } catch (NullPointerException e1) { $ |1 @9 W+ M O
36. System.out.print(”a”);
" ?+ c( d4 R% l0 Z2 j37. } catch (RuntimeException e2) { 1 B& z7 b2 F) s) c! w$ z" v
38. System.out.print(”b”); 4 G1 {# c, k# S. ?
39. } finally { # ^( V0 H( j$ p. [' R/ E4 V5 d5 B
40. System.out.print(”c”);
R3 i% D5 i8 L! f& W" P; o41. }
9 ~5 y9 c1 ^/ eWhat is the result if a NullPointerException occurs on line 34? ! x, z6 `/ Z! U- R" [* s2 G! Y/ [1 v
A. c
u% |8 R- d+ H {0 o1 RB. a : I* a: D- m( y" f0 t
C. ab 3 X& [( D2 ]8 `$ O5 z1 _) n Z
D. ac
6 v; b) | P; `4 R- \- I5 J! LE. bc . k$ e y. l' v; z; u
F. abc Question 7 Given: 1. public class TestString 1 { : \( e% C- O% g$ D( N; \
2. public static void main(String[] args) {
- U' H( R3 b P3. String str = “420”; & f s, d* M; K
4. str += 42;
! ?7 k" s. F5 C* ]5. System.out.print(str);
" E6 `5 V7 \1 M1 b" K/ D6. } % o/ _& c: _ p, T
7. }
0 f$ i8 p p1 {% t- lWhat is the output? A. 42
2 \# ]5 x, m1 ]; \0 EB. 420 & h% x4 q8 h0 U6 B7 m& ?
C. 462 + x6 ^& a% g& ^
D. 42042
2 ?: j; d7 d8 q5 D5 g! EE. Compilation fails.
o) \) [9 O6 dF. An exception is thrown at runtime. Question 8 Given this method in a class: 21. public String toString() {
( h/ @2 H4 @9 i* n5 o8 S# b22. StringBuffer buffer = new StringBuffer(); Y" F0 v* E' K* L j
23. buffer.append(’<’);
- E* c2 B% u1 w" }! @% C. J24. buffer.append(this.name); % d. y2 U6 K# j! k9 x7 M+ G5 E
25. buffer.append(’>’); 1 u5 z# s; {' Y& o
26. return buffer.toString();
2 S6 Y z6 W* f. |3 ?27. } 5 b- R3 ~ c# H* w* i$ f2 S+ _# `0 r0 s
Which is true? A. This code is NOT thread-safe. $ T! f! t( q; A1 p5 ?, }; g) M. b
B. The programmer can replace StringBuffer with StringBuilder with no
8 \1 N7 ^3 c* u3 i7 iother changes. 1 n) ?: w" i2 c: ]
C. This code will perform well and converting the code to use
8 r- L( @/ i4 K4 ^- e" A: V" iStringBuilder will not enhance the performance.
# N; H* D5 o- N5 w8 hD. This code will perform poorly. For better performance, the code
# g3 t" z* \% u% Fshould 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; 9 M! D& S- H7 k5 H+ F, F2 T
5 x U/ V: e6 u9 w3 MA. FIRST_NAME列将被删除,如果该列不包含数据;
. B: c: C$ {( T# ]. H/ T. i) ^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图 * A8 W8 o' o& U( ?
|