北京宏景世纪软件有限公司java程序员笔试题面试题
java面试的题目及答案
java面试的题目及答案Java面试题目及答案(共计2000字)1. 介绍一下Java的特点及优点。
Java是一种通用、高级、面向对象的编程语言,具有以下特点和优点:- 简单性:Java相对于其他编程语言来说较为简单,容易学习和使用。
- 面向对象:Java是一种纯粹的面向对象编程语言,支持封装、继承和多态等面向对象的特性。
- 跨平台性:Java程序可以在不同的操作系统上运行,这是由于Java编译器将Java代码编译成字节码,并在Java虚拟机(JVM)上执行。
- 安全性:Java具有强大的安全特性,包括内存管理、异常处理和安全检查等,能够防止内存泄漏和崩溃等问题的发生。
- 多线程支持:Java提供了多线程编程的支持,使得程序可以并发执行,提高了程序的执行效率。
- 开源生态系统:Java拥有庞大的开源生态系统,包括许多优秀的开源框架和工具,方便开发人员快速构建应用程序。
2. 什么是Java虚拟机(JVM)?它的作用是什么?Java虚拟机(JVM)是Java的核心组件之一,它是一个可以执行Java字节码的虚拟机程序。
JVM主要有以下作用:- 平台无关性:JVM解释并执行Java字节码,使得Java程序可以在不同的操作系统上运行,大大提高了程序的可移植性和跨平台性。
- 内存管理:JVM负责Java的内存管理,包括堆、栈和方法区等,使用垃圾回收机制来自动管理内存,防止内存泄漏和崩溃等问题的发生。
- 虚拟化:JVM提供了对Java程序的虚拟化支持,允许使用多线程并发执行Java程序,提高程序的执行效率。
- 安全性:JVM提供了严格的安全检查机制,确保Java程序的安全性,避免恶意代码的执行。
- 动态扩展:JVM支持动态加载和链接Java类和库,使得Java程序能够在运行时根据需要加载和使用外部类和库。
3. 什么是面向对象编程(OOP)?Java是一种面向对象的编程语言吗?面向对象编程(OOP)是一种编程范式,以对象为中心,将数据和行为封装在一起,并通过对象之间的交互来完成任务。
新版精选2020年JAVA程序员笔试面试考核题库300题(含答案)
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1."下列语句顺序执行后,j的值是:int j=0;for(int i=5;i>0&j<10;i--)j+=i;A. 12B. 11C. 9D. 10答案:A2.在java中判断applet的来源的方法有?A. getCodeBase();B. getDocumentBase();C. getCodebase();D. getDocumentbase();答案:AB3.下面哪些是合法的标识符?A. *point;B. _endline;C. $personC. const答案:BC4.多选题:答案:5.构造ArrayList类的一个实例,下列哪个方法是正确的?A. List myList = new ArrayList();B. ArrayList myList = new List();C. List myList = new List();D. ArrayList myList = new Object();答案:A6.下面哪些接口的声明是错误的?A. interface MyInterface extends Youninterface{}B. private interface MyInterface{}C. interface MyInterface extends Youninterface1, Youninterface2{}D. interface MyInterface implements MyInterface{}E. interface MyInterface{}答案:C7.下面哪个Map是排序的?A. HashtableB. TreeMapC. HashMapD. WeakHashMapE. LinkedHashMap答案:E8.以下关于UML的说法正确的是:A. UML是标准的建模语言,而不是标准的开发过程B. UML是标准的建模语言,也是标准的开发过程答案:A9.ORACLE数据库属于以下哪种数据库典型?A. 关系数据库B. 网状数据库C. 层次数据库D. 面向对象的关系数据库答案:A10."下面代码中队result描述正确的是?InputStream in = … ;byte[] buff = new byte[1024];int result = in.read(buff, 0, 256)A. result 可能等于256B. result 可能等于0C. result 可能等于1024D. result 可能等于1答案:AB11.下列哪个组件能在一个EAR文件中被声明?A. EJB类B. JMX MbeansC. JDBC DataSource对象D. JMS ConnectionFactory 和 Destination对象。
精选最新版2020年JAVA程序员笔试面试完整考试题库300题(含参考答案)
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.下面哪些接口的声明是错误的?A. interface MyInterface extends Youninterface{}B. private interface MyInterface{}C. interface MyInterface extends Youninterface1, Youninterface2{}D. interface MyInterface implements MyInterface{}E. interface MyInterface{}答案:C2.下列哪些情况适合考虑使用有状态会话beanA. 实例化会话bean的时候,必须初始化会话bean的状态B. 在方法调用期间,会话bean需要维护成员变量的的数据C. 会话bean提供的服务不具体针对某种客户端D. 会话bean需要跨越多个方法调用,维护客户端的信息答案:AD3.转发HTTP请求的两个方法 respsonse.sendDirect 和 RequestDispatcher.forward 的区别答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
这样,从浏览器的地址栏中可以看到跳转后的链接地址。
所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。
4.在Weblogic中如果部署的应用访问两个数据库并需要进行事务控制时,则需配置答案:两阶段提交协议5.System同时包含三个预定义的流变量,分别是答案:In out err6."下面代码中队result描述正确的是?InputStream in = … ;byte[] buff = new byte[1024];int result = in.read(buff, 0, 256)A. result 可能等于256B. result 可能等于0。
java开发面试题目及答案
java开发面试题目及答案在Java开发领域,面试是求职过程中的重要环节。
为了帮助准备Java开发岗位面试的候选人更好地准备,本文将提供一些常见的Java 面试题目及其答案。
这些问题涵盖了Java基础知识、面向对象编程、多线程、异常处理、集合框架等关键领域,希望能够帮助读者提升对Java开发的理解和应对面试的能力。
一、Java基础知识1. 什么是Java?它有哪些特点?Java是一种面向对象的编程语言,由Sun Microsystems(现为Oracle)于1995年首次发布。
它具有跨平台、简单易学、可靠性高、安全性好等特点,通过Java虚拟机(JVM)实现跨平台的特性,使得Java成为广泛应用于各种领域的编程语言。
2. Java的基本数据类型有哪些?Java的基本数据类型包括int、long、float、double、byte、short、char、boolean。
3. Java中的自动装箱和拆箱是什么?自动装箱(Autoboxing)指的是将基本数据类型自动转换为对应的包装类对象,而自动拆箱(Unboxing)则是将包装类对象自动转换为基本数据类型。
这种特性可以方便地在基本类型和包装类型之间进行转换。
4. 什么是Java的访问修饰符?Java的访问修饰符包括public、protected、private和默认访问修饰符(没有显式修饰符)。
它们用于控制类、成员变量、方法以及构造方法的访问权限。
5. Java中的final关键字有什么作用?final关键字可以用于修饰类、变量和方法。
修饰类时表示该类不能被继承,修饰变量时表示该变量的值不能被修改,修饰方法时表示该方法不能被子类重写。
二、面向对象编程1. 什么是面向对象编程(OOP)?面向对象编程是一种编程范式,通过组织相关数据和方法来创建对象,并通过对象之间的交互实现系统功能。
它具有封装、继承和多态的特性,能够提高代码的可复用性、可扩展性和可维护性。
java面试题库java面试题目及答案(3篇)
第1篇一、基础知识1. Java简介题目:请简述Java的基本特点。
答案:- 简单易学:Java设计之初就考虑了易学性,使用面向对象编程。
- 原生跨平台:Java通过JVM(Java虚拟机)实现跨平台运行。
- 安全性:Java提供了强大的安全机制,如沙箱安全模型。
- 体系结构中立:Java不依赖于特定的硬件或操作系统。
- 高效:Java的运行速度接近C/C++。
- 多线程:Java内置多线程支持,便于实现并发处理。
- 动态性:Java在运行时可以进行扩展和修改。
2. Java虚拟机题目:请解释Java虚拟机(JVM)的作用。
答案:JVM是Java程序的运行环境,其主要作用包括:- 将Java字节码转换为本地机器码。
- 管理内存,包括堆、栈、方法区等。
- 提供垃圾回收机制。
- 管理线程和同步。
3. Java内存模型题目:请简述Java内存模型的组成。
答案:Java内存模型主要由以下部分组成:- 堆(Heap):存储对象实例和数组。
- 栈(Stack):存储局部变量和方法调用。
- 方法区(Method Area):存储类信息、常量、静态变量等。
- 本地方法栈(Native Method Stack):存储本地方法调用的相关数据。
- 程序计数器(Program Counter Register):存储线程的当前指令地址。
4. Java关键字题目:请列举并解释Java中的几个关键字。
答案:- `public`:表示访问权限为公开。
- `private`:表示访问权限为私有。
- `protected`:表示访问权限为受保护。
- `static`:表示属于类本身,而非对象实例。
- `final`:表示常量或方法不能被修改。
- `synchronized`:表示线程同步。
- `transient`:表示数据在序列化时不会被持久化。
二、面向对象编程5. 类和对象题目:请解释类和对象之间的关系。
答案:类是对象的模板,对象是类的实例。
北京宏景世纪软件股份有限公司
笔试题一、选择题(不定项每题2分)1.在JAVA中,下列哪项说法是正确的()A.Java源文件的扩展名是 .javaB.写好的Java源程序可以直接运行C.编写的源程序必须先编译后才能运行D.程序员可以读懂扩展名为.class扩展名的文件2.在Java中,关于数组描述正确的是()A.数组中的索引下标从1开始B.存储在数组当中的数据都属于同一种数据类型C.通过数组名.length()能获得数组的长度D.数组的最大索引下标是数组的长度减3.下列哪些赋值语句是正确的()A.long test = 012;B.float f = -412;C.int other = (int)true;D.byte b = 128;4.以下代码输出的是()Class Demo {public static void main(String[] args) {int i=0;int sum=0;while(i<=10) {i++;if(i%2 != 0) {countinue;sum += I;}}}}5.下面关于java中包的说法正确的是()A.在java中可以使用import语句导入包B.在java中可以使用package语句导入包C.位于同一个包中的类,不需要导包就可以直接访问D.不同的包中可以出现类名相同的类6.运行以下代码片段,输出的结果是?()Class x{Y b =new Y();X(){System.out.print(“X”);}}二、判断题(3题,每题5分)31.两个对象值相同(x.equals(y)==true),但可以有不同的hashcode()32.队列逻辑上是一个上端和下端都能增加又能减少的线程表()33.假设Person是一个JAVA类,并且Student是Person的一个子类,那么当我们创建一个Student对象时,Java系统必定会创建一个父类Person的对象()三、选择题(3题,每题5分)er Case用来描述系统在事件作出响应时而采取的行动,用例之间是具有相关性的,在一个“订单输入子系统”中创建新订单和更新订单都需要检查用户账号是否正确,那么用例“创建新订单”,“更新订单”与用例“检查用户账号”之间是()关系A.aggregationB.extendC.includeD.classification35.有以下程序:Public clas Score {Public static void main(String【】args){int[] a = {25, 36, 47, 32, 2};int ma=0, maValue=a[0];int mb=0, mbValue=a[0];for(int i=1; i<a.length; i++){if(a[i]<maValue) {ma=i;maValue=a[i];}if(a[i]>mbValue) {mb = i;mbValue=a[i]}}Sysout.out.println(“maValue=[”+ma+”]=”+maValue);}}程序的运行结果是:()A.maValue=a[4]=2;B. maValue=a[4]=47;C. maValue=a[4]=25;D.出错36.在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及扩展性,那么在实现多态时,不包括的步骤是()A.子类重写父类的方法B.子类重载同一个方法C.定义方法时,把父类类型作为参数类型,调用方法时把父类或子类对象作为参数传入方法D.运行时,根据实际创建的对象类型动态决定使用哪个方法。
精选最新版2020年JAVA程序员笔试面试考试题库300题(含答案)
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1."给出下面的不完整的方法:1)2){ success = connect() ;3)if (success == -1){4) throw new TimeOutException();5)}6)}TimeOutException 不是一个RuntimeException,下面那行可以放在 1)处?A. public void method() throws ExceptionB. public void method()C. public void method() throws TimeOutExceptionD. public void method() throw TimeOutException答案:2.合法标识符的定义"• 1. 只能以字母,下划线(_)或美元符($)开头,数字不能作为开头• 2. 不能包含美元符($)以外的特殊符号• 3. 不能包含空格• 4. 可以是中文字符或日文字符答案:13."下面代码显示的结果是什么public class Test {static init arr[] = new int[0]public static void main(String [] arge) {System.out.print(arr[1]);}}答案:可编译通过,运行报异常4.String s1=”Hello”表达式s1==”Hello”返回true or false答案:TRUE5.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键B. 总控键C. 重复的组。
精编新版2020年JAVA程序员笔试面试完整考试题库300题(含答案)
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.算法的时间复杂度是指:答案:时间复杂度是度量算法执行的时间长短。
随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越高。
2.下列对继承的说法,哪个是正确的( )A. 子类只能继承父类public方法和状态B. 子类能继承父类的protected方法,而不继承protected状态C. 子类能继承父类的所有非私有方法和状态D. 子类能继承父类的私有方法和状态答案:C3.EJB在WEBLOGIC中的部署文件答案:weblogic-ejb-jar.xml4.方法中的局部变量何时分配内存答案:在方法被调用时、静态变量在类被加载时分配内存5.下列关于java程序结果错误的是A. 源文件可以没有 import 语句B. Package语句必须放在源文件的第一句C. 一个源文件可以有多个类定义D. 一个源文件可以定义多个public类答案:D6.如果配置一个servlet需要使用的参数,最好在哪个方法中A. doPostB. destroyC. doGetD. serviceE. init答案:AC7.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键B. 总控键C. 重复的组D. 主键答案:A8."给出下面代码:public class Person{static int arr[]=new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?A. 编译时将产生错误;B. 编译时正确,运行时将产生错误;C. 输出零D. 输出空.答案:C9.定义字符串:String str =Abcddefg”; 则str.substring(1,4).indexOf(“d”) 的结果是答案:210.如果你被要求写一段代码读取一个图片文件,那么一般使用哪种Stream?A. ObjectInputStreamB. FileInputStreamC. FileReaderD. DataInputStream答案:D11.1. 保证在java应用程序中,一个类Class只有一个实例存在该使用什么设计模式答案:单例12.单选题答案:13."执行下列代码后,哪个结论是正确的?String[] s = new String[10];A. s.length为10B. s[9]为nullC. s[10]为”D. s[9]为0答案:AB14."给出下面的不完整的方法:1)2){ success = connect() ;3)if (success == -1){4) throw new TimeOutException();5)}6)}TimeOutException 不是一个RuntimeException,下面那行可以放在 1)处?A. public void method() throws ExceptionB. public void method()C. public void method() throws TimeOutExceptionD. public void method() throw TimeOutException答案:15.关于readLine() 方法,一下说法正确的是?A. 该方法抛出IOException异常,调用该方法应该try …catch…B. 如果读到文件的末尾,该方法返回的结果为nullC. readLine()每次读取一行数据D. BufferReader类的对象可以调用该方法答案:ABCD16.构造ArrayList类的一个实例,下列哪个方法是正确的?A. List myList = new ArrayList();B. ArrayList myList = new List();C. List myList = new List();D. ArrayList myList = new Object();答案:A17.下面哪些接口的声明是错误的?A. interface MyInterface extends Youninterface{}B. private interface MyInterface{}C. interface MyInterface extends Youninterface1, Youninterface2{}D. interface MyInterface implements MyInterface{}E. interface MyInterface{}答案:C18.System同时包含三个预定义的流变量,分别是答案:In out err19."下面程序执行代码到第5行时j的值是:1. public class test {2. public static void main(String args[]) {3. int i = OxFFFFFFF1;4. int j = -i;5.6. }7. }A. 14B. 15C. 0D. 1答案:B20.以下那种类型的图表述系统中各个对象的类型以及其间存在的各种静态关系?A) 用例图B) 构件图C) 活动图D) 类图答案:D21.Which keyword is used to allow interaction with the lock flag ?"A. nativeB. staticC. synchronizedD. abstract答案:C22.下面有关表和视图的叙述中错误的是A. 视图的据可以来自多个表B. 对视图的据可以来自多个表C. 基表不存在, 不能创建视图D. 删除视图不会影响基表的数据答案:B23.下面哪个声明是错误?A. int i=0xFFFFFFFF;B. byte b=01;C. char c=\u0000;D. long l=1234567890LE. int i=’a’;答案:C24.下列关于 ORALCE 据库的描述,不正确的是A. 索引表含ROWID 值B. 一个事务即使不被提交,也会被写入到重做日志中C. 拥有不同大小的回滚段没有任何益处D. COMMIT,据不一定立即写入数据文件中答案:A25.以下的变量定义中,合法的语句是:A. double a=1+4e2.5;B. short do=15;C. int abc_21;D. float 1_variable=3.4;答案:26."编译下面的程序,得到的结果是:public class A implements Runnable {public void run() {System.out.println(“OK”);}public static void main(String args[]) {Thread th = new Thread(new A());Th.start();}}A. 程序能编译运行,但没有任何结果输出B. 程序不能编译,产生异常C. 程序能编译运行,输出结果:OK答案:C27.关于final下面哪些是错误的?A. final可以用来声明抽象类中的方法B. final可以用来声明接口中的方法C. 以上都不对D. final method不能被覆盖E. final class不能被继承答案:B28.下面哪些赋值语句是错误的。
Java经典面试题及答案(200题)
Java经典面试题及答案(200题) Java经典面试题200道Java 基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,Java 开发工具包,提供了Java 的开发环境和运行环境。
JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。
简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。
2. == 和 equals 的区别是什么?「== 解读」对于基本类型和引用类型 == 的作用效果是不同的,如下所示:基本类型:比较的是值是否相同;引用类型:比较的是引用是否相同;代码示例:String x = "string";String y = "string";String z = new String("string");System.out.println(x==y); // trueSystem.out.println(x==z); // falseSystem.out.println(x.equals(y)); // trueSystem.out.println(x.equals(z)); // true代码解读:因为 x 和 y 指向的是同一个引用,所以 == 也是 true,而 new String()方法则重写开辟了内存空间,所以 == 结果为 false,而 equals 比较的一直是值,所以结果都为 true。
「equals 解读」equals 本质上就是 ==,只不过 String 和 Integer 等重写了equals 方法,把它变成了值比较。
java面试题大全带答案
java面试题大全带答案一、基础知识1. 什么是Java?Java是一种高级编程语言,由Sun Microsystems于1995年推出。
它是一种面向对象的语言,可以在不同的平台上运行。
2. 什么是JDK和JRE?JDK(Java Development Kit)是Java开发工具包,包含了编译器和其他开发工具。
JRE(Java Runtime Environment)是Java运行时环境,包含了JVM和Java类库。
3. 什么是JVM?JVM(Java Virtual Machine)是Java虚拟机,它是Java程序运行的环境。
JVM负责将Java字节码翻译成机器码,并执行程序。
4. 说说Java的特点?- 简单易学:Java采用了类似C++的语法,但去掉了一些复杂的特性,使得代码更加简洁易懂。
- 面向对象:Java支持封装、继承、多态等面向对象的特性,使得代码更加模块化、可重用。
- 跨平台性:由于Java程序是在JVM上运行的,可以在不同的操作系统上运行,提高了程序的可移植性。
- 安全性:Java有内置的安全机制,如沙箱安全机制和字节码校验,可以防止恶意代码的运行。
- 垃圾回收:Java具有自动内存管理机制,通过垃圾回收器自动回收不再使用的内存,减轻了开发人员的负担。
二、面向对象1. Java中的类和对象有什么区别?类是对象的模板,描述了对象具有的属性和方法。
而对象则是类的一个实例,它具有类定义的属性和方法。
2. 什么是继承?继承是面向对象编程的一种特性,它允许一个类继承另一个类的属性和方法。
子类通过继承可以重用父类的代码,并且可以在此基础上添加新的功能。
3. 什么是多态性?多态性是指对象在不同的情况下表现出不同的行为。
在Java中,通过继承和方法重写可以实现多态性。
4. 什么是封装?封装是一种将数据和代码包装在一起的机制,通过访问修饰符来限制对数据和代码的访问。
它可以隐藏实现细节,提高代码的安全性和可维护性。
最新2020年JAVA程序员笔试面试测试题库300题(含参考答案)
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.下列关于java程序结果错误的是A. 源文件可以没有 import 语句B. Package语句必须放在源文件的第一句C. 一个源文件可以有多个类定义D. 一个源文件可以定义多个public类答案:D2."类Test定义如下:public abstract class Test{public abstract void m1();public abstract void m2(){System.out.println(“hello”);}}如果对这段程序进行修改,其中不会导致错误的修改是( )A. 将修饰m1()方法的 abstract关键字删除B. 将修饰Test类的abstrac关键字删除C. 用“;”替换第4~6行D. 为m1()方法添加一个方法体答案:D3."类A定义如下:class A {private int x=10;int getX() {return x;}}class B extends A {private int x=15;//需要覆盖getx()方法}在”//需要覆盖getx()方法”后应加上的函数是:A. int getX(float f) {…}B. double getx(float f){…}C. float getx(){…};D. int getx(){…}答案:D4.单选题:答案:5."public void test() {try {oneMethod();System.out.println(“condition 1”);} catch(ArrayIndexOutOfBoundsException e) {System.out.println(“condition 2”);} catch(Exception e) {System.out.println(“condition 3”);} finally {System.out.println(“finally”);}}在oneMethod()方法运行正常的情况下将显示什么?A.condition 2B.condition 3C.finallyD.condition 1答案:CD6.面向对象的特征答案:(抽象、继承、多态、封装)7.方法中的局部变量何时分配内存答案:在方法被调用时、静态变量在类被加载时分配内存8."指出下列程序运行的结果public class Example{String str=new String(“good );char[]ch={‘a’,’b’,’c’};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+ and );System.out.print(ex.ch);}public void change(String str,char ch[]){str= test okj ;ch[0]=’g’;}}""A. good and abcB. good and gbcC. test ok and abcD. test ok and gbc答案:9.String s1=”Hello”表达式s1==”Hello”返回true or false答案:TRUE10.如果你被要求写一段代码读取一个图片文件,那么一般使用哪种Stream?A. ObjectInputStreamB. FileInputStreamC. FileReaderD. DataInputStream答案:D11.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键B. 总控键C. 重复的组D. 主键答案:A12.下列哪些情况适合考虑使用有状态会话beanA. 实例化会话bean的时候,必须初始化会话bean的状态B. 在方法调用期间,会话bean需要维护成员变量的的数据C. 会话bean提供的服务不具体针对某种客户端D. 会话bean需要跨越多个方法调用,维护客户端的信息答案:AD13.容器Panel和applet缺省使用的布局编辑策略是答案:FlowLayout的布局管理器14.单选题答案:15.EJB2.0规范中定义了几种Enterprise Bean? A. TimerObjectB. Entity BeanC. MessageDrivenBeanD. SessionBean答案:CD16.下面哪些是合法的标识符?A. *point;B. _endline;C. $personC. const答案:BC17."下面语句输出的结果是什么?int score = 9;switch (score){case 0:System.out.println();default: System.out.println(""Error"");case 3: System.out.println(""Good"");break;case 2: System.out.println(""Best"");}A. Error Good BestB. Error goodC. ErrorD. 没有任何输出答案:B18."下面代码显示的结果是什么public class Test {static init arr[] = new int[0]public static void main(String [] arge) {System.out.print(arr[1]);}}答案:可编译通过,运行报异常19.保证在Java应用程序中,一个类Class只有一个内存实例存在该使用什么设计模式A. Builder模式B. Factory模式C. Singleton模式D. Composite模式答案:C20.换行符是哪个" A.\rB.\nC.\bD.\t答案:B21.下面哪一个primitive type 和对应的wrapper class 是错误的?ng.IntegerB.g ng.LongC.short ng.ShortD.void ng.V oidE.char[] ng.String答案:E22.如果你被要求写一段代码读取一个序列化的对象,那么一般使用哪种Stream?A. FileInputStreamB. FileReadeC. DataInputStreamD. ObjectInputStream答案:D23."下面的main方法执行到A时, str的值是?void main() {String str=”BEA”;This.modify(str);//A}void modify(String str) {str.replace(‘A’, ‘E’);str.toLowerCase();str+=”B”;}A. “BEEB. “BEAC. “beeBD. “bee答案:B24.以下标识符中()是不合法的A. 1sB. $1C. $1D. BigM答案:A25.以下的变量定义中,合法的语句是:A. double a=1+4e2.5;B. short do=15;C. int abc_21;D. float 1_variable=3.4;答案:26."下面程序执行代码到第5行时j的值是:1. public class test {2. public static void main(String args[]) {3. int i = OxFFFFFFF1;4. int j = -i;5.6. }7. }A. 14B. 15C. 0D. 1答案:B27.类的实例方法表示的是什么?( )A. 类的行为B. 父类对象的行为C. 类的属性D. 类对象的行为答案:D28.不同级别的用户对同一对象拥有不同的访问权限或某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动,这种情况最好使用什么模式?A. Fasade模式B. Bridge模式C. Adapter模式D. Proxy模式答案:D29."假设test类运行于多线程环境下,那么关于A处的同步下面描述正确的是?public class Test {List list = new java.util.ArrayList();public void test() {synchronized(list) { // --Alist.add( String.valueOf(System.currentTimeMillis()));}}A. Test 类为singleton时也没有必要增加synchronizedB. Test方法中必须增加synchronizedC. Test类为singleton时有必要增加synchronizedD. Test 方法中没有必要增加synchronized答案:C30.栈和队列的共同特点是:A. 都是先进后出B. 只允许在端点处插入和删除元素C. 都是先进先出D. 没有共同点答案:B31.Oracle中数值1234567.89如果放入Number(9,3)类型的变量中,存储的值是:A. 1234567.890B. 1234567.9C. 1234567.89D. 会报Numberic error答案:32.PL/SQL中用来判断FETCH语句是否成功,并且在FETCH语句失败时返回逻辑真的属性是:A. %NOTFOUNDB. %FOUNDC. %ISOPEND. %ROWCOUNT答案:A33."运行以下程序段后,变量t1的值是:public static void exchange(int x, int y) {int temp=x;x=y;y=temp;}public static void main(String args[]) {int t1=2;int t2=3;exchange(t1, t2);}A. 3B. 2D. 7答案:B34."给出下面的不完整的类代码:class Person {String name, department;int age;public Person(String n) { name = n; }public Person(String n, int a) { name = n; age=a;}public Person(String n, String d, int a) {// doing the same as two arguments version of constructor// includeing assignment name=n, age=adepartment = d;}}下面的哪些的表达式可以加到构造方法中的”doing the same as…”处。
Java面试笔试试卷及答案2020
JAVA开发试题(卷A)本试题第一、二部分是单项选择,共50题,每小题有且只有一个正确答案,每题2分。
请将答案写在答题纸上。
一、基础知识1、堆栈和队列的相同之处是_(1)__.(1) A.元素的进出满足先进后出 B.元素的进出满足后进先出C.只允许在端点进行插入和删除操作D.无共同点2、十进制数33用十六进制数表示为__(2)__。
A.33H B.21H C.FFH D.12H3、给定一个有n个元素的线性表,若采用顺序存储结构,则在等概率的前提下,向其插入一个元素需要移动的元素个数平均为_(3)__。
A.n + 1B.C.D.n4、判断“链式队列为空”的条件是_(4)_(front为头指针,rear为尾指针)A. front == NULLB. rear == NULLC.front == rearD.front != rear5、在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终位置上的排序算法是__(5)__。
A.冒泡排序B.基数排序C.快速排序D.归并排序6、计算机的总线包含地址总线、数据总线和控制总线。
某计算机CPU有16条地址总线,则该计算机最大的寻址空间为_(6)_字节。
A.32KB. 48KC.64KD.128K7、某页式存储管理系统中的地址结构如下图所示,则_(7)_。
页号页内地址页C.页的大小为4K,最多有1M页D.页的大小为8K,最多有2M页8、接收电子邮件时,通常使用的协议时_(8)_。
A.POP3B.SNMPC.FTPD.WWW9、下列元件中存取速度最快的是_(9)__。
A.CacheB.寄存器C.内存D.外存10、链表不具备的特点是_(10)__。
A.可随机访问任何一个元素B.插入、删除操作不需要移动元素C.无需先估计存储空间大小D.所需存储空间与线性表长度成正比11、在具有100个结点的树中,其边的数目为_(11)_。
A.101B.100C.99D.9812、PUSH 和 POP 命令常用于_(12)__操作。
最新2020年JAVA程序员笔试面试考核题库完整版300题(含答案)
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1."下面代码显示的结果是什么public class Test {static init arr[] = new int[0]public static void main(String [] arge) {System.out.print(arr[1]);}}答案:可编译通过,运行报异常2."假设test类运行于多线程环境下,那么关于A处的同步下面描述正确的是?public class Test {List list = new java.util.ArrayList();public void test() {synchronized(list) { // --Alist.add( String.valueOf(System.currentTimeMillis()));}}}A. Test 类为singleton时也没有必要增加synchronizedB. Test方法中必须增加synchronizedC. Test类为singleton时有必要增加synchronizedD. Test 方法中没有必要增加synchronized答案:C3."类Test定义如下:public abstract class Test{public abstract void m1();public abstract void m2(){System.out.println(“hello”);}}如果对这段程序进行修改,其中不会导致错误的修改是( )A. 将修饰m1()方法的 abstract关键字删除B. 将修饰Test类的abstrac关键字删除C. 用“;”替换第4~6行。
java面试题及答案2020
java面试题及答案2020Java面试题及答案20201. 什么是Java虚拟机(JVM)?- 答案:Java虚拟机(JVM)是一个可以执行Java字节码的虚拟计算机。
它是一个抽象的计算机,能够执行以Java字节码形式编译的Java程序。
JVM屏蔽了底层操作系统和硬件的差异,使得Java程序可以在任何安装了JVM的平台上运行。
2. 解释Java中的多线程概念。
- 答案:在Java中,多线程允许程序同时执行多个任务。
每个线程可以看作是程序执行的独立流,它们可以并行运行。
Java提供了Thread类和Runnable接口来创建和管理线程。
3. Java中的集合框架有哪些主要接口和类?- 答案:Java集合框架主要包括以下接口:Collection、List、Set、Map。
对应的实现类有ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。
4. 什么是Java的垃圾回收机制?- 答案:Java的垃圾回收机制是一种自动内存管理功能,它负责回收程序不再使用的对象所占用的内存。
垃圾回收器会定期检查堆内存中的对象,识别那些不再被任何引用指向的对象,并将它们回收。
5. 什么是Java的异常处理机制?- 答案:Java的异常处理机制允许程序在运行时捕获和处理错误。
它基于try、catch和finally关键字。
try块用于包含可能抛出异常的代码,catch块用于捕获并处理异常,finally块用于执行无论是否发生异常都需要执行的清理代码。
6. 解释Java中的泛型是什么以及它们的作用。
- 答案:Java中的泛型是一种将类型参数化的能力,允许在创建类、接口或方法时指定类型参数。
泛型的主要作用是提供编译时类型安全,避免类型转换,并使得代码更加灵活和可重用。
7. 什么是Java反射机制?- 答案:Java反射机制允许程序在运行时查询、访问和修改它自己的结构和行为。
北京宏景世纪软件股份有限公司程序员面试题
一、逻辑思维(40分,每题10分)1.李勇、孙志与周文,这三个人在童年时期是非常好的朋友,高中毕业后各自自己的梦想去了,其中一个人下海经商,一个人考上了重点大学,一个人去了部队当兵。
我们知道,周文的年龄比士兵的大,大学生的年龄比孙志小,李勇的年龄和大学生的年龄不一样。
请问这三个人中,谁成了商人?谁是大学生?谁当了士兵?并描述一下步骤。
2.王杰、李明、钱斌三位同学在同一间教室做作业。
同时遇到了一道非常难得数学题,当他们三个人说出各自的解决和答案后,王杰说:“我做错了”。
李明说:“王杰做对了”。
钱斌说:“我做错了”。
老师看到了他们的答案并听了他们的说法后说:“你们三个人中,有一个人做对了,有一个说对了”。
请问你知道到底谁做对了呢?3.一个箱子里装了100个球,现在让小李和小王轮流拿,每次最多只能拿5个,至少必须拿一个,如果让小李先拿,他怎么才能确保最后一个球是他的呢?4.寺院中右100个和尚,一共要吃100个馒头,大和尚每人要吃三个,小和尚美三个要吃一个,请问,这个寺院中有大和尚几人,小和尚几人?并描述解题步骤。
二、Java基础(20分)(知识点:异常处理、反射、IO、集合、性能优化、内存模式、垃圾回收、网络编程TCP/IP)2.1. 判断题(5题,每题2分)1.Java程序中,创建新的类对象使用关键字new,回收无用的类对象使用关键字free。
()2.synchronized关键字出现在方法名的前面,表示对一个特定的类或对象而言,一次只能有一个线程访问synchronized方法。
()3. Class类的getDeclaredFields()方法返回类的public、protected,默认访问级别的属性,但不能返回private访问级别的属性。
()4. 在switch和if…else之间进行选取,当控制选择过程的条件不仅仅依赖于一个值时,应该使用switch结构。
()5. 子类调用父类的方法是通过super实现的。
java常见的面试题及答案
java常见的面试题及答案Java是一种广泛使用的编程语言,它以其跨平台的特性和面向对象的设计而受到程序员的青睐。
在Java面试中,面试官经常会问到一些基础和高级的问题来测试应聘者的编程能力和对Java的理解。
以下是一些常见的Java面试题及其答案:1. 什么是Java?- Java是一种面向对象的编程语言,由Sun Microsystems公司(现为Oracle公司的一部分)在1995年发布。
它设计为简单、健壮、安全,并且具有跨平台的特性。
2. Java与C++的区别是什么?- Java是一种纯面向对象的语言,而C++支持面向过程的编程。
- Java没有指针和内存管理,而C++有。
- Java有垃圾回收机制,而C++需要手动管理内存。
- Java代码在JVM上运行,而C++代码直接编译成机器码。
3. 什么是JVM?- JVM(Java虚拟机)是一个可以执行Java字节码的虚拟机。
它是一个平台无关的运行环境,允许Java程序在任何安装了JVM的设备上运行。
4. 什么是Java集合框架?- Java集合框架是Java提供的一个用于存储和处理对象集合的类库。
它包括List、Set、Map等接口和实现。
5. ArrayList和LinkedList的区别是什么?- ArrayList是基于动态数组实现的,适合随机访问。
- LinkedList是基于双向链表实现的,适合频繁的插入和删除操作。
6. 什么是多线程?- 多线程是程序设计中的一种技术,它允许同时执行多个线程,从而提高程序的执行效率。
7. 如何创建线程?- Java中可以通过继承Thread类并重写run方法,或者实现Runnable接口来创建线程。
8. 什么是死锁?如何避免死锁?- 死锁是指两个或多个线程在执行过程中,因争夺资源而造成的一种互相等待的状态,导致这些线程无法继续执行。
- 避免死锁的方法包括:确保资源的分配顺序一致、使用定时锁、避免嵌套锁等。
java工程师面试题及答案
java工程师面试题及答案Java工程师面试中,面试官通常会通过一系列技术问题来评估候选人的技术能力和经验。
以下是一些常见的Java面试题及答案,供参考:1. Java和C++的主要区别是什么?- Java是一种纯面向对象的语言,而C++支持面向过程和面向对象两种编程范式。
- Java不支持指针操作,而C++支持。
- Java有垃圾回收机制,而C++需要手动管理内存。
- Java是跨平台的,而C++不是。
2. 什么是JVM?- JVM(Java虚拟机)是一个可以执行Java字节码的虚拟计算机。
它将Java源代码编译成字节码,然后在JVM上运行。
3. 什么是多线程?- 多线程是程序设计中的一种方法,允许两个或多个线程同时执行。
Java通过`Thread`类和`Runnable`接口来实现多线程。
4. 同步和异步的区别是什么?- 同步是指多个线程访问共享资源时,一次只允许一个线程访问,这样可以防止数据不一致。
- 异步是指多个线程可以同时访问共享资源,但需要额外的机制来保证数据的一致性。
5. Java中的集合框架有哪些?- Java集合框架包括`List`、`Set`、`Map`等接口,以及它们的实现类如`ArrayList`、`HashSet`、`HashMap`等。
6. 什么是泛型?- 泛型是一种类型安全的特性,它允许在编译时检查类型,从而避免类型转换的错误。
泛型在Java 5中被引入。
7. Java中的异常处理机制是怎样的?- Java使用`try`、`catch`和`finally`块来处理异常。
`try`块包含可能会抛出异常的代码,`catch`块捕获并处理异常,`finally`块则无论是否发生异常都会执行。
8. 什么是Java反射?- 反射允许程序在运行时查询、访问和修改类和对象的属性和方法。
它在Java中是通过`ng.reflect`包实现的。
9. 什么是序列化?- 序列化是将对象的状态信息转换为可以存储或传输的格式的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.逻辑思维(40分-每题10分)1.王杰、李明、钱斌三位同学早同一个教室里做作业,同时遇到了一道难题,每个人说出各自的解决和答案后,王杰说:“我做错了”李明说:“王杰做对了”钱斌说:“我做错了”老师看到了他们的答案并听取了他们的说法后说:“你们三人中,有一个人做对了,有一个说对了。
”请问你知道到底谁做对了?二.Java基础(20)(知识点:异常处理、反射、IO、集合,性能优化,内存模式,垃圾回收,网络变成)2.1 判断题(5题-每题2分)1.Jav程序中,创建新的类对象使用关键字new。
回收无用的类对象使用关键字free。
()2.synchronized关键字出现在方法的前面,表示对一个特定的类或对象而言。
一次只能有一个线程访问synchronized方法。
()3.Class类的getDecharedFilds()方法返回类的public、protected 默认访问级别的属性,但不能返回private访问级别的属性()4.在switch和if...else之间进行读取。
当控制选择过程的条件不仅仅依赖与一个值时,应该使用swith结构()5.子类调用父类的方法是通过super实现的()2.2 选择题(5题-每题2分)6. 关于下列代码的描述中,正确的一项是()catch(Exception e){System.err.println("An exception was thrown");Throw e;}A.程序终止B.编译错误C.该异常不会被处理D 该异常将继续被上层处理7.Java类库中,将信息写入内存的类是()A.java.io. FileOutStreamB.java.io.DataOutStreamC.java.io.BufferedOutStreamD.java.io.DataOutStream8.当使用RML技术实现远程方法调用,能为远程对象生成Stub和Skeieion命令的是()A micB midC rrniregistryD policytool9.List,Set,Map 哪个来自Collection接口,以下正确的是()。
A. List,MapB.Set,MapC.List,SetD.List,Map,Set10.以下程序片段将创建()个对象。
int a = 10;String b = "abc";String c = new String("abc");MyText text = new MyText();A.4B.3C.2D.1三.Web研发(20)(知识点,HTTP,HTTPS,Cookies,Session ,JSP,Serilet,AJAX,CSS,Javascript)3.1判断题(5题+每题2分)11.JSP页面作用域中,request对象可以在客户请求生命周期内接收及其访问。
()12.获取cookie的名字用cookie的getName方法分,getValue方法获取cookie的值。
设置cookie的值,用setValue方法。
()13.AJAX技术一定要使用JavaSeript技术。
()14.session不是JSP的内置对象。
()15.在CSS中要设置超链接的样式效果,应指定虚类selector。
()3.2选择题(5题-每题2分)16.以下HTTP响应状态的含义描述正确的是()A. 200 OK表示请求成功B.400 不良请求表示服务器未发现与请求URL匹配的内容。
C.404 未发现表示由于语法错误而导致服务器无法理解请求信息D.500内部服务器错误,无法处理请求17.Servlet 的任务包括以下哪些?()A.读取客户端发送的所有数据。
这些数据通常是在Web页面的表单中输入的,但也可能来自Java applet或 HTTP 客户端程序。
读取浏览器发送的HTTP请求数据。
这些信息包括有关浏览器功能,Cookie,发出请求的客户端的主机名等详细信息。
B.生成结果。
此过程可能需要与数据库通信,请用RML或CORBA,通用遗留或直接计算成得出相应。
在文档内设置结果的格式。
在多少情况是将信息嵌入到serilet中。
C.设置合适的HTTP相应参数。
这意味着告诉浏览器返回的文档类型(如HTML)、设置Cookie和缓存数以及其他类似任务。
D.将文档返回给客户端。
可能以文本格式(HTML)、二进制格式(GIF图像)等发送该文档。
18.JSP页面包括以下哪些元素?()A JSP指令B JSP ActionC JSPa脚本D JSP控件19.Ajax有四种技术组成:DOM,CSS,JavaScript,XmiHttpRequest,其中控制文档结构的是: ( )A. DOMB. CSSC. JavascriptD. XmlHttpRequest20. 下图关于session 的用法哪个是错误的?()A. HttpSession session =new HttpSession();B. String hah = session.getParameter(“haha”);C. session removeAttribute(“haha”);D. session setAttribute(“haha”);四. 数据库(20分)(知识点:关系数据库基础概念JDBC Oracle MYSQ 数据库调优)4.1 判断题(5题-每题2分)21. 关系数据库通过表与表之间的公共属性实现数据之间的联系。
这(些)个公共属性是一个表的主键,是另一个表的外检,他们应满足是参照完整性的约束条件。
()22. 事务的一致性是SQL Server 确保事务作为一个不可分割的基本单元末执行。
()23. 视图是从一个或几个基本表(或其他视图)导出的表,是一个实表,其内容有查询定义()24. DELETE语句只是删除表中的数据库,表本身依然存在数据库中。
()25. 索引可以提高相应select的效率,所以索引建的越多越好。
()4.2 选择题(5题-每题2分)26. 在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括()A.SELECT, INTO B. SELECT, FROMC. SELECT, GROUPD. 仅SELECT27. 使用JDBC访问数据时,下面哪个不是常用的接口()A.SQLConnectionB. ResultSetC. StatementD. PreparedStatement28. 从订单表中删除客户号为“1001”的订单记录,正确的SQL语句是()A.DROP FROM 订单WHERE 客户号=“1001”B.DROP FROM 订单FOR 客户号=“1001”C.DELETE FROM 订单WHRER 客户号=“1001”D.DELETE FROM 订单FOR 客户号=“1001”29. 下列关于SQL中HAVING子句的描述,错误的是()A.HAVING 子句必须与GROUP BY子句同时使用B.HAVING 子句与GROUP BY子句无关C.使用WHERE 子句的同时可以使用HAVING 子句D.使用WHERE 子句的作用是限定分组的条件30. ORACLE 用来判断列值是否为空的操作符是()A. == NULLB. IS NULLC. AS NULLD. NULL IS五. 程序设计(30分)(知识点: 数据结构-排序、查找、列队、哈希、设计模式、UML建模、重用性、可维护、可扩展)5.1 判断题(3题-每题5分)31. 两个对象值相同(x.equals(y)==true),但却可有不同的hash code. ( )32. 队列逻辑上是一个上端和下端既能增加又能减少的线性表。
()33. 假设Preson 是一个Java类,并且Student 是Person 的一个之类,那么当我们创建一个Student对象时,Java系统必定会同时创建一个父类Person的对象。
()5.2 选择题(3题-每题5分)34. Use Case 用来描述系统在系统做出响应时采取的行动,用例之间是具有相关性的。
在一个“订单输入系统”中创建新订单和更新订单都需要检查用户账号是否正确。
那么用例“创建新订单”“更新订单”与用例“检查用户账号”之间是()关系。
A. aggregationB. extendC. includeD Classifiction35. 有以下程序:public class Score{public statjc void main (String [] args) {int a [] = {25,36,47,32,2};int ma=0, maValue=a[0];int mb=0, mbValue=a[0];for (int i=1; i<a.length ; i++) {if (a [i]<maValue ){ma=i;maValue=a[i];}if (a [i]>maValue ){mb=i;mbValue=a[i];}}System.out.println(“maValue=a[“+ma+”]=”+ maValue)}}程序的运行结果为()A.maValue=a[4]=2B.maValue=a[4]=47C.maValue=a[4]=25D. 错误36. 在java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,那么在实现多态时,不包括的步骤是()A. 之类重写父类的方法B.之类重载同一个方法C.定义方法时,把父类类型作为参加类型;调用方法时,把父类或子类对象作为参数传入方法D.运行时,根据实际创建的对象类型动态决定使用哪个方法六. 上机题(2题-20分)1. 数据库中有两个表分别是人员基本情况表(employee)和工资情况表(salary),在employee表中有如下字段,Employeeld(主键工号),Name(姓名),Sex(性别)。
在degree表中有如下字段,Employeeld (主键,工号),TheMonth(月份),Total(工资额),Month最大值为该人的最后一次发放工资情况。
Employee(员工基本情况表)EmployeeID Name Sex001张三男002李四女003王五男Salary(工资情况)EmployeeID Month Total001 1 100001 2 200001 3 300002 1 400002 2 500003 1 600建库脚本:A.写一个SQL 语句显示所有人最后一次发放工资;B.写一个SQL 语句显示张三的工资明细;C.写一个SQL 语句删除张三的工资明细;2、前台(浏览器中)输入n个以逗号分隔开的数字串,分别用javascript(前台)和jsp或servlet(后台)编程实现对n个数字进行升序排序(排序算法不限)。