|
|
华为java面试题
/ m+ h5 @9 ]; W G& |0 P6 v0 |# y$ R1 t/ `* g/ ^3 h3 a
8 c) a; ^# q9 ]( w
————4 M$ d& _+ ~8 ?7 P2 y
华为求职俱乐部:
" t: t# e# V8 I$ x; m% x3 U% Phttp://bbs.aftjob.com/group-52-1.html% d+ L* Z( \8 s: ~+ _" p w5 D4 N9 {2 |
2012阿凡提求职手册—华为篇:http://bbs.aftjob.com/thread-613733-1-1.html
. ?5 M/ W( z. S7 W5 l: g2 {1 N————; z6 F' K& B4 X5 `6 i7 L! g
华为java面试题
! {5 X9 z/ g- a- m* t& V# X) W( B, V9 B3 k7 @& o5 r
JAVA方面3 z& |% G8 [. H9 u: I
1 面向对象的特征有哪些方面 4 _3 V' u; y3 T5 F- O, {
- X; ^! \6 }( ]. B1 J2 String是最基本的数据类型吗?
; ?7 L" Z! `9 o: J, A9 z, f7 [ a" o, H9 X& _% f
3 int 和 Integer 有什么区别( K3 `/ Y9 x& x( u
4 s. D1 g% o6 F; D4 String 和StringBuffer的区别! ]& S; Q6 N5 H6 h {: p/ Z
9 Q' W8 w/ Q7 [+ ]2 ~5 运行时异常与一般异常有何异同?2 P& k. Q n6 u4 a3 D
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。2 L9 e6 M. J% b* Y0 _8 z7 S: r
* r: \1 [+ p* A( \6 E& t
6 说出一些常用的类,包,接口,请各举5个
# N. ?: q9 [" m; v- n& W3 F# w) h
- y2 \* b: h2 j; h7 说出ArrayList,Vector, LinkedList的存储性能和特性1 z4 W* W3 h0 e/ \5 n: B
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
; Q( ~3 H J9 ?; L
4 C! f, \& A4 s5 a8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。$ q5 b$ [: y# H& Q' K' N
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。8 {: C8 S" H7 T) ~9 C b
public class ThreadTest1{2 |& @" G+ Y/ T( X1 ~/ J' r5 k
private int j;
- `0 ]" S) m+ M! E& P1 a public static void main(String args[]){
) H* X% b: [0 f: i* @ ThreadTest1 tt=new ThreadTest1();) q) @1 M7 [9 Y8 O
Inc inc=tt.new Inc();
j9 _* \* ]! w Dec dec=tt.new Dec();
: N1 e- Z$ C. ]: N for(int i=0;i<2;i++){& f8 i! E7 D& j9 y
Thread t=new Thread(inc);
- X1 K: w+ O, }$ T5 W1 ? t.start();- A- H5 [+ [8 _9 F( h. p! t5 w5 T
t=new Thread(dec);
4 o! r: P' Z( J5 L X t.start();3 e9 u% E) Z9 b& z; d
}& g8 d ]5 S9 O! o
}8 q: j* H- C4 a! F
private synchronized void inc(){
8 _. k, ^6 C6 k" g& ~ j++;- t" x: j, Q0 t, g6 G1 Z: J0 O! S! D
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
/ G% o5 h' P; x }
4 i' ~3 e5 T* t6 o1 m' Y1 g private synchronized void dec(){- O' q9 {, B W
j--;9 ]3 \- Y, K* w8 ?4 u6 I0 F& `
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
. N/ `) N' g8 Q! @+ H* Q }* O5 A, _3 G; }: f7 K
" A- \, w! f: m class Inc implements Runnable{
1 |& e9 H+ i3 I5 s% J$ ]% v- o" N public void run(){
- _6 U! \/ | @# h! T9 w- u for(int i=0;i<100;i++){$ Q' @ n1 n2 |
inc();
, ?2 _. s* m! g! P) b" | }% V0 A( [5 B2 L8 e/ y
}0 O `! p+ F( w7 O1 e
}
) q2 p& u9 ?5 [% U6 x) F class Dec implements Runnable{8 X) M, A" D+ k. V
public void run(){ l6 N/ |8 m( }, \$ M
for(int i=0;i<100;i++){
' X, x- [$ Z: L% _3 k* [8 v0 Q dec();
" A0 ^ } |1 Y& x" ~& Q }
2 J" y" q1 f8 K+ c0 i: E2 v- g. v8 l }
% J; X% a% ^3 { r }
8 ^" E5 p9 p3 B8 A. p F}: _' q y2 O# A$ g$ v% o; F! M
3 i% I' q. d# M) R8 B9.JSP的内置对象及方法。/ k; F. z0 Y' n) k# i# d2 K
request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
$ V6 V4 I N& }" m4 z9 a* K" L0 q
: a/ v( T( G8 H1 m, z6 A5 [/ rresponse response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
3 X1 w- H! C6 C& J2 H! S& g; ^0 p G
2 g/ m7 ^* Q) ]% Z# V3 Yout out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
2 Q9 D# L! h: m/ e& s" F, i; f
" T: t9 A9 s3 S" y4 w: K+ BpageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
2 M8 u9 s* i$ E
6 T4 s2 f: p$ z$ p& Ssession session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
8 R2 L2 r# b( b! e( y3 q0 a( }" ]
" Y8 l- _. w: E" kapplication applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
% D7 O2 i: h3 ~4 N/ F: d: k2 X0 [6 z( H6 W
config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 2 r7 X; a, j5 E* ~- l8 \, n
+ t: a: k4 a2 m; {) s$ x
page page表示从该页面产生的一个servlet实例$ b* k7 M; ^1 M- `
10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。% H' Y4 a/ v O
参见课程中socket通讯例子。8 O8 f3 p9 ?% R# J
5 \* M, f V S2 L# {' w6 p11说出Servlet的生命周期,并说出Servlet和CGI的区别。
0 q$ K+ B! [7 R5 }7 R/ FServlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。8 V# d- R- ]% q; x5 @& u
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。% M5 d2 h* D0 @; ?0 F {2 X; \
12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。: n0 i; d* W. ]( p' {
% X& M: `* z. E% R
13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
7 g6 L& o& j; U& V. n3 B0 b& A; z/ O, a P2 T9 r
14.说出数据连接池的工作机制是什么?
% e2 m' D& N" p& R, m' y) l% D
# Z8 e$ I( ~0 P+ r15.同步和异步有和异同,在什么情况下分别使用他们?举例说明。
0 Q# y1 f& {0 H$ h
' ~& A7 Y! ]% Z% G$ E) U1 {$ p16.应用服务器有那些?, \) \. ]" Z6 g( c, C4 K
7 r9 z. h8 `. q7 q. S
17你所知道的集合类都有哪些?主要方法?) [& _$ A0 q5 m
& \! I0 ~" M5 V) a* _6 P18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。
( l- p2 V: D/ o) f4 k; ~
. g, h+ N# B4 }! z5 E19.说出在JSP页面里是怎么分页的?
; q1 R+ n1 N$ i- x页面需要保存以下参数:2 k$ D9 `% i6 l2 N
总行数:根据sql语句得到总行数+ m& d1 e9 e" n- g3 ?' w+ A2 G
每页显示行数:设定值
( b' ?9 R- g/ f6 s% [5 T$ l当前页数:请求参数6 h% [& X8 k. \. F! i
页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。
1 L6 r' ~2 l' i! Y, N! v5 v( N------------------* r8 K% G( q* ]3 _6 r2 r
数据库方面:
5 F) A3 p! I+ w7 ?
H- J3 [6 Y/ V4 j+ `) ?4 ]1.存储过程和函数的区别/ p# [9 k# G% ~, L) A9 T
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。
& X* { _. K* p# ?* v2.事务是什么?5 B, d. a$ h% e" U
事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:4 I$ C( S& k' r2 \8 F M% d
原子性% E" b. N. |& W, B& C. k7 t/ C
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
2 T* b2 f/ X8 H$ o一致性! O4 N a& A; Y3 k
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
) [' V# X5 i! c, C8 n隔离性
" J9 t8 K1 B7 d/ I+ m% s. @由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
$ Z X4 k; b& r持久性
3 ^' o/ }, l) Q; Y5 Y z事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
& M" u1 w( V/ X" x# h3 L8 P
* J* X8 P( E' K+ \8 m- L A- ~3.游标的作用?如何知道游标已经到了最后?! k4 p6 `& G5 G
游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。
9 J" C% j) u; M7 |2 v4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。. t6 I5 ^5 P: {5 E6 n3 p4 D
事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
0 Y. L/ |/ o' l: f7 Y语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。2 `$ i4 I0 f G2 [
8 [2 s0 \( T& `4 o0 n
=================================" D) _5 p. v. S1 T4 j9 V3 s
综合面试
% Z4 _; k, v" ^ q Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? 7 y; R" W' ?' @: G7 W6 p" Y: `6 c
6 x; N* l1 \+ ~9 }$ _+ d' t" F5 j7 m, h
Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢? * o; D- d% ^7 D- N+ N% C& f6 x7 `
Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
% Z/ _* E) s6 v# r1 B, s) ^1 y" |1 n/ h
Q4:请问C++的类和C里面的struct有什么区别?
& s7 K6 f6 E: O2 \+ d) u7 q
5 j% _5 N* L" Z: z8 c Q5:请讲一讲析构函数和虚函数的用法和作用?
5 K' j3 b- j8 {$ M
3 z6 T9 d* \: x) N z6 P Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的
; p1 h( \/ ^9 \3 q5 F; _! ~" {0 T Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。 3 }! P# J* K/ P+ [2 S
& ]% j9 w$ D; v |' B: k
Q8:8086是多少尉的系统?在数据总线上是怎么实现的?
; v5 p* n- O2 a9 Q+ r: Q. s5 O% Y9 I/ C3 u& k. _
-----------------------------------------------------
. A7 K- S6 F' \' N网络工程师:
, ]+ e" k* S3 ? N& _- L9 A' H- F1 H.323协商。(笔试题)$ {4 Y' }2 l0 ^! m6 \
2 ipsec为什么是三层的。l2tp为什么是二层的?
. K' w2 g+ l8 K i3 ospf中包的ttl值是多少?
$ v4 T( y: I8 V$ @4 OSPF为什么要划分区域?9 X* W5 z x9 |4 c9 c. N8 l
5 MPLS VPN的标签一共有几层。内网的标签放在哪里。
- q7 ^$ C z, n/ P6 MPLS中RD和RT的作用分别是什么?
0 {5 o9 v7 n8 {7 RR防止环路的机制。' j8 S: i7 n6 j; c4 e2 d6 l' u& P
8 BGP控制out-bound用local-pre,控制进来的用med.(笔试题)$ ?1 T! r, l @2 ?
9 ospf是工作在哪个协议上的?
& B) f4 p0 Q8 T4 _* L, Y8 U10 ospf的LSA类型。* |, W% l, P# i3 V" ^7 q
11 简述OSPF的基本工作机制。" t1 y7 j$ j% a& `
12 ppp的lcp和ncp协商过程。
' N2 Z* x) `" G2 Z13 笔试中还有一道PSTN的信令控制有哪三种?(笔试题)7 h+ i" N& n0 [6 c8 @
14sloari 8.0查看进程的命令是什么?linux 7.3查看IP的命令是什么?(笔试题)
4 s- h9 g/ }' o- \15 IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少。(笔试题)8 P+ Y0 U0 c) D& V
16 下列哪一项不属于于7号信令标准?
* H7 B; r0 Q1 A( t e |17 lx/???的有效距离是多少?
6 U- |! l# Z" T' `1 Y18 IP 包头几个字节?加上数据部分几个字节
/ N/ ?# j* T7 M19 QOS有一点点。4 _+ N3 f. F% D8 ~6 C% t$ L
20 CQ能不能有一种流量dominate第二种流量? (笔试题)
9 ^5 a0 `; c+ Y$ t6 E7 W21 FTP下载一个文件完成。有几个TCP连接??(笔试题)
1 ]4 Z. x: P9 I- a- H0 E1 o+ I, Y- f
3 \6 @# J" C! `& F: T: [
————
) ~; J+ S h: A$ C0 i' b“2012行业求职交流QQ群”:9 o/ y8 T9 r2 e: b) y/ I
4 t9 n" p1 }" E; F6 s' }2012-金融求职交流QQ群 : 110393951! X' Y' w" M4 c# y8 u
2012-会计求职交流QQ群 : 7098899
" I+ J9 q1 A. D% ^2012-IT求职交流QQ群 : 100761599
5 t; }1 c- i1 K9 _' ]- ~2012-通信求职交流QQ群: 59622472, a# M5 n; ~: a4 e# N% T1 D
2012-硬件求职交流QQ群 : 44853679
8 [: i3 B7 ~2 E* D, x% Q2012-证券求职交流QQ群 : 1007569153 `" c2 K$ [! \8 S+ j
2012-快消求职交流QQ群 : 441836429 A3 J# I4 A: Y5 U
o/ _% w1 n4 M! Y {4 n
加群说明:/ n+ c' r3 d% D% I
1. 申请入群规则:学校简称 + 姓名. @# w8 @# x9 T+ B: i3 s
2. 成员命名规则:学校简称 + 姓名0 Z* s# }3 n* K* r, O1 x+ Z
3. 本群二周内不发言者,请自觉退群,谢谢合作!!! |
|