java软件工程师笔试题目(I) 规则: 1. 时间:40分钟 2. 个人独立完成,不能使用手机等上网上查询。如果被发现作弊,则零分。 3. 为了环保和节约纸张,请在答题卡上填写答案 一、不定项选择题(每题5分) Question 1 Given: 11. public class Test {
* L' c7 E3 W9 Y12. public static void main(String [] args) {
2 F9 ~+ R8 Z+ e$ Z3 A( S1 H13. int x =5; . `0 c7 W9 |2 B, }! V
14. boolean b1 = true; - I J, V F: G6 O; M$ Y) a
15. boolean b2 = false; $ B# Q! S3 ^" R- [# Y
17.if((x==4) && !b2) & a$ |9 X' U; `' C! S' e
18. System.out.print(”l “);
; t% i# u7 W% h7 ^7 M& a; {0 J g. g19. System.out.print(”2 “);
- t( o2 Z6 @8 |- m7 `: S1 F20. if ((b2 = true) && b1) * l# O# a, U& \& m: m) _
21. System.out.print(”3 “); : E# V: s* @' w, }( W5 n
22. } / u: i* y1 Z, X3 ^# ]& x
23. } / U: `" @7 u4 m( c9 g0 p
What is the result?
) \3 S+ q* g- Z, q. L2 A0 IA. 2 7 V* V# N% w, }8 g" _
B. 3
" O8 D0 N4 `+ J3 B1 L7 k- b9 |1 tC. 1 2 ) ^, e' D+ v) @8 D% q
D. 2 3
$ M8 m D2 I) W& z# n" O: _E. 1 2 3 7 }$ B" ?- S% ^ q
F. Compilation fails.
0 b4 @& b z: a8 F6 t: CG. Au exceptional is thrown at runtime. Question 2 Assume that country is set for each class. Given: 10. public class Money {
3 v; u/ P/ L4 q+ A11. private String country, name;
* |* s& R( n$ l* @0 o9 W8 } S12. Public String getCountry() { return country; }
* P4 W2 ?; t& l& t13.} and: 24. class Yen extends Money { 3 S- o9 ^0 L* }6 Q' U/ }; ^
25. public String getCountry() { return super.country; } Z5 D( I5 n& ^" @0 U) D
26. } u8 v9 m( [! @
27. $ i8 O) @( h1 j( B; Q
28. class Euro extends Money { ; H l# k, G2 w% f2 d& j
29. public String getCountry(String timeZone) {
3 @9 s; q4 y" B- _& [- N6 I30. return super.getCountry();
; y) s1 ?! s; m7 {31. } " m( X4 @* e; I- V
32. }
5 t9 _8 F% v* GWhich two are correct? (Choose two.) A. Yen returns correct values. 9 n4 M7 [6 w+ K8 I" m' `
B. Euro returns correct values.
" U# W9 a) W, X& P) i+ g0 b3 [C. An exception is thrown at runtime.
; Q# V, T5 I# P2 w9 _% pD. Yen and Euro both return correct values. 3 M% f; B( {3 F; v' H
E. Compilation fails because of an error at line 25.
+ e* }9 W6 M% LF. Compilation fails because of an error at line 30. Question 3 Given: 10. package com.billionsfinance.test;
5 O" R' A* r; _; E11. public class Geodetics { ' r/ M+ R* y% q" b! ~, w
12. public static final double DIAMETER = 12756.32; // kilometers : Z1 v! K1 m9 H
13. }
; z0 z( _( x; u6 g1 AWhich two correctly access the DIAMETER member of the Geodetics class? (Choose two.) A. import com.billionsfinance.test.Geodetics;
/ J8 m7 W5 Q% Q, [+ \7 M6 Y6 Kpublic class TerraCarta {
( q; W1 ?5 L8 C* e5 i+ P8 \public double halfway() - v- t7 I7 b) p* d% S
{ return Geodetics.DIAMETER/2.0; } } B. import static com.billionsfinance.test.Geodetics; 0 B: v: T% c; K* n U7 \
public class TerraCarta { 3 N& w; h, r% ?* J' v+ y8 g# X
public double halfway() { return DIAMETER/2.0; } } C. import static com.billionsfinance.test.Geodetics. *; public class TerraCarta { * t% M. L; |8 t N; w
public double halfway() { return DIAMETER/2.0; } } D. package com.billionsfinance.test; : U, z/ r' z/ V
public class TerraCarta { 8 b) \' _. X4 T: N0 S& Y; V
public double halfway() { return DIAMETER/2.0; } } Question 4 Given: 1. class TestA { . N) [3 s f" M
2. public void start() { System.out.println(”TestA”); } 4 C8 X* W1 j. A- _
3. }
; x- F, ~8 y6 ^1 X* C N4. public class TestB extends TestA {
- `/ T0 L r D! K3 `8 m5. public void start() { System.out.println(”TestB”); }
; s! N: X& |. n# C0 D" W6. public static void main(String[] args) {
- n7 o! Z, n s9 S( _0 u7. ((TestA)new TestB()).start();
; p5 {. b8 T9 w; u; t0 J! `$ u) j8. } 9 E. w F/ P- |4 \! @1 U$ f" e: N
9. }
) a: x4 t, N+ E7 ]1 C4 p4 SWhat is the result? A. TestA - w- t1 Z8 Z y8 B4 z) x
B. TestB 6 M; k2 m7 [$ `
C. Compilation fails.
: q# d6 v: k: p( }& Z. Y1 XD. An exception is thrown at runtime. Question 5 Given: 11. public static void main(String[] args) {
7 R% H2 [. N% d% j* f12. String str = “null’; 7 o( X: v4 `/ U n! |
13. if (str == null) {
, @; f8 C9 B: W% x14. System.out.println(”null”);
+ t5 b" {2 P' ]1 N" \8 I$ w4 S+ d15. } else (str.length() == 0) {
0 V4 B) e& E8 v7 t1 l16. System.out.println(”zero”); 5 G0 v' o8 h/ e) l( h) r
17. } else {
! e! F5 r* q: g$ B+ b3 b3 w18. System.out.println(”some”);
; S' F" b$ J( }3 S2 v2 E! Z19. }
0 L9 Z$ c2 g9 l# F3 }20. } % V1 _% g$ \, H
‘What is the result? A. null / I/ d q4 |3 U& [
B. zero
" D' ]% ]; Y) \2 D1 |) @+ VC. some
& f# T" ^' h# }9 a- Z% QD. Compilation fails.
# v, v, d# X( h8 H3 c+ {% N" ~E. An exception is thrown at runtime. Question 6 Given: 33. try {
8 ~% @/ T/ J& O! i5 x34. // some code here
6 U. b! Q$ v' M# o, X$ @/ \0 Z2 C35. } catch (NullPointerException e1) { 7 w2 O4 E4 ~( x# Y" U7 k
36. System.out.print(”a”);
' S- [( \+ ?4 i: C9 g* g; Z/ q37. } catch (RuntimeException e2) {
3 r1 P* B" G. Y, g$ z! _+ T38. System.out.print(”b”); $ C% T; m r* l3 Z; J% S
39. } finally {
3 g& I, x+ x8 f2 z40. System.out.print(”c”); ) z4 l. |$ r& ?8 C
41. } ; F; [! O, o' L, E5 \# G! Z
What is the result if a NullPointerException occurs on line 34? 4 d4 J# O7 X5 ^! L$ n7 _
A. c 0 e" @" `/ v/ T6 z8 b9 ~) t: g/ |
B. a
0 p L4 z! Y0 q% ]$ DC. ab 0 p* Q4 { z5 t
D. ac , e% @) D% ]& p; `# Q# Q
E. bc
6 H9 t; W, f/ ~8 iF. abc Question 7 Given: 1. public class TestString 1 {
% N/ s7 m' K. Y& T2. public static void main(String[] args) {
# v5 r, ^/ p+ @5 h+ d4 U3. String str = “420”; : _) X" N' i: o
4. str += 42; 2 D& B J5 |" h" Q( G: Z
5. System.out.print(str); 8 @- z( t& W' ~6 E
6. } 3 w f9 e9 U' Q+ ^; z7 L6 f
7. } 1 m% L/ I, q2 {5 q; Y
What is the output? A. 42
- V9 E" f- z2 Y/ }* T* S6 {B. 420
) B5 O& c, [( w% UC. 462 & }/ ^3 I9 e) N% E x
D. 42042 - A6 Q4 o6 x$ l: D% H- G
E. Compilation fails.
- D4 y8 p0 w+ _3 A: M* r5 RF. An exception is thrown at runtime. Question 8 Given this method in a class: 21. public String toString() { 7 z) ~0 W5 R/ T1 o5 H1 w& M6 o) P
22. StringBuffer buffer = new StringBuffer();
0 j4 k5 c6 t3 f23. buffer.append(’<’); r8 ~* l. {. N2 [; {* S
24. buffer.append(this.name);
2 {/ k$ } z \1 W2 k0 h% W25. buffer.append(’>’); 7 x9 x5 l% V3 S! e
26. return buffer.toString();
4 Z3 b( O C/ J% H27. }
4 Y ^7 q+ R6 C. _$ ZWhich is true? A. This code is NOT thread-safe. 6 ^* t' F" T+ _' G1 S% j
B. The programmer can replace StringBuffer with StringBuilder with no
: A; j% J% t' aother changes.
2 ~3 Z7 W. W0 L+ B( ` c; mC. This code will perform well and converting the code to use
) z/ M( ^# w" ~StringBuilder will not enhance the performance.
+ u' X6 m" n, YD. This code will perform poorly. For better performance, the code + H* s7 f1 j3 `1 v
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; ( s% l; j! R' i+ X0 j! K
& n. q0 |1 O* h* P! g vA. FIRST_NAME列将被删除,如果该列不包含数据;
1 `2 t6 B! z x+ a WB. 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图 : e" O* _0 o6 b$ m/ E0 U' j. I
|