java软件工程师面试题集

合集下载

JAVA开发工程师面试题.doc

JAVA开发工程师面试题.doc

JA V A开发工程师面试题

JA V A开发工程师面试题篇1

1、解释什么是队列(queue),什么栈(stack),有何区别?

队列是一种特殊的线性表,他按照先进先出的原则存储数据。

栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。

2、用C/C++或者Php,或Java,给出例子,解释什么是异常(exception)?

3、简述HashMap、HashSet、HashTable的区别。

Hashtable类

Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。

HashMap类

HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key,null key只能有一个。

HashSet类

HashSet继承Set接口。

Set是一种不包含重复的元素的Collection。

4、public、protect和private的区别是什么?

JA V A开发工程师面试题篇2

试设计一个商品相关数据库,要求包括商品类别、商品的基本信息,并完成下面的三个查询。

1、请写出创建相关表的SQL语句。

2. 使用标准SQL,得到2008年1月份入库的所有商品信息。

3. 使用标准SQL,得到Toy 分类下的所有商品信息。

4. 使用标准SQL,统计出所有包含商品价格低于100.00的分类。

JA V A开发工程师面试题篇3

java高级工程师 面试题

java高级工程师 面试题

java高级工程师面试题

Java高级工程师面试题

一、简介

Java高级工程师是指具备扎实的Java编程基础、熟悉Java常用开

发框架、熟悉面向对象思想及设计模式,并能独立完成复杂Java项目

开发的专业人员。在Java开发领域,高级工程师要求拥有丰富的经验

和技术能力,能够解决各种复杂的技术难题和性能优化问题。

二、面试题目

1. 请简述Java中的多态性,并给出示例说明。

2. 请解释Java中的封装性,以及封装的优势在开发中的应用。

3. 请列举并解释Java中常用的集合类,并说明它们之间的区别和使用场景。

4. 请简述Java中的反射机制,并说明其在代码开发中的应用场景。

5. 请分别解释Java中的继承和接口,并给出它们之间的区别和使用场景。

6. 请问如何处理Java中的异常,以及异常处理的机制和原则是什么?

7. 请说明Java中的线程同步机制,以及并发编程中的线程安全问题和解决方案。

8. 请简述Java中的设计模式,并介绍至少三种常用的设计模式及其实际应用场景。

9. 请简述Java中的IoC和DI概念,并结合具体实例解释它们在Spring框架中的应用。

10. 请解释Java中的内存管理机制,包括垃圾回收算法和内存泄漏的原因及预防方法。

三、回答示例

1. 多态性是指在面向对象的程序设计中,通过使用父类的引用来调用子类的方法,实现同一方法在不同对象上的多种不同执行方式。示例代码:

