|
|
华为java面试题
% ]* E! {" n8 G! q
@ V {1 p2 E: Q$ s, \- ^
' X: U! r- r1 f; _; G8 C* C————/ N9 e% L$ \# V; C' }% U
华为求职俱乐部:$ A& G4 o; V$ }- M
http://bbs.aftjob.com/group-52-1.html5 s* Q2 Y4 c' C% F8 [: S
2012阿凡提求职手册—华为篇:http://bbs.aftjob.com/thread-613733-1-1.html
8 w; F6 |) Z( K w+ _" B7 j————8 q' {5 Y7 d& A; \ u- a1 y! X
华为java面试题 4 R# f8 d6 ?0 M: f* X3 J0 C
1 s# J, U0 G0 d7 F4 f0 eJAVA方面
8 Q# _( q; C6 Q) w' N/ i1 面向对象的特征有哪些方面
, R) L5 s+ i7 f2 Q5 i9 t( g8 z2 U* u* ?
2 String是最基本的数据类型吗?
# X* I( J+ c" |! n5 E- k: S& ^7 T- L/ B8 I9 u
3 int 和 Integer 有什么区别- L3 E8 G3 _- w0 _6 j
0 [* D) R) v+ ^' j) z& U4 String 和StringBuffer的区别
5 O1 \. C. V5 ` s# w' S8 l
3 s$ m3 o( u) ^4 Y% H1 O* w4 J) U5 运行时异常与一般异常有何异同?
! X& T1 O4 q5 I& F$ Z$ S( ^) P异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
, H0 O# s6 s, m. k) o* G6 \/ D. i j
6 说出一些常用的类,包,接口,请各举5个
- Y' l6 {2 d7 X& d* t P: i
& S4 |) F6 @! g% Z2 n3 {9 ?7 说出ArrayList,Vector, LinkedList的存储性能和特性) F! q1 d8 h7 S% E: T
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。6 S; n4 B% r; g. S
. o0 z$ ^8 |+ y2 p5 Z' C+ g$ k# A8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。0 U8 S8 E) V% G( S! l
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。; F. T5 \, L/ Y4 L& l' C( s
public class ThreadTest1{
& }* w2 z4 k" e. k/ N7 h2 J private int j;! Q5 q$ `8 c7 C1 C9 O( a
public static void main(String args[]){
( y w. o; c9 |7 D1 e ThreadTest1 tt=new ThreadTest1();
6 K2 C+ {6 M( K D4 c- R3 y Inc inc=tt.new Inc();
7 D- v7 M ^6 |, S0 T1 ] Dec dec=tt.new Dec();
9 i/ j" k5 v3 Y1 `7 R# X for(int i=0;i<2;i++){
5 _$ o$ y+ _% N3 `3 H6 v Thread t=new Thread(inc);: \+ n% e% e& Q7 ~2 K& U
t.start();: m5 F" j! l# I, N6 D# X! _: N8 O
t=new Thread(dec);$ C7 ~2 o0 X7 D
t.start();
, f/ L B& d" E# C! { }
+ @. N( \$ h6 H6 H2 S/ f( n, Q }
( O- F8 p. H% ^$ }2 p0 U' i private synchronized void inc(){
9 ~' c. g: G8 q5 m7 I j++;
2 P' R; ]& H4 S6 Z System.out.println(Thread.currentThread().getName()+"-inc:"+j);
' e8 l8 h2 h+ Z }
# m: l9 w! e% b k% G private synchronized void dec(){/ y# v* b2 \ ^7 K& N- T8 b% E0 ?
j--;. ^1 ^! k" j! Q( A8 W
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
7 z4 {9 o6 [* l1 \3 I5 x5 _' j }
' a0 p1 |8 d: V& ^8 D, o, l
: c4 @# g6 v+ L+ H$ _0 P/ q: T; L class Inc implements Runnable{
1 H) S3 o5 m; l9 \1 y% I2 { public void run(){/ C4 K, }1 }8 Z1 t( @9 M/ a. ?
for(int i=0;i<100;i++){. h- C$ I! f- w5 n( Y- v# N
inc();6 \3 S6 }+ j* Q4 v. U
}
4 w: ~; [0 C3 }- l0 N& W: I- D }; J: O; l- W) t& A: }. ?3 c p- O
}7 o9 r; k2 p6 }9 K
class Dec implements Runnable{( F9 N8 m7 b3 y' `$ u; Y) Q
public void run(){$ F/ U/ q3 ~1 A
for(int i=0;i<100;i++){
5 Y z6 H& _. C* P, j# j1 k1 A, A dec();/ x) Z* Q/ ~5 ?5 A+ [+ i; ?% T
}
9 B, l! h7 e$ c6 o! C' B }
5 q2 t( @7 C2 o3 q }
, y ]2 M, r* h$ J}
7 s- h) N7 o5 c, V( [4 J9 e% |
- \1 _" B) C/ _& R" a. F9.JSP的内置对象及方法。2 o5 |- B( t( }+ t3 V$ B
request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 ' I1 r/ k7 k: d
9 |1 Q! c3 v5 h: o2 E- k
response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
% i1 O& R) ?+ I/ U6 H% x8 M5 ]
! A$ f* D( z1 f$ s ~3 Nout out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 2 h0 } _% [0 ~8 q* O
. Q2 W4 C5 U- `5 U5 R
pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
# d: m9 p0 j8 ?6 M3 [( ~/ f* s+ r9 K
session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 + x3 P( I3 ~, y m
2 R' ?% k! q. X# N w3 s2 e! D
application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
9 a5 x# j( T& H3 i& w4 c
4 `/ W* s9 Q- U% Wconfig config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
8 C! i+ ^( R; T! K
, i5 y* O! X* I" vpage page表示从该页面产生的一个servlet实例; c- c6 i- N: d% I- Z- |
10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。
; x' u& s5 n- A1 c6 C4 `参见课程中socket通讯例子。+ O" y- y, R Z" E. @" U" y: F
6 [; I; ?* {3 {2 N
11说出Servlet的生命周期,并说出Servlet和CGI的区别。6 B6 ?% W2 }8 u# E) D
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
, V2 _3 D! D- l- c$ D5 S1 c+ O% S( m与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。! A5 S! D9 e$ {$ P
12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
9 u& @7 }9 c& @% ~$ E. I$ t4 K6 @9 [# S8 D- C8 @# `' `
13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
- u0 i- Q7 h1 ~$ E: d9 X: h+ `9 k; e4 r
14.说出数据连接池的工作机制是什么?
( L" @* R. P6 C8 p% N! o7 ]
( t0 T, {" l6 j6 @( G15.同步和异步有和异同,在什么情况下分别使用他们?举例说明。
7 f8 ]& n5 h4 }: D# N: R" b
& L# L' v: s6 n# u7 `/ O: N16.应用服务器有那些?
2 z( H1 C$ W) v% G
' L+ d% |7 I! p& N: v! Z17你所知道的集合类都有哪些?主要方法?7 Q+ @ R3 ~: p( k) j( a# x$ i
/ W0 g# Z, v j7 ~9 f18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。
- {3 c/ ]0 ?+ q, V
' i( D2 f) u8 ?& ?( I+ P: `+ D; h19.说出在JSP页面里是怎么分页的?
4 v- N. f1 `) B. F8 l页面需要保存以下参数:
/ g8 h a0 X, k# E) s; ]& S总行数:根据sql语句得到总行数
; C0 y. S; e& ?1 ^! ~4 t1 `每页显示行数:设定值& K+ j9 n$ D2 x
当前页数:请求参数
! u( e6 l* q2 g( a页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。
+ G/ Q6 ~8 m# ^! _* B" {------------------0 v+ C" h9 t/ h
数据库方面:
3 ~6 R' M4 W* p+ R9 u# j. c# Z& M/ @* [$ U+ x
1.存储过程和函数的区别
) N& Q9 D' y$ C8 x& W& I存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。
) Q. ~3 E/ D5 Z3 h, W/ G% {9 z2.事务是什么?
5 z2 d G% d/ I5 j8 W7 I5 z* D事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:( V' j+ q. ^4 p( w8 ?! ~' _# ]5 q
原子性
! {0 i7 O7 I0 R1 i x/ e. q3 @( J事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。% I0 u/ j/ ~' B. ?! ~9 n
一致性: S3 i' h) n' S/ |. x
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
, T' t/ y5 Q! P- U+ q隔离性
" n' a; H, g( W$ F由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
" P7 d- ^1 ?; U a/ o3 H( m持久性
/ m0 R9 W8 b& N# g/ u% J! S事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
- c& [3 P; l1 m/ w0 ^( R- g8 |( ]/ D& r" z! E
3.游标的作用?如何知道游标已经到了最后?
* l7 {7 _7 W8 p& B游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。1 K/ I" A/ J; z: {( \
4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
, j, \9 i4 K) D事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
( D0 d. B, u% _语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。- j6 A- d3 s$ _$ `- T
* x: \# c9 v2 f- R
=================================! A+ ^# L$ z. J9 t+ h, T4 m
综合面试& N9 N. }: P$ G/ r3 b- H1 w- z
Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? ! k/ X; L Y4 @* T
6 i Z- O% l8 ^) b2 f1 w/ |) G Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?
: J: u. f, K3 e+ [8 ]; a Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的? " h' s9 m9 m5 K Z; ?
6 f9 ~/ g$ P A" @# t$ x6 { Q4:请问C++的类和C里面的struct有什么区别?
0 @ }- V5 Z& A) W2 [: w0 S; k- h: e' r `4 [/ K
Q5:请讲一讲析构函数和虚函数的用法和作用?
1 I' [8 u) l1 X( s: W' I* T9 m2 [4 u8 w# e' [2 z" m6 B& q/ h
Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的 5 @, t, {5 G- @- ^, R V# ]
Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。 2 Z3 u+ i3 K6 u" U1 E
6 }6 i/ a: V3 q. }) h& u
Q8:8086是多少尉的系统?在数据总线上是怎么实现的?
6 m5 [# K" s' t: ^3 e. X
; ]5 i/ X* j1 C8 Z; L( o" D-----------------------------------------------------+ _- p$ i5 l# P" a7 _) ]' K6 y% @
网络工程师:- g- i! C0 ?2 \; P! h
1 H.323协商。(笔试题)
# [# {$ Z+ n) _5 |$ H2 ipsec为什么是三层的。l2tp为什么是二层的?
$ {) k9 `! T4 G0 D* @2 e) V* F3 ospf中包的ttl值是多少?
/ s+ a9 ^! N3 {. W4 OSPF为什么要划分区域?4 z- U( U1 @5 O2 R9 i
5 MPLS VPN的标签一共有几层。内网的标签放在哪里。- ^" H& }' F. j6 p8 y7 }6 e
6 MPLS中RD和RT的作用分别是什么?
+ A4 Y" d; Y! U8 P7 RR防止环路的机制。
9 F/ R; o) Y g d8 BGP控制out-bound用local-pre,控制进来的用med.(笔试题)5 `" Y' _, L4 @5 Z4 p( w
9 ospf是工作在哪个协议上的?2 G" Y+ z2 x9 e1 ]
10 ospf的LSA类型。0 c+ Q/ \+ H4 {8 l6 V# b1 Y
11 简述OSPF的基本工作机制。
% F( D; H+ R+ B; u. A% ?# U12 ppp的lcp和ncp协商过程。
+ c' ~. R9 f" T1 n% m13 笔试中还有一道PSTN的信令控制有哪三种?(笔试题)
) Q Y3 O3 s8 F14sloari 8.0查看进程的命令是什么?linux 7.3查看IP的命令是什么?(笔试题)
" n: r, D9 a3 k. l: F# Y15 IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少。(笔试题)/ ^. e1 {; ^7 U) n
16 下列哪一项不属于于7号信令标准?# b* ^- s2 ~. w- i8 }/ }0 T
17 lx/???的有效距离是多少?. k: r* C% T4 V8 R1 f
18 IP 包头几个字节?加上数据部分几个字节
- t2 g) K' ~/ n4 J19 QOS有一点点。$ |- v5 |: L. x5 c2 J
20 CQ能不能有一种流量dominate第二种流量? (笔试题)
- J* n4 n& o2 _21 FTP下载一个文件完成。有几个TCP连接??(笔试题)
) V* ?, e9 Z* K5 L6 D# h- @$ q3 X+ Y( y( y+ C. g+ a
$ m5 e9 f. i) a. r————
8 d7 d& F& P9 R1 @“2012行业求职交流QQ群”:# |7 Y. |% `; G6 n# l% C
! x' s. H8 p/ y _2012-金融求职交流QQ群 : 110393951" m/ T. q8 m% F: p) U
2012-会计求职交流QQ群 : 7098899: R/ a4 W9 m5 T/ ?
2012-IT求职交流QQ群 : 100761599
& A& }8 l- u, U2012-通信求职交流QQ群: 59622472
! I# P8 v7 t; J2 A& @2012-硬件求职交流QQ群 : 448536798 [0 ^! t( C; Q8 `) u! b$ x7 P' W
2012-证券求职交流QQ群 : 100756915
0 I8 n: v( c! a8 F6 M" u M0 _( y# J2012-快消求职交流QQ群 : 44183642, J7 N; S$ v8 s: N! \: M: N/ M
6 x/ _; v0 E/ h加群说明:- J. L9 |( |% d& l$ G( b3 t; X( n" H
1. 申请入群规则:学校简称 + 姓名
3 _$ C# m! h3 @: u9 s, N2. 成员命名规则:学校简称 + 姓名% r* W. ^* N* }# b
3. 本群二周内不发言者,请自觉退群,谢谢合作!!! |
|