Java工程师样题(一)
单选题
1:Java的输入输出流可以分为( )。( 2 分)
A:位流和文件流B:位流和字节流
C:位流和字符流D:文件流和字符流
答案:C
2:下例说法( )正确。( 2 分)
A:一个程序中可以包括多个类B:一个源文件中只能有一个类
C:一个源文件中可以有多个公共类D:一个源文件只能供一个程序使用
答案:A
3:使用SQL语句从数据库中删除记录,应使用( )。( 2 分)
A:SELECT B:INSERT
C:DELETE D:UPDATE
答案:C
4:线程睡眠时用一个整数参数指定睡眠时间,其单位是( )。( 2 分)
A:秒
B:毫秒
C:分钟
D:小时
答案:B
5:下面语句哪个是正确的( )。( 2 分)
A:char='zdc'; B:long l=oxfff;
C:float f=0.65; D:double=0.7E-2;
答案:B
6:建立了SQL语句变量,便可以执行SQL语句。如要执行查询数据的SELECT语句,可以通过( )语句来实现。( 2 分)
A:executeQuery()B:executeUpdate()
C:execute()D:createStatement()
答案:A
7:改变某个组件的颜色并且在颜色中刷新它时,Jbuilder实际上操作了( )方法。( 2 分)
A:使用drawColor()方法B:使用repaint()语句
C:什么也不做D:使用paint( )语句
答案:B
8:在下列javabean属性中,( )属性值的变化可能被其他组件否决掉。( 2 分)
A:Simple B:Constrained
C:Index D:Bound
答案:B
9:对对象的理解错误的是( )。( 2 分)
A:对象由属性和行为两部分组成。B:对象可以是一个人、地址、物品、事件、概念等。C:万事万物皆可看做对象。D:以上都不对
答案:D
10:如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏。这时如果想在该方法
内使用成员变量,必须使用关键字是( )。( 2 分)
A:this B:final
C:native D:super
答案:A
11:构造方法( )被调用。( 2 分)
A:类定义时B:创建对象时
C:调用对象方法时D:使用对象的变量时
答案:B
12:一个进程内的基本调度单位称为( )。( 2 分)
A:作业B:信元
C:进程上下文D:线程
答案:D
13:以下语句中有语法错误的是( )。( 2 分)
A:for(;;);B:for(int I=0;I〈100;I++〉〔〕;
C:if(a〈0〉a++;D:;;;
答案:C
14:建立了SQL语句变量,便可以执行SQL语句。如要执行插入记录或更改、删除记录的SQL 语句,可以通过( )语句来实现。( 2 分)
A:executeQuery()
B:executeUpdate()
C:execute()
D:createStatement()
答案:B
15:Java与C/C++比较说法错误的是( )。( 3 分)
A:Java不提供goto语句,所以也就没指定goto作为关键字。B:Java没有指针。
C:Java没有联合和结构D:Java只有单继承没有多重继承。
答案:A
16:一个方法不处理它产生的异常,由调用它的方法来处理这些异常,后面应跟关键字是( )。( 3 分)
A:throw B:throws
C:try…catch….finally D:以上都不对
答案:B
17:下列说法( )是正确的。( 3 分)
A:程序执行到break语句是一定会结束所有的循环
B:程序执行到continue语句时会结束当前循环
C:break语句和continue语句都可以和标签协同使用
D:continue语句和break语句的作用相同
答案:C
18:当编译和运行下列程序段时,会发生( )。
class Base {}
class Sub extends Base {}
class Sub2 extends Base {}
public class CEx{
public static void main(String argv[]){
Base b = new Base();
Sub s = (Sub) b;
}
}( 3 分)
A:通过编译和并正常运行。B:编译时出现例外。
C:编译通过,运行时出现例外。D:以上都不对
答案:C
19:关于接口( )正确。( 3 分)
A:实现一个接口必须实现接口的所有方法 B:一个类可以实现多个接口
C:接口间不能有继承关系D:接口和抽象类是同一回事
答案: B
20:若需要定义一个类域或类方法,应使用( )修饰符。( 3 分)
A:static B:package
C:private D:public
答案:A
多选题
21:下面( )方法是Applet所具有的方法。( 2 分)
A:start() B:paint()
C:add() D:destroy()
答案:ABD
22:下列( )说法是正确的。( 2 分)
A:Java 语言只允许单一继承B:Java 语言只允许实现一个接口
C:Java 语言不允许同时继承一个类并实现一个接口
D:Java 语言的单一继承使得代码更加可靠
答案:AD
23:定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( )。( 2 分)
A:private class MyClass extends Object B:class MyClass extends Object
C:public class MyClass D:public class MyClass extends Object
答案:CD
24:关于Float,下列说法正确的是( )。( 2 分)
A:Float是一个类B:Float在https://www.sodocs.net/doc/af9915605.html,ng包中
C:Float a=1.0是正确的赋值方法D:Float a= new Float(1.0)是正确的赋值方法
答案:ABD
25:继承是面向对象编程的一个主要优点之一,继承有( )几点好处。( 2 分)
A:它可以利用已有的类来创建自己的类,只需要指出自己的类和已有的其他的类有什么不同即可,而且还可以动态访问其他有关的类中的信息
B:通过继承,可以利用Java类库所提供的丰富而有用的类,这些类都已经被很好地实现。C:当设计很大的程序时,继承可以使程序组织得更加层次清晰,有利于程序设计和减少错误的发生。
D:以上都对。
答案:ABCD
26:类与对象的关系是( )。( 2 分)
A:类是对象集合的再抽象。
B:类(Class)是具有相同属性和行为的一组对象的集合。
C:一个对象称作类的一个实例。
D:类与对象是父与子的关系。
答案:ABC
27:在异常捕获的try…..catch….finally 语句中( )。( 2 分)
A:一个try块可以对应多个catch块
B:finally 代码块不是必须的。
C:如果有finally 代码块,则不论怎样都会执行finally 代码块中的内容。
D:如果捕获的诸类之间有继承关系,应该将父类的catch块放置在子类的catch块之前
答案:ABC
28:如下( )方法可以从WindowEvent获取事件源。( 2 分)
A:getFrame() B:getID()
C:getSource() D:getWindow()
答案:CD
29:以下( )方法是Applet采用AWT绘图时所采用的方法。( 3 分)
A:paint() B:draw()
C:update() D:repaint()
答案:ACD
30:对于JavaBean的属性,下面( )说法是正确的。( 3 分)
A:JavaBean的属性可以在开发工具中设置
B:JavaBean可以提供public类型的属性
C:如果需要访问和修改JavaBean的属性,只能通过get/set方法
D:如果一个属性只提供了get方法,那么它是只读的
答案:ACD
31:引入线程的好处有( )。( 3 分)
A:提高系统的执行效率B:减少处理机的空转时间和高度切换的时间
C:提高程序代码的可读性D:便于系统管理
答案:ABD
32:下面( )事件监听器在Java中有事件适配器。( 3 分)
A:MouseListener B:KeyListener
C:ActionListener D:ItemListener
答案:AB
判断题
33:HttpServlet类中定义了Servlet对象必须实现的init(),Service(),destroy()等方法。( 2 分) A:正确
B:错误
答案:B
34:使用Access创建数据库时,数据库名只能用英文命名。( 2 分)
A:正确
B:错误
答案:B
35:public void mark()方法将指针位置移动到标记位置。( 2 分)
A:正确
B:错误
答案:B
36:临界区指出它只能同时被一个线程访问,并且可以指定由线程访问的优先顺序。( 2 分) A:正确
B:错误
答案:B
37:用继承Thread类的子类或通过实现Runnable接口的类来创建线程不能交叉执行。( 2 分) A:正确
B:错误
答案:B
38:使用静态属性必须以类名做前缀。( 2 分)
A:正确
B:错误
答案:B
39:类Class1中的属性被private修饰符修饰为私有变量,所以方法不能访问它。( 2 分) A:正确
B:错误
答案:B
40:Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。( 2 分)
A:正确
B:错误
答案:A
41:管道是一种数据流形式,提供了不同程序之间直接传输数据的基本手段。( 2 分)
A:正确
B:错误
答案:B
42:子类可以抛出比父类更多的异常。( 2 分)
A:正确
B:错误
答案:B
43:break语句可直接跳出外层循环。( 3 分)
A:正确
B:错误
答案:B
44:有抽象方法的类,必须为抽象类。( 3 分)
A:正确
B:错误
答案:A
45:equals()方法与相等操作符(==)具有相同的功能。( 3 分)A:正确
B:错误
一:选择题 1. 关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2. private static int x=100; 3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++; 6. HasStatic hs2=new HasStatic( ); 7. hs2.x++; 8. hs1=new HasStatic( ); 9. hs1.x++; 10. HasStatic.x- -; 11. System.out.println(“x=”+x); 12. } 13. } A、 5行不能通过编译,因为引用了私有静态变量 B、 10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 2. 下列关于for循环和while循环的说法中哪个是正确的?( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换 D.两种循环结构中都必须有循环体,循环体不能为空 3. 以下选项中循环结构合法的是( C ) A、while (int i<7) { i++; System.out.println(“i is “+i); } B、 int j=3; while(j) { System.out.println(“ j is “+j); } C、int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); } D、 int j=0; do{ System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10); 4. 给出下面代码段, 哪行将引起一个编译时错误?( D )
1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗 基本数据类型包括byte、int、char、long、float、double、boolean和short。 类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求
Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C
Java软件开发工程师笔试题(答案) Java工程师笔试题 1,填空(此大题10项,每空1分,共20分) 1。Java语言的三个特性是继承性、封装性和多态性2.在Java中,char 使用_ _ _ _ Unicode _ _ _ _ _ _编码方案,因此中文字符和英文字符都占用__2__字节的内存空间 3。当方法由_ _定义时,形参指的是参数行,当方法由_ _调用时,实际参数是传入的变量或值。 4。JSP内置对象,应用程序对象代表应用程序上下文,它允许JSP 页面与包含在同一应用程序中的任何网络组件共享信息,而会话对象是特定于每个客户的 5。如果你想把一个对象写到一个流中,这个类必须实现Seralizable 接口 6。在程序中实现多线程有两种方法:继承线程类和实现_ _ Runable _ interface 7。在多线程中,线程的相对优先级可以通过调用相应的setPriority()方法来修改 8。面向对象编程的五个设计原则是单一责任、开放和封闭、里氏尺度替换、依赖倒置、接口分离。通过Ajax,客户端获取的数据主要有两种类型:文本类型和xml 10。Socket通常也叫socket,用来描述__ ip和_ _ interface 2,多项选择题(这个大题20项,每项2分,共40分)
1。在JA V A中,如果父类中的一些方法不包含任何逻辑并且需要被子类重写,那么父类的这些方法应该使用()关键字来声明:a)final b)static c)abstract d)void 2。在JA V A中,已经定义了两个接口b和c。要定义实现这两个接口的类,下面的语句是正确的() a)接口aextend b,c b)接口a implements b,c c)类a mplements b,c d)类a mplements b,实现c 3。可以在JA V A接口()中定义 A)静态方法b)常量c)构造函数d)抽象方法 4。假设A有构造函数A (int a),那么在A类的其他构造函数中调用的构造函数和语句格式应该是() a)a(x)b)this . a(x)c)this(x)d)super(x) 5。如果x = 1,y = 2,z = 3,表达式y+= z-/++x的值为()a)3b)3.5°c)4d)5 6。下列关于继承的陈述中哪一个是正确的?( )a)子类只继承父类的公共方法和属性:b)子类继承父类的非私有属性和方法: C)子类继承父类的方法,但不继承父类的属性:d)子类继承所有的属性和方法。 7。在爪哇。使用JDBC时对于对同一个SQL语句的多次调用,使用()通常会提高效率 a)语句b)可调用语句c)准备语句d)prarmeters语句8。以下方法无法控制Servlet的生命周期:a)服务b)销毁c) dopost d) init9。可以分配给字节变量的值的范围是()0 ~ 65535 b) (-128) ~ 127 c) (-32,768) ~ 32,
Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6
输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.sodocs.net/doc/af9915605.html,parable
D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值
软件开发工程师(JAVA)笔试题 请在90分钟以内做答答案请写在答题纸上 一、选择题 1、下面哪项是不合法的标识符:() A. $persons B. TwoUsers C. *point D. _endline E. final 2、下列运算符合法的是() A.&& B.<> C.if D.:= 3、下面描述中哪两项相等:()[选择两项] A.<%= YoshiBean.size%> B.<%= YoshiBean.getSize()%> C.<%= YoshiBean.getProperty(“size”)%> D.
1、抽象: 抽象就就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只就是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一就是过程抽象,二就是数据抽象。 2、继承: 继承就是一种联结类的层次模型,并且允许与鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法与实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3、封装: 封装就是把过程与数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其她对象。 4、多态性: 多态性就是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性与包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String就是最基本的数据类型不? 基本数据类型包括byte、int、char、long、float、double、boolean与short。 java、lang、String类就是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 与Integer 有什么区别 Java提供两种不同的类型:引用类型与原始类型(或内置类型)。Int就是java的原始数据类型,Integer就是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型与原始类型的行为完全不同,并且它们具有不同的语义。引用类型与原始类型具有不同的特征与用法,它们包括:大小与速度问题,这种类型以哪种类型的数据结构存储,当引用类型与原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 与StringBuffer的区别 JA V A平台提供了两个类:String与StringBuffer,它们可以储存与操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当您知道字符数据要改变的时候您就可以使用StringBuffer。典型地,您可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,就是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但就是并不要求必须声明抛出未被捕获的运行时异常。
1.web中的forward和redirect的区别? 前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。 2. xml在解释的时候DOM和SAX协议的区别和含义? DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问 SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问 3说明JNDI、JMS、JTA、RMI的意思? JNDI(Java Naming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。 JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,翻译为Java消息服务。JMS支持点对点和发布/订阅两种消息模型。 JTA(Java Transaction API) 为 J2EE 平台提供了分布式事务服务。要用 JTA 进行事务界定,应用程序要调用https://www.sodocs.net/doc/af9915605.html,erTransaction 接口中的方法. RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。它大大增强了Java开发分布式应用的能力 4.单例模式 Public class Signle{ Private Signle(){ } Pirvate static Signle signle = new Signle(); Public static Signle gets(){ Retrun signle; } } 5数据库中left join的意思,和在什么场合中应用? LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。 6 ejb中的sessionbean和entitybean的区别和含义? SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean 被用来代表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。 对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。 7抽象类和接口的区别 1:一个类可以实现任意多的接口,但是最多只能对一个抽象类进行子类化。 2:一个抽象类可以包括非抽象方法,而一个接口的所有方法在效果上都是抽象的。 3:一个抽象类可以申明并使用变量,而一个接口不行。 4:一个抽象类中的方法的访问修饰符可以使public,internal,protected,protected internal,private,而接口成员的访问修饰符在默认情况下都是public,而且,在申明接口成员时,不允许使用访问修饰符(甚至不能使用public)。
JAVA工程师笔试题 一、选择题 1、如下代码 public class Test { public int aMethod() { static int i = 0; i++; return i; } public static void main (String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } } 输出结果是什么? A. 0 B. 1 C. 2 D. 编译失败 2. 如下代码 int i =1,j =10; do { if(i++> --j) { continue; } } while (i <5); System.out.println("i = " +i+ "and j = "+j); 输出结果是什么? A. i = 6 and j = 5 B. i = 5 and j = 5 C. i = 6 and j = 5 D. i = 5 and j = 6 3. 如下代码: public class SwitchTest { public static void main(String[] args) { System.out.println("value = " + switchIt(4)); } public static int switchIt(int x) { int j = 1; switch (x) { case 1: j++; case 2: j++; case 3: j++;
case 4: j++; case 5: j++; default: j++; } return j + x; } } 输出结果是什么? A. value = 3 B. value = 4 C. value = 5 D. value = 6 E. value = 7 F. value = 8 4. 在接口中以下哪条定义是正确的? (多选) A. void methoda(); B. public double methoda(); C. public final double methoda(); D. static void methoda(double d1); E. protected void methoda(double d1); 5. 如下代码: public void test(int x) { int odd = x%2; if (odd) { System.out.println("odd); } else { System.out.println("even"); } } 哪个描述正确? A. 编译失败. B. "odd" 永远被输出. C. "even" 永远被输出 D. "odd" 输出x的值, E. "even" 输出x的值 6. 如下代码: public class X { public X aMethod() { return this;} } public class Y extends X {} 哪些方法能加到Y类的定义中? A. public void aMethod() {} B. private void aMethod() {} C. public void aMethod(String s) {} D. private Y aMethod() { return null; } E. public X aMethod() { return new Y(); } 7. 如下代码: public class X {
一、问答题(共两题每题5分) 1、在软件开发的形式中,有单独开发和团队开发,请您分析两种开发形式的利弊? 2、除了工资还有什么福利对你具有吸引力? 二、案例分析(共四题每题5分) 1、案例一:项目经理陈经理所在的项目组接到总监分配的一项紧急任务,要求在2天内完成A项目,陈经理马上召集其下属工程师小张和小黄进行工作分配并分析项目要点和各个要点的主要做法。时间已经过去了1天半,工程师小张发现,根据陈经理对项目要点的主要做法行不通,但时间已经所剩不多了。 问题一:如果你是小张,你会怎么做?为什么? 问题二:由于项目做法的问题导致项目的进度无法按总监的要求在2天内完成,总监怪罪下来,你认为这是谁的责任,为什么? 2、案例二:工程师小李和工程师小陈分别在同一个项目组负责软件开发工作,他俩是同时进入公司的,而且被分配在邻座,因此关系非常好。工程师小李最近发现小陈经常在上班时间做一些与本公司业务无关的工作,并且在一次偶然的机会让小李发现,小陈的薪资比自己的薪资要高一倍多。 问题一:如果你是小李,你会怎么做,为什么? 问题二:如果你是小陈,你发现做的事情被小李发现了,你会怎么做,为什么? 技术题 一、基础题,共十题每题2分 1、GC是什么?为什么要有GC? 2、short s1 = 1; s1 = s1 + 1;有什么错?short s1 = 1; s1 += 1;有什么错?Byte a=1,b=1,bye c=a+b有什么错?Short a=1,b=1,Short c=a+b有什么错(答对一个给0.5分) 3、Java有没有goto? 4、数组有没有length()这个方法?String有没有length()这个方法? 5、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?(答对第一句话即可得满分,或者意思差不多的即可) 6、List, Set, Map是否继承自Collection接口? 7、构造器Constructor是否可被override? 8、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 9、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?(答对第一句即可得满分) 10、EJB中LocalHome的作用是什么? 二、程序测试题(共四小题每题5分) 1、谈谈你对以下程序的看法。 class MyString extends String{ public static int i = 0; private char[] chars = {…a?,?b?,?c?}; public MyString(){} static{ System.out.println( “i = ” + ( i++ ) ); } public String getString(){ String s = “”; for( char c : chars ){
在项目中主要遇到的困难? 讲一下对Springmvc的理解? SpringMvc是基于过滤器对servlet进行了封装的一个框架,我们使用的时候就是在web.xml 文件中配置DispatcherServlet类; SpringMvc工作时主要是通过DispatcherServlet管理接收到的请求并进行处理。 Spring用的是注释还是配置文件 注释 讲一下Spring常用的注解 autowrite Resource Qualifier repository service controller requestMapper responseBody requestParam ModelAttribute
Scope Session和cookie的区别?怎么动手清除cookie?用代码? session打开浏览器创建的,每个浏览器对应一个session cookie是在客户端本地,不会随着浏览器关闭而消失 用户可以自己清除本地cookie,也可以在程序中使用代码清除 “记住我”怎么实现?吧什么存到session? 使用cookie记住加密的账号和密码 怎么把MyBatis整合到spring?MyBatis的#和$区别? MyBatis最重要的配置是数据库连接、SqlSession的创建和sql映射文件 可以将mybatis的数据库连接和SqlSession和对sql映射文件的扫描配置到spring配置文件中 mybatis中#可以表示任何数据类型都可以,$单独表示数字 Mybites支持延迟加码吗?原理是什么? mybatis支持延迟加载 在查询的时候不会加载出关联表,但是需要用到关联表的时候,不需要再单独写查询语句,mybatis会自动查询出需要的关联表信息
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 }
Java 软件工程师面试笔试题.txt﹃根网线''尽赚了多少人的青春い有时候感动的就是身边微不足道的小事。﹎破碎不是最残酷的最残酷的是踩着这些碎片却假装不疼痛固执的寻找﹎将来就算我遇见再怎么完美的人,都有一个缺点,他不是你,_____下辈子要做男生,娶一个像我这样的女生。一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? 答: MVC设计模式(应用观察者模式的框架模式) M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentation)。 V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。 C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图 MVC框架的一种实现模型 模型二(Servlet-centric): JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。 StrutsMVC框架(Web application frameworks) Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。 Struts提供了一些组件使用MVC开发应用程序: Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean或EJB的形式提供 View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts 提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。 Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action 控制器。Action控制器中提供了model的逻辑接口。 二、什么是WebService? 答: WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。 WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。 WebService=WSDL+SOAP+UDDI(webservice的注册) Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。 Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。 Web Service的优点 (1) 可以让异构的程序相互访问(跨平台) (2) 松耦合 (3) 基于标准协议(通用语言,允许其他程序访问) Web Service的基本原理
【java开发语言部分共26分,每题2分】 1. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 2. 下面程序的运行结果是() String str1 = "hello"; String str2 = "he" + new String("llo"); System.err.println(str1 == str2); 3. 下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 4. 下列属于关系型数据库的是() A. Oracle B MySql C IMS D MongoDB 5.Java中main()函数的返回值是什么() A、String B、int C、char D、void 6.下面的代码段中,执行之后i 和j 的值是什么? ()代码如下: int i=1; int j; j = i++; A、1, 1 B、1, 2 C、2, 1 D、2, 2 7.下面哪个是main()函数的合法参数? () A、char args[] B、char args[][] C、String args[] D、String args 8. 已知如下代码:
switch (m) { case 0: System.out.println("Condition 0"); case 1: System.out.println("Condition 1"); case 2: System.out.println("Condition 2"); case 3: System.out.println("Condition 3");break; default: System.out.println("Other Condition"); } 当m 的值为什么时输出”Condition 2”(),选三项 A、0 B、1 C、2 D、3 E、4 F、None 9. 下面能让线程停止执行的有哪些(),选五项 A. sleep(); B. stop(); C. notify(); D. suspend(); E. yield(); F. wait(); G. notifyAll(); 10.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思? 11.进程和线程的区别是什么? 12.创建线程有几种不同的方式?你喜欢哪一种?为什么? 13.Java中Exception和Error有什么区别? 【linux 操作系统部分,共20分,每题2分】 1、Linux 操作系统中默认拥有完全控制全的用户是______。 2、登录成功后,切换当前目录的命令是________。 3、使用useradd 创建用户后,会在______目录创建用户主目录。 4、如果要列出一个目录下的所有文件需要使用命令行____________。 5、使用_____命令可以将普通用户转换为超级用户。
竭诚为您提供优质文档/双击可除java开发工程师面试问哪些问题? 篇一:Java开发工程师面试题总结 JAVA开发工程师面试题总结--JAVAse部分 1.谈谈final,finally,finalize的区别? ?final是Java的一个关键字,用于定义不能被继承的类,不能被覆写的方法,常量。?finally是Java的一个关键字,是异常处理操作的统一出口。 ?finalize是object类中所提供的一个方法,用于在对象回收之前进行收尾操作。 2.请解释Java实现可移植性的原理 ?Java程序最终通过字节码文件运行,运行的时候字节码需要JVm的支持,但是在不同的操作系统上有不同JVm,程序不用关系操作系统,只关心JVm,只要JVm不改变,程序可以在操作系统间任意移植。 3.请解释path和classpath的区别? ?path是windows的环境属性,用于指定可执行命令的路径
?classpath是指在java程序执行的时候,用于指定类的加载路径 4.请说明下JAVA中的几个特殊关键字(了解,一般面试面这个问题的都是一些煞笔公司) ?未使用到的关键字:goto、const ?有特殊含义的关键字:null、true、false ?JDK1.4之后增加了一个assert关键字 ?JDK1.5之后增加了一个enum关键字 5.请解释JAVA中的数据类型的划分,并说出其默认值?基本数据类型: ?数值型: ?整型:byte、short、int、long;?0 ?浮点型:float、double;?0 ?字符型:char?空字符:’\u0000’ ?布尔型:boolean?false ?引用数据类型:数组、类、接口?null 6.请解释 2.http协议及端口,smtp协议及端口 http:超文本传输协议端口80 smtp:简单邮件传输协议端口25 3.编写程序,完成文件复制功能 4.servlet创建过程及生命周期servlet在容器中运行
JA V A开发工程师面试题总结--JA V ASE部分1.谈谈final,finally,finalize的区别? ●final是Java的一个关键字,用于定义不能被继承的类,不能被覆写的方法,常量。 ●finally是Java的一个关键字,是异常处理操作的统一出口。 ●finalize是Object类中所提供的一个方法,用于在对象回收之前进行收尾操作。2.请解释Java实现可移植性的原理 ●Java程序最终通过字节码文件运行,运行的时候字节码需要JVM的支持,但是在 不同的操作系统上有不同JVM,程序不用关系操作系统,只关心JVM,只要JVM 不改变,程序可以在操作系统间任意移植。 3.请解释path和classpath的区别? ●path是windows的环境属性,用于指定可执行命令的路径 ●classpath是指在java程序执行的时候,用于指定类的加载路径 4.请说明下JAVA中的几个特殊关键字(了解,一般面试面这个问题的都是一些煞笔公司) ●未使用到的关键字:goto、const ●有特殊含义的关键字:null、true、false ●JDK1.4之后增加了一个assert关键字 ●JDK1.5之后增加了一个enum关键字 5.请解释JAVA中的数据类型的划分,并说出其默认值 ●基本数据类型: ?数值型: ◆整型:byte、short、int、long; →0 ◆浮点型:float、double; →0 ?字符型:char →空字符:’\u0000’ ?布尔型:boolean →false ●引用数据类型:数组、类、接口→null
6.请解释&和&&、|和||的区别 ●&(普通与)和|(普通或)指的是所有条件都进行判断; ●&&(短路与)如果前面的条件不满足,则后面不再进行判断,||(短路或)如果前 面的条件满足则后面不再判断; ●在开发之中为了性能的提高,主要使用短路与和短路或操作; ●&和|除了用于逻辑运算之外,也可以进行位运算的操作; 7.请解释String类的两种比较方式 ●在String类中可以使用“==”和equals()两种操作来进行字符串的比较 ●“==”比较的是两个字符串的内存地址数值,属于数值比较 ●equals()是String类中提供的一个方法,用于字符串内容的比较,最简单的做法就 是比较字符串永远使用equals()方法就行了 8.请解释String对象的两种实例化方式的区别 ●首先String对象的实例化方式有两种:一种是直接赋值,另外一种是通过构造方法 完成 ●直接赋值:只开辟一个堆内存空间,而且采用了共享设计模式,可以自动入池,以 备下次对象继续使用 ●构造方法:会开辟两快内存空间,其中有一块空间将成为垃圾,而且不会自动入池, 可以使用intern()方法进行手工入池 ●从开发角度来说,很明显使用直接赋值的方式会更好一些 9.请谈谈方法的重载和覆写的区别 ●首先重载和覆写都是面向对象多态性的一个体现 ●重载 ?单词:OverLoading ?概念:方法名称相同,参数的类型或个数不同 ?范围:发生在一个类之中 ?权限:重载的时候没有权限的限制 ●覆写 ?单词:Override ?概念:方法名称、返回值、参数的个数及类型全部相同 ?范围:发生在继承关系中 ?权限:子类覆写的方法不能拥有比父类更严格的访问控制权限 ●重载的时候可以返回值类型不相同,但是没有任何意义