|
|
华为java面试题 ! b, p+ N8 V& U: A: U! v3 N
|/ T. f# J) f" j3 a" f
/ M9 \' \- R2 \! Z( z6 @$ ?5 l! C
————. ]2 f+ L* \; ]: R2 @
华为求职俱乐部:
8 B% F% X( {5 Q; @http://bbs.aftjob.com/group-52-1.html
6 v8 [/ x5 ^7 B& g2 r7 {( v$ k2012阿凡提求职手册—华为篇:http://bbs.aftjob.com/thread-613733-1-1.html
) U8 p& E! m2 k————" X1 |9 V }# o) T: Z S( x
华为java面试题
' c5 a$ j. ^3 l
% j# G7 B9 W# ]2 v' tJAVA方面
: b0 E+ o- k7 J. C1 面向对象的特征有哪些方面
; m- h1 r$ Y- ]7 y3 {, A% z' y. o/ B% Z# f9 X+ q/ S! I
2 String是最基本的数据类型吗?3 m4 e3 |+ ~; O6 `6 z5 m( Q' J1 Q! S
5 z* l( K0 Y3 _+ W4 h+ }( m3 int 和 Integer 有什么区别
$ o6 p$ ]4 m: s7 {
, m; j/ Y1 Q' \$ p) r) ]4 String 和StringBuffer的区别% H N/ x2 z; C* @) ?; O
+ }6 B' ^4 a: m0 H
5 运行时异常与一般异常有何异同?% v! _5 Y1 v* u6 q$ U+ n+ D
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。3 }% p( n T; o1 b) ~$ Z4 L' c
/ c: K$ U6 l f3 o7 o# m6 说出一些常用的类,包,接口,请各举5个% `% M; \' ]! l o( E8 ?, o, y+ f
$ l' Z# Z% E! e5 p0 A8 f
7 说出ArrayList,Vector, LinkedList的存储性能和特性
$ c# y! \5 d! c F, yArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 V5 Q1 F9 ^) X! R
0 P3 b; V$ ?8 [8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
# a9 U6 u8 u) C: P6 C& |( q以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。4 [& W _* V* U: N: M" I6 M5 u4 w
public class ThreadTest1{6 k- r0 [7 q c& i& u7 S
private int j;
6 r; l) h u# p, `1 @ public static void main(String args[]){
& ?' C; o! L p" Y ThreadTest1 tt=new ThreadTest1();% a0 K4 C4 f7 ^) m) f7 l+ R! a4 r
Inc inc=tt.new Inc();8 A5 `* N; J' N2 N3 [$ c6 G" Y9 f
Dec dec=tt.new Dec();
' L8 [0 r4 ^7 Q4 @- M6 G1 Y& B for(int i=0;i<2;i++){
; K G- ^; j: W Thread t=new Thread(inc); x% F1 t) v5 ]! l2 i" Y+ }
t.start();/ P6 u& O3 y2 y( K |! y
t=new Thread(dec);
* {# B7 k6 Y) {9 b& V- b9 i# [ t.start();
: \$ Q X5 j3 B4 I }
* z: q* e. M2 P0 w; A" E }
5 U5 m8 p$ s" F8 }! y8 H private synchronized void inc(){7 v& N# e' ?+ l L% P+ b: }
j++;" |, H( o( i. Q5 _/ }# {5 o
System.out.println(Thread.currentThread().getName()+"-inc:"+j);) P: T- h) b' m0 ?/ t7 n) D, g
}
( q2 L1 ~9 {6 X% U5 i3 S+ E private synchronized void dec(){
) E& |; n7 S+ b# e4 T; B j--;8 ^" O7 ~. s2 _) F( I. q
System.out.println(Thread.currentThread().getName()+"-dec:"+j);8 Y0 c1 y6 }+ @% l6 F- w
}+ q( ]! {1 s* K% g! C( s1 U F
k2 t1 R0 f4 O3 v class Inc implements Runnable{
; b1 E4 j! Y0 ~4 ?* P4 I: ]. @ public void run(){
0 A& V, L, D! e. g for(int i=0;i<100;i++){
. F. f& G& q/ n- ?' j7 ? inc();
) t) i0 _2 c/ q; }6 @1 n2 x* P }
: K* Q7 U; _2 z0 C& Y# x% r }
: R0 l& @: r, @ S. Y& w }
0 P4 \' T1 s4 l class Dec implements Runnable{
9 U3 ^3 H, o9 P' }( E4 n! I2 K public void run(){
. l% G7 k" @- J b0 c( u$ Y for(int i=0;i<100;i++){
5 ?7 X& T& R* y& @$ p' ? dec();
& C a+ L! C5 F0 w, p) u& p3 E3 V) _, X }
z& F9 U7 @; B$ q' i( x }! p+ v! V# G, s7 [
}
! ~# N9 k2 F# {1 ?: Y}/ R% D/ H; q7 _3 r2 W! o8 Z
5 s. l9 ]4 M7 f$ p7 y2 D
9.JSP的内置对象及方法。8 ?4 e2 Q- F. E9 {+ a" @0 y
request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 " @) [0 \+ V, w! n9 z
$ `1 m. x$ |" [ ^; [
response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
* z% m: L6 w1 N% A( Z2 K7 c! z0 _* X1 Z" l3 {7 S
out out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
4 y3 i5 h! f0 r3 F; u2 Z" | I3 T3 ?$ H9 X5 P( m
pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 9 i3 I! M5 J! b- i( a0 A
G% Y) J `0 ^! C3 Msession session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 4 J& P! k4 s. J3 N- h) a
7 p( Y9 ` j2 L4 e9 ^0 a; {3 {
application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
T$ }) [& n& u- _ q
, U# \' {0 ~7 S1 `1 _- Aconfig config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 9 C4 @+ u1 W& J, B6 a' P
- W4 _/ c+ c4 T w7 S
page page表示从该页面产生的一个servlet实例* s% P7 Y D* p( N2 z7 K
10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。
1 L1 p" p1 A: R" Q参见课程中socket通讯例子。 I9 G2 x7 y B+ G' @5 ?
M( u+ X4 h/ L3 \5 M11说出Servlet的生命周期,并说出Servlet和CGI的区别。" T" }9 P% w# N8 |% `, }2 [
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。$ f4 t% t3 A7 H* d* q/ M O8 S: Q9 E
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。4 u& M$ Y/ O+ s1 _- A" x, _2 w
12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
& T0 x$ D. c( o# A3 X* _+ ^! n7 T$ O9 A5 Y1 Q
13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
M. u$ d3 B2 V% d
V8 f* P4 ~5 M/ @( j$ K14.说出数据连接池的工作机制是什么?9 _2 i) t0 k% c$ K K! j- U
3 l! q; Z A J5 d15.同步和异步有和异同,在什么情况下分别使用他们?举例说明。
1 {# j7 g& ~( R8 H$ p/ I8 d- _3 f) a$ O; N0 t
16.应用服务器有那些?' N) |( H' R. B& p8 t
/ y0 z {) @0 g9 s4 ?
17你所知道的集合类都有哪些?主要方法?
* E, t. Z- @2 S. n: j$ `7 Q7 a+ J( i! Z1 ~' P) I
18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。# ?" j3 k: _. ~ [6 W
; l; F& ^9 Q( s3 |0 u' b
19.说出在JSP页面里是怎么分页的?" P5 u, I6 g% t2 r: c; [( x
页面需要保存以下参数:2 }2 W& E. o ] d3 j5 F8 X
总行数:根据sql语句得到总行数
6 e: ~! v; f# J8 y每页显示行数:设定值" g: t5 ~! Z4 b7 W$ n: e
当前页数:请求参数" v$ B! T1 e$ f) U# c1 D! U
页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。1 F! O: I6 g' d
------------------
! m2 z9 m$ J% x6 ^: Z, W数据库方面:# g$ ?7 ]* x$ g
; g2 [3 t! Q* ]. Y$ I3 y! ]- ?9 _9 L
1.存储过程和函数的区别( z* k& C6 }9 z" X3 C
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。
1 \8 E6 t; X c8 O3 E/ u! [4 u, |2.事务是什么?
& v" f( H6 U/ @: [# L事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:
* F8 K6 z6 g" n; u原子性4 {# X* z+ I! z& ]: X
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
( r: Q& i* |4 A一致性
& b% D0 e. t. s$ n& z事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。 W' b9 ~4 v9 x5 k2 m
隔离性& m7 x9 _$ [2 m
由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。3 y7 Y- D! j3 ~, i7 Q# e
持久性
0 n- i/ }! @9 x: M( b事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
% U4 B' F2 |+ y3 j8 c5 _3 z- X
9 M; m' r4 H7 f9 j8 h9 m6 E \' q# Y3.游标的作用?如何知道游标已经到了最后?- J% Q: ^' l+ u1 t
游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。7 @( c3 j _- u. S
4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
/ p- G4 i# A+ q" F X事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
0 A& F6 K7 g. O3 [ P: n4 K% o( H r语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
% W, f( f+ j- H8 y" _4 T& R$ K* Y# A( k7 j0 _3 E( J. F" T
=================================
& {& w. e3 U2 G: ]5 m2 Q综合面试6 j5 g+ E9 Z/ O9 b
Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?
3 F( v1 n. [. B' t, B# \
2 l! _$ L5 u; E% R/ H/ M! P& Z$ Y Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?
6 K' }1 i: r1 J9 w. z9 a Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
- `3 w7 i0 b; g, _. I1 b4 d& s9 G. R; c# O
Q4:请问C++的类和C里面的struct有什么区别?
3 J5 s5 G4 n2 L/ L
5 G* N7 @2 }, \ d/ J Q5:请讲一讲析构函数和虚函数的用法和作用? 7 P. {* ]6 B% I/ \* Q6 ^/ G' {: D
% _8 m0 A b2 s5 x7 j$ N
Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的
# s, I, y# @ X V) h7 j Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。
3 h i& o* D9 p2 h* M$ |" n( d6 b: G
Q8:8086是多少尉的系统?在数据总线上是怎么实现的? & \# [$ o! |; L$ |7 Z
' D6 [' `* h- q8 k, t
-----------------------------------------------------4 ~7 R0 X' n5 q1 [
网络工程师:: S9 c; W4 V+ v' D
1 H.323协商。(笔试题)( D; U7 R1 |+ ^$ _% R
2 ipsec为什么是三层的。l2tp为什么是二层的?
$ z# ^' [9 v& t l+ l/ w3 ospf中包的ttl值是多少?, a: W7 E3 G+ k! k
4 OSPF为什么要划分区域?
/ K- {- ]' j* T+ Y) Z% _5 v5 MPLS VPN的标签一共有几层。内网的标签放在哪里。! q6 N% _9 \- K$ I* J$ d
6 MPLS中RD和RT的作用分别是什么?
, r* o( k( H m$ q7 RR防止环路的机制。! e7 G1 r# {6 a6 R/ Q {" s
8 BGP控制out-bound用local-pre,控制进来的用med.(笔试题)
0 o/ O, y4 r$ c) h7 ~6 ?8 X9 ospf是工作在哪个协议上的?: h6 L) E. ?8 y
10 ospf的LSA类型。
' t% N! t/ d; p/ m2 [( K- W; ^11 简述OSPF的基本工作机制。
6 z. y, n; m% Q: k' W4 e+ F& J1 W( N12 ppp的lcp和ncp协商过程。
1 f* n1 S2 R4 a! H7 J4 Y13 笔试中还有一道PSTN的信令控制有哪三种?(笔试题)
/ L8 j: i3 V' |+ C) h% t14sloari 8.0查看进程的命令是什么?linux 7.3查看IP的命令是什么?(笔试题)9 u+ L5 `0 J3 }5 \: {" Q: J
15 IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少。(笔试题)
2 A9 I; ~) _( b; p16 下列哪一项不属于于7号信令标准?
" K# Z# R, N H6 B% I17 lx/???的有效距离是多少?5 q1 j. O+ E) C: u; \
18 IP 包头几个字节?加上数据部分几个字节
, I K; d+ P$ R4 I% V5 d19 QOS有一点点。
% H5 {( m3 g2 n- Y20 CQ能不能有一种流量dominate第二种流量? (笔试题)
5 `$ C# E: @! Q1 x21 FTP下载一个文件完成。有几个TCP连接??(笔试题)
0 q" [5 z# @/ `+ h# o
" v+ J) R; w" P0 _# I' }1 S! E1 l
* M8 `# U6 ^! q& b( [( J/ H, J————
- D" x( F7 m) K8 S“2012行业求职交流QQ群”:
6 U) }3 B: x! o3 A& c5 `6 \3 P+ @
2012-金融求职交流QQ群 : 110393951! U2 u" H; R5 Q& s3 @7 Q; e
2012-会计求职交流QQ群 : 7098899
. R. j+ L9 a+ U! M( n1 @( q. ^" p2012-IT求职交流QQ群 : 100761599
# a9 ]( }# E2 q* \& r" e! t2012-通信求职交流QQ群: 59622472
. Q+ [6 s, n/ v2012-硬件求职交流QQ群 : 448536794 ~# p1 }7 B/ _' x
2012-证券求职交流QQ群 : 100756915
8 z% P/ b. q' q' a8 N( r8 f2012-快消求职交流QQ群 : 44183642
- \+ [/ O' X. E: {3 `
7 p+ w L: S+ I, i. H5 c加群说明:
6 q `6 S7 j" S$ _/ o2 `1. 申请入群规则:学校简称 + 姓名% U- h- ^' u. |) `) g
2. 成员命名规则:学校简称 + 姓名$ e5 Q8 Z7 J9 p+ K7 G2 \
3. 本群二周内不发言者,请自觉退群,谢谢合作!!! |
|