这是华为Java的主要面试题目宝典。。。。真的是很有用。。。我从中受益匪浅。。。。
1 面向对象的特征有哪些方面
2 String是最基本的数据类型吗?
3 int 和 Integer 有什么区别
4 String 和StringBuffer的区别
5运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6 说出一些常用的类,包,接口,请各举5个
类:ArrayList PreparedStatement Connection String HttpServlet………
包:java,sql java.util, java.lang, java.io, javax.httpServlet,java.math,java.text,java.awt
接口:HttpSessionAttributeListener, ActionListener InputStream Collection
7 说出ArrayList,Vector, LinkedList的存储性能和特性
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你所知道的集合类都有哪些?主要方法?
ArrayList HashMap LinkedList HashTable
18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。
19.说出在JSP页面里是怎么分页的?
页面需要保存以下参数:
总行数:根据sql语句得到总行数
每页显示行数:设定值
当前页数:请求参数
页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。
深圳人才网 深圳招聘网 深圳人才招聘网 深圳人才大市场
企业、个人免费注册,获取想要的 深圳 软件工程师招聘信息 月薪最低3000-8000,更有高端猎头职位!
分享到:
相关推荐
Java华为面试真题是针对Java开发者在应聘华为公司职位时可能会遇到的问题集合。这些题目涵盖了Java编程语言的基础、进阶以及在实际项目中的应用等多个方面,旨在考察候选人的技术实力和解决问题的能力。以下将详细...
java华为面试题
Java 华为面试题主要考察的是 Java 语言的基础知识、面向对象编程的理解、类库的使用以及并发编程的概念。以下是对这些知识点的详细说明: 1. **面向对象的特征**: - **封装**:封装是面向对象的核心特性之一,它...
在面试中,华为可能会通过提问这些特征来考察面试者对面向对象概念的掌握程度。 关于数据类型,String不是基本数据类型,它是一个对象,属于Java中的String类。基本数据类型包括int、double、float、boolean等,...
【Java 华为面试题详解】 1. 面向对象的特征: 面向对象编程(OOP)的特征主要包括封装、继承、多态和抽象。封装是将数据和操作数据的方法绑定在一起,形成一个独立的单元。继承是子类继承父类的属性和方法,使得...
在JAVA华为面试题中,数据库相关的知识是面试者必须掌握的重点。面试中可能会涉及到的问题包括但不限于以下几个方面: 1. **面向对象的特征**:面向对象编程(OOP)的三大特征是封装、继承和多态。封装是将数据和...
这份“java华为面试题”文档很可能包含了从基础概念到高级特性的各种问题,旨在评估候选人的专业技能和实际解决问题的能力。 1. **Java基础知识**: - Java的历史和发展:了解Java的起源,主要版本的更新及其关键...
以下是对Java华为面试题的一些核心知识点的详细阐述,旨在帮助准备面试者充分了解可能涉及的范围。 1. **基础语法**:面试通常会从基础开始,包括数据类型(如int、char、boolean等)、变量、运算符、流程控制语句...
Java 华为面试题 面向对象的特征 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它基于三个基本概念:封装、继承和多态。面向对象的特征有以下几个方面: 1. 封装(Encapsulation):将数据...