|
|
华为java面试题 ! z, k8 ^! {) s* W
! y% K- C: G1 A- J+ i8 ~2 @2 l% s0 j6 ~
————
9 h0 p, `7 [8 r$ `6 X华为求职俱乐部:! g: ]% m( g% |% e0 A
http://bbs.aftjob.com/group-52-1.html) i5 P# m: e5 C" Q
2012阿凡提求职手册—华为篇:http://bbs.aftjob.com/thread-613733-1-1.html
5 ~' Z) }1 g3 K8 l$ g6 E————4 ]8 ~+ \* _9 P l; }
华为java面试题 1 {& J0 I% P" ? F/ x; o/ u j. K8 c
; ?% c- O# K, b
JAVA方面' d e. d: m5 s% u# g# H$ O
1 面向对象的特征有哪些方面
7 j1 ?5 k: O8 M$ n& |3 N5 y' D6 @ N% b9 \2 V
2 String是最基本的数据类型吗?
2 t* C1 F* d# b8 a7 V% k
8 Q3 T; T0 L, E2 J3 int 和 Integer 有什么区别
1 ^& e$ C8 P! I% x
# h5 G7 D9 G& S3 |5 ^2 S4 String 和StringBuffer的区别
3 W S* M+ W; ]* y) N- C4 u" ]5 `
! h" J* s3 x" V- @. s0 o5 运行时异常与一般异常有何异同?1 h7 s+ H0 p; \
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。3 [* `0 v; Z6 S
% P* d; O2 K2 D6 E
6 说出一些常用的类,包,接口,请各举5个# m3 C. v0 l! }& M
3 h1 r1 D7 D o
7 说出ArrayList,Vector, LinkedList的存储性能和特性
4 L4 j- v, O3 ~+ Q) L. @$ TArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
2 `6 U/ o7 N$ |; Q, N. v* C3 s$ `9 ?' O. z: Q/ S+ W! j
8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。" `* R! }$ F& `0 C# v
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。5 A, l( R' n" F
public class ThreadTest1{ X" E D: `5 W" l# g1 \
private int j;
9 N. o' Q; Z% g* X$ E/ _/ \% _4 ]/ ^ public static void main(String args[]){+ r1 D! ^+ w5 X$ \* r: a- l) B
ThreadTest1 tt=new ThreadTest1();# y! F& l: T* r1 I: l/ j# R* D
Inc inc=tt.new Inc();0 p" @) H+ R# G! [
Dec dec=tt.new Dec();
) F& U0 _: y. s3 l for(int i=0;i<2;i++){
/ t0 Y/ U. w9 L7 J6 O Thread t=new Thread(inc);
& B& D4 b5 T$ q% y1 [/ v r t.start();2 j) e5 J/ X& r1 w1 D( S) |' e
t=new Thread(dec); E( d) [$ y8 ]% T) Q1 r
t.start();
; @) | `) ~0 X+ R! O" r% Y }
: j/ ~! i8 _' _' L* z }& u( K7 D! N% P- }% `
private synchronized void inc(){
* w$ x* H; g' m. Z( f. r j++;
& U* h1 b" h) R. k4 s, t System.out.println(Thread.currentThread().getName()+"-inc:"+j);
! p" t( x" W4 \% C6 S }3 ^' F: ]; ^: @5 D+ X( u
private synchronized void dec(){
) T" q; j- N, P& w# K. a# w j--;- r) |8 q' W$ H5 `
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
$ j& K6 j! V7 L# \0 n+ U }
4 f, N& {. W9 v+ \
' f& C. ?$ \5 q+ v: m5 s5 I class Inc implements Runnable{6 U! O. @2 N3 Y# a* w; l
public void run(){4 }! ~' p# S! ~
for(int i=0;i<100;i++){3 i" O+ I/ ~# ]
inc();
7 p6 Q3 e2 _- Q7 Z# p$ i6 r }; N. M: E! \6 k3 i& n! W
}# _) w3 d; F E$ j5 Z8 B& Z
}; o& [( g+ T- q; w% Z) D
class Dec implements Runnable{& a2 W5 K. }' r a% v5 c5 u
public void run(){
+ R) ~6 ^6 A* r3 x' Y3 q for(int i=0;i<100;i++){- s4 U5 F6 C4 l9 n: X# {
dec();
/ ]. ^* ~: m% s: g9 K+ o }* e0 n2 ?. G! }* |
}
8 ~$ y0 Q9 T/ R2 W }
l1 F- u- j, l" M7 R( w" ?}
% s# R8 _, F$ a& P$ R$ \4 |# j+ l7 o
- `$ j' z5 h5 H: j+ z- y" m6 _9.JSP的内置对象及方法。
. H0 p, f8 [, A% W" Erequest request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 # l; {( [" D2 [% E; |( C' _2 X3 w, h
o& a* j( m0 b4 V+ P$ @8 ~' p
response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等) ) @4 v8 ?0 w1 r0 u; s" @
# L' T7 A8 V) P7 M* gout out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
d4 t7 c- f. Y6 H. D" v2 y: j3 g
pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 ) L0 i/ Z2 g" c/ N. E8 u' g3 B, J4 F
+ u* q& X! a4 q& t# z5 Jsession session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 E6 A$ Q1 |; n
4 K+ i: V5 s0 r1 C: W! ~
application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
- z! c% D% R K# o* E! L
( t& U! F" ~) r4 |! c. I2 Uconfig config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
" P" U9 A+ ~0 ~7 {# Q; P7 v
/ L: G, |; f( H# S9 ]2 A) opage page表示从该页面产生的一个servlet实例7 _! t, G# }# G
10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。
# L( U7 E3 M1 O# P2 V参见课程中socket通讯例子。5 q, y1 Y7 [, g3 A4 D5 a2 r
2 a. H( @9 t% l3 K5 i5 a- Q C
11说出Servlet的生命周期,并说出Servlet和CGI的区别。: G, H b+ G+ I7 i/ ?% n
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
4 r& P% u9 I0 F% ^/ F% s与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。$ j( C2 n/ P3 k. f0 S% |% g
12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
w9 x3 V! _: t, N. Y0 D8 r
+ |' |3 _; o9 b h13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?/ U2 S/ D" G7 _9 i" j
) V: B$ L& R( K. E/ b. _: ~14.说出数据连接池的工作机制是什么?
* D) [# d! m% L* o: r% d5 a; J+ |
3 R0 {4 I1 V: f. S) q15.同步和异步有和异同,在什么情况下分别使用他们?举例说明。
/ B$ b( Y' K& L) [! ]* `( \: t. r9 G8 P; T. d, n
16.应用服务器有那些?
; V' p5 ~1 d s; B% b5 A, p" w8 v' w" S
17你所知道的集合类都有哪些?主要方法?
) W* N7 E2 v; d: e. ^* J- n% l/ j" E+ j
2 {% B' \5 S8 H9 H ^18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。
, e# o" W8 T) K! c& L# o3 }; d
5 X2 A: L7 p' b3 w19.说出在JSP页面里是怎么分页的?1 O: Z$ t, u) X# r; v, e
页面需要保存以下参数:
9 t* _9 V9 c- o$ b总行数:根据sql语句得到总行数
! k \' e! J2 c/ ]5 B: F每页显示行数:设定值
/ L* R3 D1 i0 [4 A" |1 S, i( |当前页数:请求参数. d, I+ _' z+ ?$ ]
页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。. `+ ^1 E1 E: p i2 n) K3 X
------------------0 _; b8 R2 \* F; Q8 z6 S
数据库方面:
% T- Z- o8 Q+ S: M9 c/ b+ B5 h' M6 O
1.存储过程和函数的区别1 L# K5 Y4 v- T7 G4 o' a
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。
( T, s/ F# }+ W/ W4 f" c7 B {2.事务是什么?, L. w8 }9 S6 f0 w" V
事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:1 [; I, }' ]$ b! _6 D' y9 {( F! j
原子性
t; I; f- p. L7 W事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。9 \) @. D' Q# k1 M. q+ H
一致性' t1 }. T' X' S1 f4 h
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。0 `$ Z+ q) p7 Y; m+ g
隔离性
8 x' A1 o( n: E% u, S( d由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。% V6 q9 s- ?, a
持久性8 v/ I" \8 F l, T$ T% ~( _) _
事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
* G- k3 w! R. t# D; ]! u# s2 ~0 M2 b; f- O! x% g
3.游标的作用?如何知道游标已经到了最后?- t) D/ z& |3 i3 u) \
游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。
0 s" I. D' T3 \0 S! G/ ]2 W4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。+ u& {, n& c, D# f
事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。: r: [8 ] O0 v, ]8 r
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
8 p m; e; Y# B7 ~0 l! Q
h. K t. @" z0 Y) {6 K- L3 ^=================================
% f, C' r/ Y: z2 w. B6 j综合面试; {# w: p' z( ?. Y
Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? " }9 t7 \3 \* ]! E' E. A! g
" g5 j1 r3 c& ~3 S: { Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?
8 |1 E) x( r2 T$ F3 b Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的? 2 k# L5 m- |4 [7 n) Q( @% O3 b4 u
% l# o$ x4 i- D2 S9 Y% \3 w1 s# |8 h
Q4:请问C++的类和C里面的struct有什么区别? & t4 b$ f; o% ~1 ~, F. Q2 ~
8 R8 V. v/ |7 v' S+ X6 j' B
Q5:请讲一讲析构函数和虚函数的用法和作用? . K1 n. k8 o/ i: p. [
, ?6 E) P, a# U+ n- d
Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的 ) y! N. \2 y: V d+ N* X2 g
Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。 2 q0 \' Z/ x. R& J/ [1 B+ p9 Y
' s2 d) g' @' t& E+ u
Q8:8086是多少尉的系统?在数据总线上是怎么实现的? % _/ Z) Z6 [) H( C1 d$ ~# y
. E9 M( Z: Z4 c' l
-----------------------------------------------------
% ?9 U& K+ V! @' f网络工程师:* g: @- j7 q) d
1 H.323协商。(笔试题)0 F8 X7 h- |# Z0 B3 h% N
2 ipsec为什么是三层的。l2tp为什么是二层的?1 L5 y' k* }1 ?: m0 t
3 ospf中包的ttl值是多少?0 B$ S& ?3 z, D; n! D
4 OSPF为什么要划分区域?
! W" f- q; D, l! r9 t' M5 MPLS VPN的标签一共有几层。内网的标签放在哪里。
& S! q7 G! q, j3 [8 P6 MPLS中RD和RT的作用分别是什么?; z8 B3 z3 {9 Y& a
7 RR防止环路的机制。
* O* i: F+ v! p' d2 }) X& U8 BGP控制out-bound用local-pre,控制进来的用med.(笔试题)
2 k1 _$ A# k3 @) C9 ospf是工作在哪个协议上的?
9 O0 }5 h1 [1 o2 s5 b+ v% v" x( V! M10 ospf的LSA类型。
! _. C0 a( O! h5 q. `11 简述OSPF的基本工作机制。5 R8 b) i S O" E& o9 i
12 ppp的lcp和ncp协商过程。
% L. l [' Z! c5 j8 X13 笔试中还有一道PSTN的信令控制有哪三种?(笔试题)3 j5 Z. n4 N" U# k a
14sloari 8.0查看进程的命令是什么?linux 7.3查看IP的命令是什么?(笔试题)
& [" C' I: G' c0 C; U) I15 IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少。(笔试题)
* i( O+ W/ ?8 O16 下列哪一项不属于于7号信令标准?
7 k# o; H9 r* a5 l$ }% B17 lx/???的有效距离是多少?7 p b8 t7 J! M- a* S2 z
18 IP 包头几个字节?加上数据部分几个字节
" _3 y. S. O; @. v2 M8 I19 QOS有一点点。8 ?# B0 w0 K6 v3 t( u [, s3 B2 G
20 CQ能不能有一种流量dominate第二种流量? (笔试题)9 Q- B' \( `9 b
21 FTP下载一个文件完成。有几个TCP连接??(笔试题)
# ~: a5 J5 S# W5 g5 ~
2 U$ S7 j' M; K0 a% t+ ?7 r u* Q: R$ e, s( K" H* x- _" f
————- f# _) L j0 i$ J* ]
“2012行业求职交流QQ群”:1 U; k( U6 s8 N! [) l. }" Z
) }$ q5 N! [. \5 A2012-金融求职交流QQ群 : 110393951
w! w1 K! Y7 R! a+ F4 }6 L3 h2012-会计求职交流QQ群 : 7098899
$ y3 F9 @5 x9 F) J2012-IT求职交流QQ群 : 100761599' \9 d; g9 Y; \. c' a; W; H# Z
2012-通信求职交流QQ群: 596224728 W) w7 u7 P9 E% Z0 F% J% Y( W
2012-硬件求职交流QQ群 : 44853679
2 D, s: Q4 E8 r2012-证券求职交流QQ群 : 100756915/ g& Y4 I* y L9 P2 h
2012-快消求职交流QQ群 : 44183642! ]7 v" }9 n) u' Z2 D& ]( ?% M+ y* Z
: X- b$ w9 `) j1 R" h0 Y+ y$ @5 ]
加群说明:
* r5 ~& B6 ]5 F8 v1. 申请入群规则:学校简称 + 姓名* U, ]2 G& l3 L9 Q t# q# ~8 Q
2. 成员命名规则:学校简称 + 姓名8 F" q4 @' _* u# z
3. 本群二周内不发言者,请自觉退群,谢谢合作!!! |
|