找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1458|回复: 0

[面筋] 华为java面试题

[复制链接]
发表于 2011-8-30 12:18 | 显示全部楼层 |阅读模式
华为java面试题
' [' F: ^- N. W4 J
' I0 L# O- O1 U7 z- u$ c- a5 t; [: K) J+ Z1 r
————6 J' m% ~/ j% G
华为求职俱乐部:! Y3 \  T+ f2 G" }" K
http://bbs.aftjob.com/group-52-1.html( u5 B% d! G' D
2012阿凡提求职手册—华为篇:http://bbs.aftjob.com/thread-613733-1-1.html
% `2 r: v- `+ p9 a$ J————
3 u5 n7 X: f$ K% K, u华为java面试题
7 d  W* Y) i  a! \) L% d6 [- K! |, X4 r! K! ~
JAVA方面
/ r5 s6 v' v3 s  A1 面向对象的特征有哪些方面   6 T' S4 {0 U1 O/ `
2 O! h$ r$ j0 g' O+ o4 G
2 String是最基本的数据类型吗?
3 u/ f0 \- _% S8 g3 f1 `: X5 g6 Q! e- Z% |6 v8 T8 t) M
3 int 和 Integer 有什么区别9 B6 }" ~; U: J, t  \1 `

, v+ T4 W" o* l; F5 Q; ]( u4 String 和StringBuffer的区别* T0 K9 P1 _! [
) [  `3 L4 m% M8 K% o
5 运行时异常与一般异常有何异同?
( Q* s" @, B4 F/ n5 {* b4 t异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。) t. q: M4 o& j

# ^+ ?! u+ |7 V; K6 说出一些常用的类,包,接口,请各举5个
. f. B$ e, r  n  J) W$ W* c9 D, v- G/ J2 m0 V; o6 }
7 说出ArrayList,Vector, LinkedList的存储性能和特性3 x' t8 \7 C: J  K0 [
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
) S# l6 a) L! G, v7 A. E+ a9 ]1 x* Q7 ]$ u
8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。7 |- N* a4 l9 y  [$ f( d
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。1 f2 G7 o/ n, ]  x+ }6 {
public class ThreadTest1{
: f; [; H2 Q, }7 |# \3 O- ?    private int j;8 [' ^( ~) i. Y. l6 F6 f: R2 h- T
    public static void main(String args[]){
" _8 U% P( q( w; ?        ThreadTest1 tt=new ThreadTest1();: Q; I9 o( A9 W2 A4 ^5 b; b
        Inc inc=tt.new Inc();
" H) q- v: z" T) p, N, W3 C        Dec dec=tt.new Dec();1 q' i( K+ s2 c2 N6 N  }+ G
        for(int i=0;i<2;i++){/ `- h' Y7 n% [) D# z+ X/ m8 ]
            Thread t=new Thread(inc);
4 n1 b7 `7 Y, h9 f& ^            t.start();- C3 m* c% [2 U& V
            t=new Thread(dec);
4 {! K. w2 M+ d* F8 L# @0 J            t.start();4 X" i: k* u) @+ Q- Z: @
        }
$ r3 @9 F1 z/ H6 t# J6 D, ?    }
- F& {1 v- _. ]* S# }! O+ t    private synchronized void inc(){) @2 }# u3 L0 N( O$ {# g
        j++;8 @% C2 l, q" Z! B
        System.out.println(Thread.currentThread().getName()+"-inc:"+j);, |1 L- y4 C9 J2 L' W. v9 ?5 U
    }
9 l. A1 ]7 b: b5 |% G) \. b& c    private synchronized void dec(){, U3 {* u; n$ k6 z* E1 o+ {& V0 m
        j--;: U  a1 ~+ S& A" N
        System.out.println(Thread.currentThread().getName()+"-dec:"+j);
& h. A7 _6 d% X5 x& H    }
$ \0 U0 E8 ~4 r* ~3 s# B   
7 m* u$ n( Z' G! q$ c: }    class Inc implements Runnable{& @, @. C6 s( k  u8 i0 U; _+ b
        public void run(){' Q3 a5 W) L: k
            for(int i=0;i<100;i++){$ H  y" L. A' d3 \4 v# O, e  q. F
                inc();4 S" ~; R3 u/ ~+ y! j
            }
, c5 b2 e4 K- m6 c) Q7 w/ @& R9 a        }2 A! ?4 l8 ~: J; s
    }; g& y4 C  P9 [4 F" w4 t
    class Dec implements Runnable{; u9 l- T) B; @
        public void run(){
& ]8 Y1 \8 K% y4 R. S9 y6 ]) Z            for(int i=0;i<100;i++){
$ T+ J3 p; U/ k6 J$ C0 M/ b6 |                dec();
/ O: \: }- l2 U9 u4 R            }( g1 p4 E! \: _6 R
        }# V! ?: B1 ?; D; Q
    }9 ?: W2 p/ P* Y  F; E
}  D  U) R- [; b% C; ?  @

6 m! z7 |1 Y! \1 x9.JSP的内置对象及方法。  h1 Y1 m1 b1 q. g; d$ h0 I
request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 % z% x% q9 I/ x1 d3 p& f
, b! I0 `' I% ?; G1 u. j3 u
response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等) 8 B, P! M$ M+ t2 @$ }* V

