|
|
华为java面试题
! y$ t$ Y& a6 l+ b" a! U8 m5 X) M0 E+ E2 V. [% p3 S
9 q! _ D" l/ l# D; s7 n
————
& x+ y I9 _3 b华为求职俱乐部:3 K. u1 `, t- c9 A# S* G7 x& G- N* M
http://bbs.aftjob.com/group-52-1.html9 U. P' s4 A' b5 n, f
2012阿凡提求职手册—华为篇:http://bbs.aftjob.com/thread-613733-1-1.html: B7 ^( l1 [& ^0 L
————
# Z* i( F+ `. s$ S _+ s华为java面试题 ; i; Z3 a/ W7 I3 Q
7 S# h2 `5 W' u! j" Q; M- g( `. gJAVA方面7 }5 M% {1 O4 u7 j
1 面向对象的特征有哪些方面 3 L* N8 T. m$ H
& f5 D% j6 ?3 H$ [2 D* Z7 b
2 String是最基本的数据类型吗?/ z" S6 Q% J$ j: W8 j- Y
?8 s6 M/ d2 o/ I6 D/ h
3 int 和 Integer 有什么区别
+ U3 M! y4 B+ {# D# U2 p* [% R. V7 u3 M3 ?' e8 p Z2 i
4 String 和StringBuffer的区别/ M. a( v+ ]8 s# Y& J8 w' Y7 _- P
; ]+ p! g! u; ?: y; k9 E W
5 运行时异常与一般异常有何异同?
, x7 p# f) b) E3 i: z' A异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。0 N; x& K4 B% q$ `6 Z9 H; J" i; @
0 ~1 F. y. o6 t9 t' v
6 说出一些常用的类,包,接口,请各举5个
% n# p3 E4 p7 D( ~$ e" t& |4 D, }" ~$ Z
7 说出ArrayList,Vector, LinkedList的存储性能和特性
/ c4 K; K* H- @" Y2 vArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。, l% o% m) `0 W; l9 i
/ ~! R9 \7 A1 ^5 a( u8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。& m( v' r7 S$ a
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 a4 T. p# a' Y( H1 F
public class ThreadTest1{
) d. H: ?' R9 j& u) C+ A4 _ private int j;1 S; I: C% a% i* }" T. c' Z
public static void main(String args[]){, {* w- ]; D; Z
ThreadTest1 tt=new ThreadTest1();
$ M) M0 C" H. b& v2 o Inc inc=tt.new Inc();( f6 E9 a( J( s
Dec dec=tt.new Dec();6 V8 b- R" {4 B. u
for(int i=0;i<2;i++){/ o! X3 D+ U1 T8 }, v$ h; k
Thread t=new Thread(inc);
2 B, C5 ^3 D) i$ j- `% | t.start();
7 { _( g) t) N. d; M- v t=new Thread(dec);% ~, v! Z3 F! L) T1 ~# |
t.start();- p- g( L, R$ t$ f% m
}* H! y% R9 W0 }. M! k5 d, X5 I
}$ z0 X) D ^8 V3 d
private synchronized void inc(){
$ w: \" F, b; @4 D j++;
! o9 t$ I. D& E' ~0 @, Q* m( k System.out.println(Thread.currentThread().getName()+"-inc:"+j);
9 j9 r2 W# n" Y/ g: n }
9 }" V# f0 j _3 n; R" ]: U- S private synchronized void dec(){$ d4 p% |; T2 Q4 q% M: e
j--;
7 E; n7 R+ i) | U3 e System.out.println(Thread.currentThread().getName()+"-dec:"+j);7 j3 A2 C6 V6 e, Z, w
}
2 P, {/ R! {$ y$ u 1 v I; d% o8 j& K3 ^2 V+ F
class Inc implements Runnable{
1 U' E+ x, k1 c public void run(){
: {% j0 r" _. [ for(int i=0;i<100;i++){# C+ q4 ?$ }" q5 q/ R
inc();! U; W8 l' u% [ `3 W7 G! I- T
}
" L: v1 G/ q" Y) o: A1 E5 C }
0 R! g7 n a q# I4 F& b; C }4 ~9 X H: R) n3 Z! ?5 ^* x( z
class Dec implements Runnable{
& H$ u$ J ?! c$ i, ]; T4 E public void run(){
- [1 N. c% b1 K# O/ v3 `. e* m( l for(int i=0;i<100;i++){
9 |4 _$ I2 W' r- o) G3 J dec();
" a1 b. Y, H! V% E! p }
+ O- z! u& B9 p5 Z- f }
6 I: W' O, E4 b: ^1 h$ x+ a }
+ m# |4 e" P, R- I- l/ J1 ]}- ~5 S& C# c6 ?& S6 D
+ ]1 `4 c4 C, N+ x" D
9.JSP的内置对象及方法。
4 ] Y: F1 e) \! J4 |0 h. v4 `: ]request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 4 v7 U- j4 y+ m9 ^
9 B; {# R9 b) Hresponse response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
+ v( t p8 O, F0 l5 B# Y2 I. t
9 N" ?5 Q" J; Q4 |3 b, n; ?' gout out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 5 ]; n+ g# s1 m/ V7 R7 i2 {. G( v
& k/ H5 z: ?* x
pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
! _9 l( `$ P1 U+ ]: r* a4 @% P2 S( q# m* h6 j0 Y9 B
session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
# J# y. Q' i4 e0 K, j5 ?, {5 P2 r( W# d- t1 T9 s+ I. q+ F
application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
+ ]7 E( ^8 ]$ o
0 D6 d7 J- A" u2 Bconfig config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 9 @3 y& `" R8 a& Q% v" Y
- D, ]+ {3 @! C3 [* t
page page表示从该页面产生的一个servlet实例0 D0 G% G; J8 X: c. }& `4 c+ c
10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。
; w, ^+ W, T) ^' ]+ ?! o, R1 c参见课程中socket通讯例子。
1 E/ \$ P7 i& K
- r( W: _8 \) t$ p. g- @11说出Servlet的生命周期,并说出Servlet和CGI的区别。- M& A' M5 P- e6 ^
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
8 a( T% ?8 A b' ]+ C8 j% N% ^$ l与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。! h9 ~; W7 h, |2 j' k' J; d
12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
+ F* f7 V1 z' ]
2 h8 n! V0 r' v# g6 }3 m13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?9 N6 M% j: w$ i4 A2 _# C
: N" t7 G: I7 |14.说出数据连接池的工作机制是什么?
- ?7 X" f4 r; _2 }, g4 ]2 j! e" O# s: q" n& M' C9 Q
15.同步和异步有和异同,在什么情况下分别使用他们?举例说明。. |! W4 W( ~* Y- F: Y$ b
: W1 V$ y& o2 ]6 O" `7 d: X- n: T16.应用服务器有那些?
& ?9 \( y. z; n k
" d9 {+ g: c, a1 W$ T- `) l7 |; n17你所知道的集合类都有哪些?主要方法?6 m% ?6 k8 i4 T) f
9 P+ ]# C: f# D' \7 F% |
18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。
0 L! _: q9 }( C* p/ P a) J; E( L( W0 r: T* s# }2 Z% k! t0 R/ v
19.说出在JSP页面里是怎么分页的?$ H) Y9 I8 \. k: T
页面需要保存以下参数:
- R1 S% h$ w; Y/ l总行数:根据sql语句得到总行数5 M0 ^6 o) O' @) n3 l% b
每页显示行数:设定值
7 B6 Q+ e" w! d当前页数:请求参数
- h7 j) E5 e* e; u页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。
8 \( X$ Y% m* `8 r' K& u0 R8 M------------------
) J8 x. h+ A2 @4 M% x数据库方面:4 d0 j6 j3 }/ a" h7 `( f- X
5 g0 y- w" L n; h P1.存储过程和函数的区别
: ?3 e5 g3 ]7 L T存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。9 O- x6 \2 q, @0 o/ l/ L% |
2.事务是什么?
3 J) ^! ~/ Y, H+ |( r事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:8 Z o0 |2 c! G0 y3 d
原子性7 l* ~0 {, S) K* }
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。, t+ O# k& t* V3 T( U( b2 ?2 u
一致性7 Q) |/ M! P2 {1 \1 R* e
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
- @2 Q0 Y& [* @, [隔离性1 S! [2 I% B$ s" _
由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。: P/ E4 ~' v- K+ a4 j
持久性
$ R* @6 Z' C& W1 \- [事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
4 c' _; \ v! b* K h2 B0 l! r# N' L8 p# Y7 O
3.游标的作用?如何知道游标已经到了最后?
+ O2 h5 _* `5 l- i3 l游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。
# ]+ r% Q4 x2 @3 H4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
9 R' A5 ^9 V, b# c* B事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
: x3 [% e% y5 Z# n0 c0 R语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
j4 F$ w }1 ^5 a9 e% }* ]; Z1 X F2 G% X9 M7 ]
=================================
% L# x& F1 b- L. L. c% N综合面试
2 \$ g6 |3 T3 l Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? & }: u# u5 b" `1 q
% P- G) ^. _$ q: c) b/ ]2 w1 k% A Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?
6 l' g6 |6 I5 h Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的? : p, K! A5 \# j3 E7 @
5 ?8 B9 l- W6 V2 r& k
Q4:请问C++的类和C里面的struct有什么区别?
( f2 t! Z- i, F) e
9 G" Q6 C4 c" T Q5:请讲一讲析构函数和虚函数的用法和作用?
" D, p5 ^$ K9 ^# V7 t
- ~) [. U" ~" X Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的
$ `$ i; X: k8 p, L3 i1 ^; [, H5 V Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。 ) U0 j% H. R& z! p
" l1 b7 T9 |$ t
Q8:8086是多少尉的系统?在数据总线上是怎么实现的?
3 t7 w$ O6 a* X1 ~& a6 C5 M6 {3 a, Z3 {5 J4 A5 ~, d* {! _( h
-----------------------------------------------------
' y- q8 k2 O, U3 x网络工程师:
) K m' l) N* Z8 J/ P; ]' _- N1 H.323协商。(笔试题)
( x1 {/ {5 D% }1 w. r/ E3 z1 P2 ipsec为什么是三层的。l2tp为什么是二层的?
# b6 M, V1 N, |% f5 R. s. U3 P3 ospf中包的ttl值是多少?4 `8 q) E! e( M2 S( q) i
4 OSPF为什么要划分区域?
6 E8 S1 w/ r" T5 MPLS VPN的标签一共有几层。内网的标签放在哪里。
9 X8 X1 F4 r2 O* n+ S* d7 c7 ]- _6 MPLS中RD和RT的作用分别是什么?
3 g1 |0 J, c7 w1 j9 v8 p8 u7 RR防止环路的机制。
3 k+ z: N! h# k. H3 D7 u. n& E8 BGP控制out-bound用local-pre,控制进来的用med.(笔试题)
6 ?7 Y3 I1 z( }+ o" ~1 v9 ospf是工作在哪个协议上的?
7 I4 p8 r- [; J10 ospf的LSA类型。7 o, `; I' w% g* B6 q
11 简述OSPF的基本工作机制。0 e. w* R# j }$ ?* x8 H j6 X
12 ppp的lcp和ncp协商过程。2 W' C# d# R6 j& D% o2 R+ n
13 笔试中还有一道PSTN的信令控制有哪三种?(笔试题)% d! X& c7 Z6 e% d/ X3 S% ]
14sloari 8.0查看进程的命令是什么?linux 7.3查看IP的命令是什么?(笔试题)
# E' m# h. d1 R& Q2 x' ?$ O15 IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少。(笔试题)
' w2 Z$ N$ p# w9 b7 @16 下列哪一项不属于于7号信令标准?
! \4 z: d$ K/ g1 d/ ?% c- J17 lx/???的有效距离是多少?
. B3 T0 w/ p! w- |1 j18 IP 包头几个字节?加上数据部分几个字节
5 ^8 X+ l% V/ K+ m# d7 e0 m; K' j19 QOS有一点点。" M) I) e, A0 K4 b2 U; D
20 CQ能不能有一种流量dominate第二种流量? (笔试题)8 }% m' g/ c8 r7 u: E& D- w
21 FTP下载一个文件完成。有几个TCP连接??(笔试题)7 {, K& D% A5 I: h" ?* C( M
+ _; ~. ~$ O- C+ d9 ]) G
7 @1 I- x, D4 e t3 o
————! ~- F0 M* }% r1 ?, W4 k
“2012行业求职交流QQ群”:
1 {. ]- b' X; [! ]% p) r, L& d' P/ v2 W0 G8 ^, g9 v
2012-金融求职交流QQ群 : 1103939517 C& G" T# ~) g9 h
2012-会计求职交流QQ群 : 7098899
8 L% r% o1 \5 M5 A l$ F7 L+ N+ \2012-IT求职交流QQ群 : 100761599- y5 l! p2 h" J0 `* |# V: D6 X$ ~1 s
2012-通信求职交流QQ群: 59622472. z) A2 Q3 {* R V. N& D5 D
2012-硬件求职交流QQ群 : 44853679( N# ~% P, B& Q% B+ @6 W
2012-证券求职交流QQ群 : 100756915
5 x& q4 r' X0 i; D; V9 R. u' {2012-快消求职交流QQ群 : 441836420 C3 \( K6 S' V6 M0 i* w
9 V4 U+ ?- K2 `+ A1 `加群说明:
( }5 m0 ^. b1 }# a1. 申请入群规则:学校简称 + 姓名' L/ k {" g% x" c* o y/ @$ f
2. 成员命名规则:学校简称 + 姓名
0 ~4 |! d/ y7 x- A3. 本群二周内不发言者,请自觉退群,谢谢合作!!! |
|