华为的java面试题

转载 2006年05月28日 02:18:00
华为的java面试题

JAVA方面
1 面向对象的特征有哪些方面  
2 String是最基本的数据类型吗?
3 int 和 Integer 有什么区别
4 String 和StringBuffer的区别
5运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6 说出一些常用的类,包,接口,请各举5个
7 说出ArrayList,Vector, ArrayLlinkedListd的存储性能和特性
ArrayList
和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元
素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,
而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest1{
   private int j;
   public static void main(String args[]){
       ThreadTest1 tt=new ThreadTest1();
       Inc inc=tt.new Inc();
       Dec dec=tt.new Dec();
       for(int i=0;i<2;i++){
           Thread t=new Thread(inc);
           t.start();
           t=new Thread(dec);
           t.start();
       }
   }
   private synchronized void inc(){
       j++;
       System.out.println(Thread.currentThread().getName()+"-inc:"+j);
   }
   private synchronized void dec(){
       j--;
       System.out.println(Thread.currentThread().getName()+"-dec:"+j);
   }
  
   class Inc implements Runnable{
       public void run(){
           for(int i=0;i<100;i++){
               inc();
           }
       }
   }
   class Dec implements Runnable{
       public void run(){
           for(int i=0;i<100;i++){
               dec();
           }
       }
   }
}

9.    JSP的内置对象及方法。
request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。

response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。

page page表示从该页面产生的一个servlet实例
10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。
参见课程中socket通讯例子。
11说出Servlet的生命周期,并说出Servlet和CGI的区别。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。

13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?

14.说出数据连接池的工作机制是什么?

15同步和异步有和异同,在什么情况下分别使用他们?举例说明。

16应用服务器有那些?

17你所知道的集合类都有哪些?主要方法?

18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。

19.说出在JSP页面里是怎么分页的?
页面需要保存以下参数:
总行数:根据sql语句得到总行数
每页显示行数:设定值
当前页数:请求参数
页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。


数据库方面:

1.    存储过程和函数的区别
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。
2.    事务是什么?
事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:
原子性
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
一致性
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
隔离性

并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之
后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相
同。
持久性
事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

3.    游标的作用?如何知道游标已经到了最后?
游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。
4.    触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。

华为公司java面试题及答案

1、面向对象的语言特征 封装、继承、多态 2、Java I/O中字符流和字节流的区别 字节流是传递0~255的整数而Java中有一些(如unicode代码)不能使用字符流,是特殊的字节流, 3、Has...
  • maguanghui_2012
  • maguanghui_2012
  • 2015年07月02日 13:35
  • 1239

华为的JAVA面试题及答案(部分)

QUESTION NO: 1public class Test1 { public static void changeStr(String str){ str="welcome...
  • G0_hw
  • G0_hw
  • 2017年04月09日 14:10
  • 714

独家贡献华为技术有限公司内部JAVA面试题及面试流程

面试题技巧 2016-12-10 19:23 TopEng BOSS3.0 渠道合作伙伴委托测试项目 1.java中什么是类,什么是接口? 答:Java程序的基本单位是类,类是对象的抽象...
  • u011277123
  • u011277123
  • 2016年12月12日 08:52
  • 2472

华为嵌入式面试题及参考答案

(1)什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下...
  • dezhihuang
  • dezhihuang
  • 2015年03月09日 10:14
  • 2172

华为--嵌入式软件工程师面试题汇总

(1)什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一...
  • renjiaer
  • renjiaer
  • 2016年05月20日 17:11
  • 6730

华为16道经典面试题

面试过程中,面试官会向应聘者发问,而应聘者的 回答将成为面试官考虑是否接受他的重要依据。对应聘者而言,了解这些问题背后的“猫腻”至关重要。本文对面试中经常出现的一些典型问题进行了整理,并给出相应的回答...
  • godloveyuxu
  • godloveyuxu
  • 2017年06月19日 16:59
  • 557

C语言面试题大汇总之华为面试题

该面试题大全可以很好地提高C++/C程序员的技术综合实力 1、局部变量能否和全局变量重名?    答:能,局部会屏蔽全局。要用全局变量,需要使用"::"  ;局部变量可以与全局变量同名,...
  • zgaoq
  • zgaoq
  • 2017年02月11日 16:55
  • 1594

C语言面试题大汇总之华为面试题

1、局部变量能否和全局变量重名?    答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对...
  • yishengzhiai005
  • yishengzhiai005
  • 2016年02月24日 20:16
  • 4606

2017校招华为安卓技术面面试题

刚刚拿到了华为的offer,激动之余不忘了跟大家分享一下笔试面试题啦~ 首先是笔试也就是(机考),这个主要是考算法啦,其实说实话不难,考前刷几道华为OJ系统的算法题稳过,3道算法题600分的题目拿了...
  • wangning13ji
  • wangning13ji
  • 2016年09月19日 12:53
  • 2895

华为经典面试题---大数乘法的c++实现

32位机器上的最大有符号数为2147483647,最大无符号数是4294967295。这对于实际的计算显然是不够的,于是就产生了大数乘法的需求。其思路不算难,按照我们平时计算两个数的乘积的流程就行了。...
  • LucasDove
  • LucasDove
  • 2016年02月24日 10:44
  • 1353
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:华为的java面试题
举报原因:
原因补充:

(最多只允许输入30个字)