```java

class Animal {

public void sound() {

System.out.println("Animal makes sound");

170道经久不衰的Java工程师面试题

170道经久不衰的Java工程师面试题

170道经久不衰的Java工程师面试题

170道经久不衰的Java工程师面试题

无论是初入职场的菜鸟,还是职场老油条,都不可能对Java技术面面精通,有些问题在面试过程中又是极其刁钻,下面是由店铺为大家准备的170道Java工程师面试题,你敢来挑战一下吗?了解更多详情资讯,请关注店铺!

1、面向对象的特征有哪些方面?

2、访问修饰符public,private,protected,以及不写(默认)时的区别?

3、String 是最基本的数据类型吗?

4、float f=3.4;是否正确?

5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

6、Java有没有goto?

7、int和Integer有什么区别?

8、&和&&的区别?

9、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。

10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

12、用最有效率的方法计算2乘以8?

13、数组有没有length()方法?String有没有length()方法?

14、在Java中,如何跳出当前的多重嵌套循环?

15、构造器(constructor)是否可被重写(override)?

16、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

JAVA高级面试题集及答案

JAVA高级面试题集及答案

JAVA高级面试题集及答案

1

1、BS与CS的联系与区别。

回答:C/S 是Client/Server 的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix 或SQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server 的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator 或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server 等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过web Server 同数据库进行数据交互。

C/S 与B/S 区别:

1.硬件环境不同:

C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.

B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S 更强的适

应范围, 一般只要有****作系统和浏览器就行

2.对安全要求不同

C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通

过B/S 发布部分可公开信息.

B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。

3.对程序架构不同

C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.

软件工程师面试题(含答案)

软件工程师面试题(含答案)

软件工程师面试题(含答案)

软件工程师面试题(含答案)

作为软件工程师,面试是进入理想职位的一道门槛。面试官常常通

过技术问题来评估面试者的实际能力和知识水平。在本文中,我们将

介绍一些常见的软件工程师面试题,并给出详细的答案和解析。

一、数据结构与算法

1. 请解释什么是数据结构?它在软件开发中的作用是什么?

数据结构是一种组织和存储数据的方式,它决定了数据元素之间的

关系。在软件开发中,数据结构的选择可以直接影响程序的性能和效率。合理选择和使用数据结构可以提高程序的执行效率,提高内存利

用率,并降低算法的时间复杂度。

2. 请解释栈(Stack)和队列(Queue)的概念,并比较它们的差异。

栈是一种遵循先进后出(LIFO)原则的数据结构,只允许在栈顶进行插入和删除操作。队列是一种遵循先进先出(FIFO)原则的数据结构,允许在队尾插入元素,在对头删除元素。栈和队列的主要差异在

于插入和删除操作的位置不同。

3. 请解释常见的排序算法,如冒泡排序、选择排序和快速排序,并

比较它们的效率。

冒泡排序是一种简单的排序算法,它重复地比较相邻的两个元素,

如果它们的顺序错误,则交换它们的位置。选择排序是一种简单的排

序算法,它每次选择最小的元素放到已排序序列的末尾。快速排序是

一种常用的分治法排序算法,它通过选择一个基准元素,将数据分为

左右两个子序列进行递归排序。相比于冒泡排序和选择排序,快速排

序通常具有更高的效率。

二、编程语言与开发工具

1. 请解释面向对象编程(OOP)的概念,并列举几种面向对象编程

语言。

面向对象编程是一种编程思想,它将数据和操作数据的方法封装在

java工程师面试题及答案

java工程师面试题及答案

java工程师面试题及答案

1. 介绍一下Java的特点和优势

Java是一种面向对象的编程语言,具有以下特点和优势:

- 简单易学:Java语法与C++类似,去除了一些复杂的特性,减少了程序员的学习负担。

- 平台无关性:Java程序在虚拟机上运行,可以在不同平台上编写一次并运行多次,提高了开发效率。

- 面向对象:Java支持面向对象的编程范式,具有封装、继承、多态等特性,便于代码的重用和扩展。

- 垃圾回收:Java具有自动垃圾回收机制,无需程序员手动释放内存,提高了内存管理的效率和安全性。

- 强大的开发工具和生态系统:Java拥有丰富的开发工具和第三方库,可以帮助开发者快速构建高效可靠的应用程序。

2. 什么是Java虚拟机(JVM)?它的作用是什么?

Java虚拟机(Java Virtual Machine,JVM)是Java程序运行环境的一部分,它可以将Java字节码文件转换为平台相关的机器码执行。

JVM的主要作用有:

- 实现Java的平台无关性:JVM屏蔽了底层操作系统的差异,使得Java程序可以在不同平台上运行。

- 内存管理:JVM负责Java程序的内存分配和垃圾回收,通过自动

垃圾回收机制减少了内存管理的负担。

- 辅助执行:JVM提供了一组核心库,包括输入输出、网络通信、

线程管理等功能,方便程序员开发应用。

3. 请解释Java中的多态性及其实现方式。

多态性指的是同一种类型的对象,在不同的情况下可以具有不同的

行为。在Java中,实现多态性主要有两种方式:继承与接口。

- 继承:通过继承来实现多态性,子类可以继承父类的属性和方法,并且可以重写父类的方法。父类的引用可以指向子类的对象,通过父

Java面试题大全及答案

Java面试题大全及答案

Java面试题大全及答案

1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。

Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

2.JDK和JRE的区别是什么?

Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。Java开发工具包 (JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行 Java应用程序。

3.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。

Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。

4.是否可以在static环境中访问非static变量?

static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

java高级工程师面试题及答案

java高级工程师面试题及答案

java高级工程师面试题及答案

一、Java基础知识

1. 请简述Java语言的特点和优势。

Java是一种跨平台的编程语言,具有以下特点和优势:

- 简单易学:Java采用C/C++风格的语法,使得开发者可以快速上手。

- 面向对象:Java是一种面向对象的语言,通过封装、继承和多态等特性,使得程序更加模块化、可复用和可维护。

- 平台无关性:Java应用程序可以在不同的操作系统平台上运行,只需编译一次即可。

- 高效性能:Java通过垃圾回收机制和即时编译器(Just-In-Time Compiler)来提高性能,同时拥有高度优化的运行时环境。

- 安全性:Java提供了安全的执行环境,通过类加载器、字节码验证和安全管理器等机制,防止恶意代码的执行。

2. 什么是Java的自动装箱和拆箱?

自动装箱(Autoboxing)和拆箱(Unboxing)是Java编译器提供的便利功能。

- 自动装箱:将基本数据类型转换为对应的包装类对象,例如将int 类型转换为Integer对象。

- 自动拆箱:将包装类对象转换为基本数据类型,例如将Integer对象转换为int类型。

自动装箱和拆箱使得基本数据类型和包装类之间的转换更加方便,可以在需要包装类的地方直接使用基本数据类型,编译器会自动进行装箱或拆箱操作。

3. 请简述Java中的重载和重写的区别。

- 重载(Overload):指在同一个类中,方法名相同但参数列表不同的多个方法,可以具有不同的返回类型。重载可以通过参数个数、类型或顺序的不同来实现。重载的方法可以拥有不同的访问修饰符。

中级java工程师面试题

中级java工程师面试题

中级java工程师面试题

一、Java基础知识

1. 请解释Java的基本特性。

答:Java具有以下基本特性:简单性、面向对象、平台独立性、多线程、安全性、健壮性和动态性。简单性体现在语法上的清晰和简洁;面向对象则是指Java支持封装、继承和多态等面向对象编程的概念;平台独立性意味着Java程序可以在任何支持Java虚拟机(JVM)的平台上运行;多线程使得Java能够同时执行多个操作,提高了程序的效率;安全性则是指Java提供了一系列的安全特性,如异常处理和垃圾回收机制;健壮性体现在Java的强类型检查和错误检测能力;动态性则是指Java支持动态加载、运行时检查等特性。

2. 什么是JVM,JRE和JDK?

答:JVM(Java虚拟机)是运行Java程序的虚拟机环境,负责将Java 字节码解释执行或通过即时编译器(JIT)编译为本地机器码执行。JRE(Java运行环境)包括JVM和运行Java程序所需的核心类库和支持文件。JDK(Java开发工具包)则包含了JRE和开发Java应用程序所需的编译器、调试器等工具。

3. 描述Java中的垃圾回收机制。

答:垃圾回收(Garbage Collection, GC)是Java自动内存管理的一部分,负责回收不再使用的对象所占用的内存。Java中的对象会在没有引用指向它们时变成垃圾,GC会定期或根据内存需求来执行回收过程。这个过程包括标记无用对象、清除这些对象以及压缩内存空间。垃圾回收提高了程序的性能和稳定性,但也可能导致程序的暂停。

二、Java进阶知识

(完整版)Java经典面试题大全带答案

(完整版)Java经典面试题大全带答案

Java经典面试题带答案一、单项选择题

1.Java是从()语言改进重新设计。

A.Ada

B.C++

C.Pasacal

D.BASIC

答案:B

2.下列语句哪一个正确()

A. Java程序经编译后会产生machine code

B.Java程序经编译后会产生byte code

C.Java程序经编译后会产生DLL

D.以上都不正确

答案:B

3.下列说法正确的有()

A.class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C.constructor在一个对象被new时执行

D.一个class只能定义一个constructor

答案:C

4.提供Java存取数据库能力的包是()

A.java.sql

B.java.awt

C.java。lang

D.java。swing

答案:A

5.下列运算符合法的是()

A.&&

B.〈>

C.if

D.:=

答案:A

6.执行如下程序代码

a=0;c=0;

do{

-—c;

a=a-1;

}while(a〉0);

后,C的值是()

A.0

B.1

C.—1

D.死循环

答案:C

7.下列哪一种叙述是正确的()

A.abstract修饰符可修饰字段、方法和类

B.抽象方法的body部分必须用一对大括号{}包住

C.声明抽象方法,大括号可有可无

D.声明抽象方法不可写出大括号

答案:D

8.下列语句正确的是()

A.形式参数可被视为localvariable

B.形式参数可被字段修饰符修饰

C.形式参数为方法被调用时,真正被传递的参数

D.形式参数不可以是对象

答案:A

9.下列哪种说法是正确的()

Java初级开发工程师面试题含解答共70道题

Java初级开发工程师面试题含解答共70道题

Java初级开发工程师面试题含解答共70道题

Java基础

1. 什么是Java?

答案:Java是一种高级编程语言,具有跨平台特性,可以在不同操作系统上运行。它是一种面向对象的语言,最初由Sun Microsystems开发,现在由Oracle维护。Java应用程序在Java虚拟机(JVM)上运行。

2. Java中的数据类型有哪些?

答案:Java中的主要数据类型包括整数类型(int、long、short、byte)、浮点数类型(float、double)、字符类型(char)、布尔类型(boolean)以及引用数据类型(类、接口、数组)。

3. 什么是Java中的变量?

答案:变量是用于存储数据的内存位置,可以通过名称来引用。在Java中,变量有不同的数据类型,例如整数、浮点数、字符等。可以使用关键字如`int`、`double`、`char`来声明变量。

4. Java中如何声明和初始化一个变量?

答案:变量声明示例:

```java

