|
|
华为java面试题
?7 X- ?9 K5 \4 w1 G
! M+ P& t! p: W( T( f( h$ b: ^9 B7 A: U M2 r
————
8 \! r* n. c$ i4 Y, e7 ^9 I% P华为求职俱乐部:% d$ L# n* D7 ]5 q* Q/ j1 |9 B
http://bbs.aftjob.com/group-52-1.html( u1 g3 W% N7 g/ r; P3 [
2012阿凡提求职手册—华为篇:http://bbs.aftjob.com/thread-613733-1-1.html. V+ t; i2 G8 W: t, S6 L( H1 j1 B
————
, S- U, U; Y3 N4 A4 @. b% J华为java面试题
/ e. ~3 o. J9 ~$ t$ h8 x0 Z: q( m* }: |# |$ t
JAVA方面
7 w2 o" X: u6 y1 面向对象的特征有哪些方面
: |7 X1 j* O( a, p8 n. k* X( p/ A+ C1 a, N
2 String是最基本的数据类型吗?2 _. P% r+ ]7 Z8 X
; T z/ v# w: \2 i3 int 和 Integer 有什么区别
0 L) j( W8 A5 @" `2 |# b
0 \5 o& M% ]4 N" F. a. A2 k4 String 和StringBuffer的区别4 @/ D1 w0 s( m1 r
' H3 _ P8 ?& y* Z( P K9 M# I: I% c
5 运行时异常与一般异常有何异同?
/ s L. W1 F6 v$ R% G2 X异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
* H! H. M" g& [* L4 D/ k' h9 m- @
+ b v& V1 v o6 说出一些常用的类,包,接口,请各举5个
3 K0 ?1 E9 @2 o9 L, K3 W% U$ Q& O$ d- e4 h; `* `* D
7 说出ArrayList,Vector, LinkedList的存储性能和特性( F( w8 b0 v+ o& G
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
, }3 Z# V9 A7 g) {) Z/ ]( V; j& K& |% o2 ]$ x& l% H2 t
8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。7 _2 T% \: ~( J' ]! h/ z
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
* _! U- e; U# D( A; ?6 W rpublic class ThreadTest1{1 s9 `7 ? A( e2 L. F, {
private int j;
7 k) g+ N }2 |- M+ ^- V& _ public static void main(String args[]){* O: P: p4 h6 Y
ThreadTest1 tt=new ThreadTest1();1 d6 R/ F2 q$ A
Inc inc=tt.new Inc();
3 L/ t7 H$ I ^: h y Dec dec=tt.new Dec();
' B! T1 O3 w7 `+ k% x+ _ for(int i=0;i<2;i++){ }+ J4 S6 I9 H7 v+ B
Thread t=new Thread(inc);
5 {, g+ S3 e1 `2 Q t.start();
2 e; }2 ^! P% e; R! C! ~ t=new Thread(dec);+ C. N2 e | z! t9 x4 j
t.start();/ _2 l( t( J5 Y: }
}
4 f9 C8 z. ?4 _ e6 L, ~. ~ }
* G& N( ^8 @0 n0 n3 J' T private synchronized void inc(){' x4 F( l& K0 Y# I$ s7 B% R( T
j++;) A3 M8 X* Y5 ]% n% a
System.out.println(Thread.currentThread().getName()+"-inc:"+j);. f' E! a) r$ W8 x
}
+ M) g# b3 t# c1 x private synchronized void dec(){" R( \* @' s" M4 I# ~1 M
j--;; W5 v& Z* _6 {" O0 l
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
/ G1 V' E; _, {2 M. [4 D# R }" o( v* A( q* k( s/ h
0 P7 o; Z; h- m6 M# w/ Y class Inc implements Runnable{* [' c$ G5 L: Q
public void run(){3 [; F# N' c4 _, |6 ~
for(int i=0;i<100;i++){
/ [+ `' f6 i# o m/ _ inc();0 H& E+ f5 |5 b
}
0 n- ~2 N2 f1 Q( \' R" | }% y* k- o; x4 G ]$ i" z
}4 I5 `) _/ x6 |
class Dec implements Runnable{
" U0 D# }2 ~7 O0 n public void run(){
, \% M, q' N) s3 J# g3 a; U for(int i=0;i<100;i++){
0 _; I8 c# @; r9 P3 q dec();
0 Q5 S4 i0 ?6 U* l' o }
; b' u" U* ], ?9 y0 u( C4 n3 }) N }+ l$ \) ^6 {0 E) g2 K
}
' f2 n$ k/ I. J! \}
! G, k5 l+ S# ~5 P) V
% e( K1 x/ g$ l) Z( l" ?( z9.JSP的内置对象及方法。/ c" o" N' i( U1 H1 _
request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
7 G1 H, x6 i6 N) o3 ]' q/ z- Q9 z, ?
) T* s6 l- m/ o' `2 V: X# @response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
$ w: f( ? c( p/ W. U; X, ^3 c
7 L9 D I6 f, [# fout out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 / P$ v. n9 o& V
2 @ x: R, N" [: E+ a9 f) q
pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 / c/ O# V' m4 G; b! _
' o6 O8 \; @) ysession session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
" f# }9 {& u+ z$ c# l$ S- j; n
0 A! |' M/ _, P+ B0 ]4 |application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息 5 T S! U$ W. t4 Q% q/ f
; U# R* a" a$ }5 e3 J9 o, sconfig config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
+ s1 L* l7 j9 N# j; X9 ?
9 M& a R0 s* N. e* W4 Npage page表示从该页面产生的一个servlet实例3 j, d5 _. }2 `
10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。3 s5 H1 o' [$ @; j6 U7 t
参见课程中socket通讯例子。
* g1 e6 Z6 G, V; N" K2 i" a' w+ Q7 }- F
11说出Servlet的生命周期,并说出Servlet和CGI的区别。
5 w7 k7 N8 a1 y9 P" S; T3 aServlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。0 x) u/ |4 G6 a' S4 ]2 i# [" w6 [6 r
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
$ g$ `/ h" P$ \5 V0 w1 {12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
3 g6 o D' W" N$ P; ?2 ^% t& F$ c- X+ Z) O
13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?7 {7 G* B: h1 U! Y$ r3 j
, W! L* s7 k7 ~% K
14.说出数据连接池的工作机制是什么?
2 ?" \0 Z. t# ?
( y. u' u! l! O- U, D5 }3 s15.同步和异步有和异同,在什么情况下分别使用他们?举例说明。' W8 P4 E. G1 G% j. o
' W7 Q1 ?# Q( u% [/ P! e16.应用服务器有那些?
! `5 b) v, O' M, U! {
. n- d. q: U' s" t" e- r! _( S6 F17你所知道的集合类都有哪些?主要方法?
* w, H, u2 L1 a+ ]2 Y" A0 j
/ F$ N& f% V9 j& ] x18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。* N- K7 h1 D. E+ }; L% }$ F
$ j4 s, ~# y5 L7 l* ]' O19.说出在JSP页面里是怎么分页的?
+ l3 l& W' B |2 _( N: j E页面需要保存以下参数:
; \* P+ }# O, [% I u- w总行数:根据sql语句得到总行数
/ H! N) k) `% H. X8 g6 D7 @每页显示行数:设定值
4 K' ^1 _" I: Q$ e3 L当前页数:请求参数8 A. u6 r7 L* s$ y3 O
页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。
" |7 n! H5 A/ y7 N4 ~+ S------------------
( {9 U) h; k! M( m4 {/ a; u" S数据库方面:) M# d# h! S7 q* a7 b9 B, `) W' N( b
U* v- e5 s+ ]6 Y: P" Q, h" V: w
1.存储过程和函数的区别7 O/ t6 x0 ?$ u7 l- [
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。
, b r0 R5 j s' g) ?; E2.事务是什么?$ y5 f7 H/ j2 w$ C9 Z
事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:: o8 L, E* \1 e8 L
原子性) g6 [0 m. `, T
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
) ?0 F6 G4 k5 V3 u! Y一致性
, H% `, j: `2 y! d5 N; Q事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。- B9 R/ g b% G; r$ M+ r
隔离性
( V$ c- W) g0 E由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
- a* `6 t3 e( u* e* T/ W持久性5 O) h9 t! s, B# j* ^' U
事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
( g- g; X. f/ `7 @$ y# t) w1 J+ y, L% V7 I
3.游标的作用?如何知道游标已经到了最后?
- a0 S" N8 e0 k7 E) B a/ _游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。
: @" r9 e# U& |" W* ^0 L' s4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。! J% t/ \4 ]9 Y. H
事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。" W: p: T+ h$ v# i2 a: C; N. H2 z
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
" H/ S& U/ \. _7 J0 c( j |
5 q" X$ M$ ^$ o; @$ m=================================0 Y$ u" s8 i1 C
综合面试 t% m$ l' v7 _" ^7 E: i8 Z0 y& `1 x% p- W
Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?
9 S# \* L6 S7 N: B7 U. U
9 j4 x% e* p! U1 v+ H Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?
) f+ s' Q% U6 a6 F7 k$ N$ | Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
! |9 n$ N3 I5 n6 Q) t$ I
* `% W9 J b6 i' J1 W Q4:请问C++的类和C里面的struct有什么区别? , }5 M# |$ c! z# W* b
: z, e6 S( l4 O" q- C5 Y Q5:请讲一讲析构函数和虚函数的用法和作用? % c6 t/ P7 D! a" P, {) _0 w8 l) v, B
+ e9 }) {: `5 B/ U$ I& A f- V9 { Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的
: I: M3 E$ s# c; j1 ~1 I Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。
0 O+ S6 {& q6 H5 H! B, y
5 c; U7 i4 H6 L+ [, C Q8:8086是多少尉的系统?在数据总线上是怎么实现的?
% t2 ]% M* o5 [& M5 x5 O& V$ S3 s/ U/ x/ H6 C! Q9 b1 w* _' m' j
-----------------------------------------------------
6 t4 h$ d; s7 @9 J网络工程师:, N) X) q4 c" a% K
1 H.323协商。(笔试题)
+ W' i' w2 p I2 |; a2 ipsec为什么是三层的。l2tp为什么是二层的?% G. E5 l3 H8 S* |
3 ospf中包的ttl值是多少?' H4 Z) N8 C) J z; ]( D
4 OSPF为什么要划分区域?
" A: Y% ~/ N2 V, S* w$ e5 MPLS VPN的标签一共有几层。内网的标签放在哪里。7 C' R: \# T1 p) ~
6 MPLS中RD和RT的作用分别是什么?5 E( _6 A" t% u2 R; z
7 RR防止环路的机制。 H' J( _! {3 r6 s
8 BGP控制out-bound用local-pre,控制进来的用med.(笔试题)
1 z. C4 @ F" T/ Z3 y3 o0 e: Z6 G2 J, u9 ospf是工作在哪个协议上的?7 Z1 X! H0 {+ F! y! b! E9 G2 H- X
10 ospf的LSA类型。
0 q1 g" n ?, B! M8 h7 h9 G11 简述OSPF的基本工作机制。# ~, @$ s: r+ s4 D0 Q$ U
12 ppp的lcp和ncp协商过程。+ W9 P0 U7 T$ |" y5 F2 R
13 笔试中还有一道PSTN的信令控制有哪三种?(笔试题), J; W) \5 @- z
14sloari 8.0查看进程的命令是什么?linux 7.3查看IP的命令是什么?(笔试题)/ v/ i1 ?+ Q% z3 C1 O8 t8 P
15 IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少。(笔试题)) `+ B' x' V% s8 Y0 B/ x
16 下列哪一项不属于于7号信令标准?% Q% a8 i9 z7 T$ @) w
17 lx/???的有效距离是多少?& q$ P8 B! Y7 [" M# B6 z, E
18 IP 包头几个字节?加上数据部分几个字节
0 u. |3 j: C1 x" l8 r+ T" x# i19 QOS有一点点。
! }0 |2 f0 ^+ [1 `4 j: [20 CQ能不能有一种流量dominate第二种流量? (笔试题)
% u2 }' Z) ?; X& w( b; v2 H. o21 FTP下载一个文件完成。有几个TCP连接??(笔试题)
% K5 d s+ w U3 L0 Q' D, k0 k. N: n; q( K# ~% s7 G
d$ P. i1 y# w! i
————
" |2 ?- ]1 E- n$ R7 y& Z( M“2012行业求职交流QQ群”:1 Q* A: q5 v, F& \5 U, |& b
1 |3 f1 W/ G/ _ o9 y& Q2012-金融求职交流QQ群 : 1103939515 n; @5 U& K* K6 b8 U# ~
2012-会计求职交流QQ群 : 7098899, X2 k1 _6 c- h1 S* l# R! L4 y
2012-IT求职交流QQ群 : 100761599
. _* x- a9 z( [, H2012-通信求职交流QQ群: 59622472
3 R0 B- _; F Y! K3 X2012-硬件求职交流QQ群 : 44853679 ~. J+ K& L% f: q
2012-证券求职交流QQ群 : 100756915
- Y) I2 F1 T9 i7 M6 t# ^2012-快消求职交流QQ群 : 441836428 |1 j' d; p* x+ i/ R" a. Y
/ f3 m$ }0 `+ o
加群说明:' g, C4 d/ C# F( G
1. 申请入群规则:学校简称 + 姓名
Z% |1 B' M9 d) S0 y2. 成员命名规则:学校简称 + 姓名
9 s0 [' a* @! x% S* B) S3. 本群二周内不发言者,请自觉退群,谢谢合作!!! |
|