$ z$ y  @* R$ X/ e; |3 Dout out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
7 {! O. g1 `* z+ _
* y6 `- ^  @7 [7 n. Y+ j- TpageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
; u* `, ^9 N: v" n' q9 V
: p/ j2 b- K4 L* C! J8 l. Tsession session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 * j8 ?* ^* o: _$ p7 }0 a
2 O9 {: m5 w; P) }- g* E$ H8 f
application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息 3 u" ]0 y* I4 q0 S$ p5 P; K9 ]

" R" d. A9 ]" e- m$ }config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
2 C- R: ~, d' f
% {' N4 G' h+ \page page表示从该页面产生的一个servlet实例
" H$ t  z# s! K( O% g10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。
$ w7 n' i' C; ~" w参见课程中socket通讯例子。
7 `: Z3 q3 U6 m( q1 f/ V6 N0 b) w; T7 e6 a3 [+ ?) _
11说出Servlet的生命周期,并说出Servlet和CGI的区别。: F1 b; m" U! `/ n
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
3 j8 W8 v& }, w% _: |( Z! J与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。' k: e5 u) D" G# Q' ?$ f4 w: n0 {: g
12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。) F% v7 Z% C& e

9 r" f! H$ O7 k6 m5 g2 q13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
# c: T0 q0 C! \* d! e: q, L3 f+ {( `
, C! M3 R5 J8 i% M2 x* z" i. V7 S) A14.说出数据连接池的工作机制是什么?
$ b: O' H9 _* @- ~& y3 f; j/ f: o7 k- B
15.同步和异步有和异同,在什么情况下分别使用他们?举例说明。
, N/ ]5 }! F8 `% t4 p
7 G9 R/ e. A1 f16.应用服务器有那些?- s) d+ o9 l- T' f2 G, Z- x
& Q! L: ^! D) D  R% o
17你所知道的集合类都有哪些?主要方法?. q* ?! n( T7 @! e5 m9 E! E
$ `8 N. Y* y( L) w7 M
18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。
1 d1 ~+ x* w. g. x9 r8 |2 [8 O- X1 N1 `. p# w9 Q# P' l
19.说出在JSP页面里是怎么分页的?- g( U" a6 L  i0 y6 D
页面需要保存以下参数:
. f! c* O3 N& V3 R总行数:根据sql语句得到总行数
" ?5 m/ u4 q. z% _* c* E) t8 X每页显示行数:设定值
# R2 l" c8 B0 I8 k: Z4 S' P当前页数:请求参数1 Q& N- O) c: r5 N7 T8 _$ ^
页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。
( D5 }8 U9 C$ p" `4 E------------------
2 }% j: {- Q8 ?, u数据库方面:
& }- q( \5 B+ A( N' D, i3 r4 r2 t- @
1.存储过程和函数的区别
) p. B( ]& e4 K) A4 K存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。5 N: l& ]( y! ?- E
2.事务是什么?
3 ~$ J2 h8 D( p) u事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:
* n, \$ n' D% w) f+ _' x7 ~$ c* c原子性
6 W2 _0 ?& N- `事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。$ T( ?9 G7 h3 R6 |7 K6 h% [
一致性7 g9 x" K  T% d. o5 G: c1 B
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。5 p6 ]- W: C% p
隔离性
+ m5 F6 g1 k# E# e由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。+ u5 l" v1 g' H- S
持久性
# X& y! T- k. n* z, a9 r0 B事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。% f' F! K) j- M! q+ [- i) t% w1 L
" t4 ~- [. R6 k' }# L
3.游标的作用?如何知道游标已经到了最后?0 @! C: M; Z: S" w8 i7 s% i) {3 b
游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。2 B" s; K) c& D& A
4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。3 w4 h! \) v. V4 e8 Z# f( l  R
事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。- m! T' O# L2 v( a0 O2 v
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
$ \2 t3 R( v3 E2 B2 T& Y+ Z: p8 ^5 C4 a; \' Q/ v
=================================: b! o7 x# G# X/ }$ R0 u
综合面试. t6 m* E9 D! I
   Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?   
# d0 E5 V2 r* z/ T5 n. {6 @0 f7 _$ C5 l8 T1 O! L: z
  Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?   / K# |# h) A' b$ W5 |6 X
  Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?   9 b, J! C) _! ?+ J

# w9 N4 i% ?$ }) N& W- s  Q4:请问C++的类和C里面的struct有什么区别?   
- z* B* v6 t' R
- \/ t2 t& X3 L: y0 M4 }  Q5:请讲一讲析构函数和虚函数的用法和作用?    ) g* r9 j' B: Y
8 b) G6 X) C2 {9 L7 z4 g4 J$ P
  Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的   - d1 ~/ v( R  @! v* v5 m3 U" h6 N
  Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。   
6 w, B. K5 ^* t/ I8 {, w$ u! g+ A/ Z, l0 E
  Q8:8086是多少尉的系统?在数据总线上是怎么实现的? 4 U' b. j/ Y9 y
! M4 Y. ~  Q9 q) M) z
-----------------------------------------------------
  M. M. ~$ q6 g4 ~, R4 V4 d网络工程师:
) [+ z" [: a  M1 }. ^9 r7 Z1 U1 H.323协商。(笔试题)
$ X( O0 ^" U1 u2 ipsec为什么是三层的。l2tp为什么是二层的?
3 I! ?" f3 ?$ e2 y; |/ g% f7 \, u) J3 ospf中包的ttl值是多少?
8 X* m0 _: q% @/ ]# r5 h4 OSPF为什么要划分区域?! r! e6 p: E8 x
5 MPLS VPN的标签一共有几层。内网的标签放在哪里。
! d+ |2 X" C' g3 t6 MPLS中RD和RT的作用分别是什么?, M9 U! G* k* p9 e
7 RR防止环路的机制。+ v- W! |6 {9 b9 B7 U: L
8 BGP控制out-bound用local-pre,控制进来的用med.(笔试题)
, u& r( z+ v! `7 D* Y& V0 _9 ospf是工作在哪个协议上的?
0 V1 o3 Q# T* j8 s: {10 ospf的LSA类型。. m% T' S  ^# T5 t5 R4 k
11 简述OSPF的基本工作机制。
3 g! r3 B2 u  S12 ppp的lcp和ncp协商过程。6 _1 l2 \7 R2 {- Q: c
13 笔试中还有一道PSTN的信令控制有哪三种?(笔试题)$ {  b! n: v' R, @9 x7 Y5 H
14sloari 8.0查看进程的命令是什么?linux 7.3查看IP的命令是什么?(笔试题)$ [) z' C: b9 X) ?4 A
15 IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少。(笔试题)
& k  D4 @% S7 W9 l9 [16 下列哪一项不属于于7号信令标准?3 z0 X# p) L7 @0 i9 y: Z
17 lx/???的有效距离是多少?
* D6 h, n, z% m( m2 R, D18 IP 包头几个字节?加上数据部分几个字节# m8 u8 I$ W6 ]- {3 {  N* y
19 QOS有一点点。
; ~( D( j) d, |7 Z8 v* Y! I20 CQ能不能有一种流量dominate第二种流量?   (笔试题)
1 ^: K' P/ w. ~& z! x! ^8 }21 FTP下载一个文件完成。有几个TCP连接??(笔试题)4 P4 E. ^" f! U- S0 @

$ R% |0 T; e% `& }& G+ M
( Q( b, E' V; k  g- X, `5 U————1 G1 [9 ?# N9 w5 e% o0 D
“2012行业求职交流QQ群”:8 e1 H0 g6 H- d  a4 ]; J4 G

/ L" z0 R! ~' e: j- m6 ~  a2012-金融求职交流QQ群 : 1103939516 q* M- W0 f2 C% `
2012-会计求职交流QQ群 : 7098899
2 B% F% K0 C$ a) A9 T3 q& ^5 I+ x2012-IT求职交流QQ群 : 100761599( ]: l  t5 A5 H; c- f& F
2012-通信求职交流QQ群: 59622472
+ O4 h$ F8 D' ?( ~$ ~& P2012-硬件求职交流QQ群 : 44853679& K! z" D) V2 |( r# l( e; W
2012-证券求职交流QQ群 : 100756915
% `5 b" R8 q! C; u$ f, \6 X2012-快消求职交流QQ群 : 441836428 s7 q* q+ f( i, o6 ?* j

' ^+ j/ l/ ^0 j9 K加群说明:
  g7 h7 O7 |8 w5 d) I1. 申请入群规则:学校简称 + 姓名9 J* x0 n7 F* N! _3 S( J- }
2. 成员命名规则:学校简称 + 姓名
7 G. }" B5 w, w# s3. 本群二周内不发言者,请自觉退群,谢谢合作!!!
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2026-7-28 23:08

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表