int num;

double price;

String name;

```

变量声明和初始化示例:

```java

int num = 42;

double price = 19.99;

String name = "John";

```

5. 什么是Java中的数据结构?

答案:数据结构是一种组织和存储数据的方式。Java中有许多内置的数据结构,包括数组、列表、集合、映射等。这些数据结构可以用于不同类型的数据操作和存储。

面向对象编程

6. 什么是类和对象?

答案:类是一种用于创建对象的模板或蓝图,包含了对象的属性(字段)和行为(方法)。对象是类的实例,具有类定义的属性和行为。

JAVA研发工程师岗位面试题及答案(经典版)

JAVA研发工程师岗位面试题及答案(经典版)

JAVA研发工程师岗位面试题及答案

1.介绍一下您的Java开发经验。

答:我有X年的Java开发经验,从基础的JavaSE到企业级应用的开发经验。我参与过多个项目,包括Web应用、分布式系统和大数据处理。

2.请解释面向对象编程(OOP)的基本概念。

答:面向对象编程是一种编程范式,强调对象的概念,包括封装、继承和多态。封装将数据和方法封装在一个单元中,继承允许一个类继承另一个类的属性和方法,多态允许不同对象对同一方法具有不同的实现。

3.什么是Java中的异常处理?举个例子说明。

答:异常处理是在程序中处理错误情况的机制。例如,当尝试除以零时,会抛出ArithmeticException异常。我们可以使用trycatch 块捕获并处理这些异常,以保证程序的稳定性。

4.请解释Java中的垃圾回收机制。

答:Java的垃圾回收机制是自动管理内存的过程,它会自动回收不再使用的对象,释放内存。JVM通过监视对象的引用来确定哪些对象可以被回收,例如,当一个对象不再被引用时,它就成为垃圾,等待被垃圾收集器回收。

5.什么是Java中的线程?请说明多线程的优势。

答:线程是独立的执行流,允许多个任务在同一程序中并行执行。多线程的优势包括更高的程序响应性、更好的资源利用和更快的任务执行,特别是在多核处理器上。

6.如何在Java中创建线程?请举例说明。

答:可以通过继承Thread类或实现Runnable接口创建线程。例如,通过实现Runnable接口,可以创建一个线程来执行特定任务,提高代码的可重用性。

7.请解释Java中的同步和异步操作。

Java经典面试题集(详尽版)

Java经典面试题集(详尽版)

Java面试题集大综合

面试题集共分为以下十部分:

一、Core Java: 1 —95 题1 —24 页

基础及语法: 1 —61 题1 —13 页

异常:62 —69 题13 —15 页

集合:70 —80 题15 —18 页

线程:81 —90 题18 —21 页

IO & Socket:91 —95 题21 —24 页

二、OOAD & UML:96 —101 题24 —25 页

三、XML:102 —105 题26 —29 页

四、SQL:106 —109 题29 —31 页

五、JDBC & Hibernate:110 —121 题31 —35 页

六、Web:122 —161 题35 —44 页

七、EJB & Spring:162 —179 题44 —47 页

八、数据结构& 算法& 计算机基础:180 —187 题47 —51 页

九、C++:188 —201 题51 —55 页

十、Weblogic 及其它(附加部分) 1 ——13 题55 —57 页

一、CoreJava 部分:(共95 题:基础91 道,中等难度4 道)

基础及语法部分:(共61 题:基础60 道、中等难度1 道)

1、面向对象的特征有哪些方面? 【基础】

答:面向对象的特征主要有以下几个方面:

1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

java软件工程师面试题集

java软件工程师面试题集

java软件工程师面试题集

EJB方面

1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别?

答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS.....

2、EJB与JAVA BEAN的区别?

答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java 类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB 必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。

3、EJB的基本架构

Java程序员面试题集(附答案)

Java程序员面试题集(附答案)

Java程序员面试题集

第一,谈谈final, finally, finalize的区别。

第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以i mplements(实现)interface(接口)?

第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。

第四,&和&&的区别。

第五,HashMap和Hashtable的区别。

第六,Collection 和 Collections的区别。

第七,什么时候用assert。

第八,GC是什么? 为什么要有GC?

第九,String s = new String("xyz");创建了几个String Object?

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

第十二,sleep() 和 wait() 有什么区别?

第十三,Java有没有goto 关键字?

第十四,数组有没有length()这个方法? String有没有length()这个方法?

第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equ als()? 它们有何区别?

第十七,给我一个你最常见到的runtime exception。

java软件开发面试题

java软件开发面试题

java软件开发面试题

一、介绍

Java软件开发是一种基于Java语言的软件开发方法,广泛应用于各行各业。在Java软件开发领域,各个公司都会进行面试,以筛选出最合适的候选人。本文将介绍一些常见的Java软件开发面试题,帮助读者准备面试。

二、面试题目

1. 请解释Java的特点以及优势。

2. 请解释面向对象编程(OOP)的概念,并举例说明。

3. 请解释Java中的接口(Interface)和抽象类(Abstract Class)的区别。

4. 请解释Java中的多态性(Polymorphism)是什么,并举例说明。

5. 请解释Java中的异常处理机制,并介绍常见的异常类。

6. 请解释Java中的线程(Thread)以及线程同步的方法。

7. 请解释Java中的集合框架(Collection Framework)的概念,并介绍常见的集合类。

8. 请解释Java中的JVM(Java Virtual Machine)的作用以及工作原理。

9. 请解释Java中的反射机制(Reflection)是什么,并举例说明。

10. 请解释SOAP和RESTful的区别,并说明各自的优缺点。

11. 请解释Java中的数据库连接池(Database Connection Pool)的概念和作用。

12. 请解释什么是依赖注入(Dependency Injection)以及在Java中

的实现方式。

13. 请解释MVC(Model-View-Controller)模式在Java开发中的应用。

14. 请解释Java中的ORM(Object-Relational Mapping)框架的概念和作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java软件工程师面试题集

EJB方面

1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别?

答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS.....

2、EJB与JAVA BEAN的区别?

答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java 类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB 必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。

3、EJB的基本架构

答:一个EJB包括三个部分:

Remote Interface 接口的代码

package Beans;

import javax.ejb.EJBObject;

import java.rmi.RemoteException;

public interface Add extends EJBObject

{

//some method declare

}

Home Interface 接口的代码

package Beans;

import java.rmi.RemoteException;

import jaax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface AddHome extends EJBHome

{

//some method declare

}

EJB类的代码

package Beans;

import java.rmi.RemoteException;

import javax.ejb.SessionBean;

import javx.ejb.SessionContext;

public class AddBean Implements SessionBean

{

//some method declare

}

J2EE,MVC方面

1、MVC的各个部分都有那些技术来实现?如何实现?

答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程

和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

2、应用服务器与WEB SERVER的区别?

希望大家补上,谢谢

3、J2EE是什么?

答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

4、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。

答:Web Service描述语言WSDL

SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。

UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service 提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service 注册,以使别的企业能够发现的访问协议的实现标准。

5、BS与CS的联系与区别。

希望大家补上,谢谢

6、STRUTS的应用(如STRUTS架构)

答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。Struts有如下的主要功能:

一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。

二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。

三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。

相关文档
最新文档