收藏 分销(赏)

Java面试题.docx

上传人:快乐****生活 文档编号:3635892 上传时间:2024-07-11 格式:DOCX 页数:28 大小:53.29KB
下载 相关 举报
Java面试题.docx_第1页
第1页 / 共28页
Java面试题.docx_第2页
第2页 / 共28页
Java面试题.docx_第3页
第3页 / 共28页
Java面试题.docx_第4页
第4页 / 共28页
Java面试题.docx_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、Java面试题资料仅供参考真题 1 某知名互联网下载服务提供商软件工程师笔试题一、选择题1访问修饰符作用范围由大到小是( )。A private-protected-default-public B public-protected-default-privateC private-default-protected-public D public-default-protected-private2在 Java 语言中,下面接口以键-值正确方式存储对象的是( )。A java.util.List B java.util.MapC java.util.Collection D java.uti

2、l.Set3以下不是 Object 类的方法的是( )。A hashCode() B finalize()C notify() D hasNext()4有如下代码:public class Testpublic void change(String str, char ch)str = test ok;ch0 = g;public static void main(String args)String str = new String(good);char ch = a, b, c ;Test ex = new Test();ex.change(str, ch);System.out.prin

3、t(str + and );System.out.print(ch);上面程序的运行结果是( )。A good and abc B good and gbcC test ok and abc D test ok and gbc二、填空题1 Math.round(12.5)的返回值等于( ), Math.round(-12.5)的返回值等于( )。2有如下程序:String str1=hello world;String str2=hello+newString(world);System.out.println (str1=str2);那么程序的运行结果是( )。3在 Java 语言中,基本数

4、据类型包括( )、字符类型( )、布尔类型 boolean 和数值类型( )。4字符串分为两大类:一类是字符串常量( );另一类是字符串变量( )。三、简答题1.接口和抽象类有什么区别?2实现多线程的方法有哪几种?3利用递归方法求 6!4用 Java 语言实现一个观察者模式。5一个有 10 亿条记录的文本文件,已按照关键字排好序存储,请设计一个算法,能够从文件中快速查找指定关键字的记录。真题 2 某知名社交平台软件工程师笔试题一、单项选择题1二进制数 11101 转化为十进制数是( )。A 23 B 17 C 26 D 292以下能够对对象加互斥锁的关键字是( )。A synchronized

5、 B serialize C VolatileD Static二、不定项选择题1下列关于类的构造方法的描述中,正确的是( )。A类中的构造方法不可省略B构造方法必须与类同名,但方法不能与 class 同名C构造方法在一个对象被 new 时执行D一个类只能定义一个构造方法2下列关于 Java 语言中 main 方法的描述中,正确的是( )。A Java 程序的 main 方法必须写在类里面B Java 程序中能够有多个 main 方法C Java 程序的 main 方法中,如果只有一条语句,能够不用大括号括起来D Java 程序中类名必须与文件名一样3在类声明中,声明一个类不能再被继承的关键字是

6、( )。A private B abstractC final D static4下面关于关键字 abstract 的描述中,正确的是( )。A关键字 abstract 能够修饰类或方法B final 类的方法都不能是 abstract,因为 final 类不能有子类C abstract 类不能实例化D abstract 类的子类必须实现其超类的所有 abstract 方法5以下不是合法标识符的是( )。A STR B x3ab C void D abcd6以下关于类的描述中,正确的是( )。A只要没有定义不带参数的构造方法, JVM 都会为类生成一个默认构造方法B局部变量的作用范围仅仅在定义

7、它的方法内,或者是在定义它的控制流块中C使用其它类的方法仅仅需要引用方法的名字即可D在类中定义的变量称为类的成员变量,在其它类中能够直接使用 7有如下代码: public class Testpublic static void main(String args)int i;i = 6;System.out.print(i);System.out.print(i+);System.out.print(i);以上程序的运行结果是( )。A 666 B 667 C 677 D 6768下列关于 Java 语言中关键字 super 的说法中,正确的是( )。A关键字 super 是在子类对象中指代其

8、父类对象的引用B子类经过关键字 super 只能调用父类的属性,而不能调用父类的方法C子类经过关键字 super 只能调用父类的方法,而不能调用父类的属性D关键字 super 不但能够指代子类的直接父类,还能够指代父类的父类9下面关于 String、 StringBuilder 以及 StringBuffer 的描述中,正确的是( )。A对 String 对象的任何改变都不影响到原对象,相关的任何 change 操作都会生成新的对象B StringBuffer 是线程安全的C StringBuilder 是线程安全的D能够修改 StringBuilder 和 StringBuffer 的内容

9、10 以下不是基本数据类型的类型有( )。A int B String C Byte D Float11 JavaThread 中的方法 resume()负责恢复哪些线程的执行?( )A经过调用 wait()方法而停止运行的线程B经过调用 sleep()方法而停止运行的线程C经过调用 stop()方法而停止的线程D经过调用 suspend()方法而停止运行的线程12有如下代码: public class Testpublic static int testException(int i)throws Exceptiontryreturn i / 5;catch (Exception e)thr

10、ow new Exception(exception in a aMethod); finallySystem.out.printf(finally);public static void main(String args)trytestException(0);catch (Exception ex)System.out.printf(exception in main);System.out.printf(finished);以上这段代码编译运行后,输出的结果是( )。A finallyexception in mainfinished B finallyfinishedC excepti

11、on in mainfinally D finallyexception in mainfinished13释放掉一个指定占据的内存空间的方法是( )。A调用 system.gc()方法 B调用 free()方法C赋值给该项对象的引用为 null D程序员无法明确强制垃圾回收器运行14以下关于 Spring 框架的描述中,正确的是( )。A Spring 是“依赖注入”模式的实现B Spring 是一个轻量级 Java EE 的框架集合C使用 Spring 能够实现声明事务D Spring 提供了 AOP 方式的日志系统15堆的形状是一棵( )。A完全二叉树 B平衡二叉树C二叉排序树 D满二叉

12、树16下列关于依赖注入的描述中,正确的是( )。A依赖注入提供使用接口编程B依赖注入使组件之间相互依赖,相互制约C依赖注入能够独立开发各组件,然后根据组件间关系进行组装D依赖注入指对象在使用时动态注入17以下关于 HashMap 与 HashTable 的说法中,正确的是( )。A迭代 HashMap 采用快速失败机制,而 HashTable 不是B HashTable 允许 null 值作为 key 和 value,而 HashMap 不能够C HashMap 不是同步的,而 HashTable 是同步的D两者都是用 key-value 方式获取数据18 list 是一个 ArrayList

13、 的对象,当将选项( )的代码填到/todo delete 处时,能够在Iterator 遍历的过程中正确并安全地删除一个 list 中保存的对象。Iterator it = list.iterator();int index = 0;while (it.hasNext() Object obj = it.next();if (needDelete(obj) /needDelete 返回 boolean,决定是否要删除/todo deleteindex+;A it.remove() B list.remove(index)C list.remove(obj) D list.delete(ind

14、ex)19以下属于算法结构的是( )。A输入数据 B处理数据 C输出结果 D存储数据20已知某二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,那么它的前序遍历序列是( )。A abcde B dceab C deabc D cedba21算法的空间复杂度是指( )。A算法程序的长度 B算法程序中的指令条数C算法程序所占的存储空间 D算法执行过程中所需要的存储空间22二叉树是非线性数据结构,以下关于其存储结构的描述中,正确的是( )。A它不能用链式存储结构存储B它不能用顺序存储结构存储C顺序存储结构和链式存储结构都不能使用D顺序存储结构和链式存储结构都能存储23在一棵二叉树上,第

15、 4 层的结点数最多是( )。A 8 B 16 C 32 D 6424设一组初始记录关键字序列( 5, 2, 6, 3, 8),以第一个记录关键字 5 为基准进行一趟快速排序的结果为( )。A 3, 2, 5, 8, 6 B 2, 3, 5, 8, 6C 3, 2, 5, 6, 8 D 2, 3, 6, 5, 825事务隔离级别是由( )实现的。A Hibernate B Java 应用程序C数据库系统 D JDBC 驱动程序26设指针变量 p 指向双向链表中结点 A,指针变量 s 指向被插入的结点 X,则在结点 A 的后面插入结点 X 的操作序列为( )。A s-left=p;s-right

16、=p-right;p-right=s;p-right-left=sB s-left=p;s-right=p-right;p-right-left=s;p-right=sC p-right=s;s-left=p;p-right-left=s;s-right=p-rightD p-right=s;p-right-left=s;s-left=p;s-right=p-right27在排序方法中,从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为( )。A归并排序 B希尔排序 C插入排序 D选择排序28操作系统的功能是进程处理机管理、( )管理、( )管理、文件管理和作业管

17、理等。A设备 B存储器 C硬件 D软件29 下列中断属于强迫性中断的是( )。A掉电 B设备出错 C时间片到时 D执行 print 语句30进程调度是从( )选择一个进程投入运行。A就绪队列 B作业后备队列 C等待队列 D提交队列31“死锁”是针对( )的。A某个进程申请资源数超过了系统拥有的最大资源数B某个进程申请系统中不存在的资源C硬件故障D多个并发进程竞争独占型资源32某系统中有 11 台打印机, N 个进程共享打印机资源,每个进程要求 3 台,当 N 的取值不超过( )时,系统不会发生死锁。A 3 B 5 C 8 D 733 IP 协议属于( )。A网络互联层 B应用层 C数据链路层

18、D传输层34将网络物理地址转换为 IP 地址的协议是( )。A IP B ICMP C ARP D RARP35对于 IP 地址 130.63.160.2,掩码为 255.255.255.0,子网号为( )。A 160.2 B 160 C 63.160 D 63.160.236对于 IP 地址 200.5.6.4,属于( )类地址。A A B B C C D D37一个广域网和一个局域网相连,需要的设备是( )。A NIC B网关 C集线器 D路由器三、问答题1 List和 List之间有什么区别?2给出两种单例模式的实现方法,并说明这两种方法的优缺点。3描述 Java 语言中抽象基类和接口各

19、自主要的使用场景。4 int 和 Integer 的区别是什么?5已知两个链表 head1 和 head2 各自有序,请把它们合并成一个依然有序的链表。结果链表要包含 head1 和 head2 的所有结点,即结点值相同。6给定 a、 b 两个文件,各存放 50 亿个 url,每个 url 各占 64B,内存限制是 4GB,请找出文件 a 与文件 b 中共同的 url。 真题 3 某知名安全软件服务提供商软件工程师笔试题一、不定项选择题1 “hello” instanceof Object 的返回值是( )。A “abcd” B true C false D String2下面有关方法覆盖的描

20、述中,不正确的是( )。A覆盖的方法一定不能是 private 的B要求覆盖和被覆盖的方法必须具有相同的访问权限C覆盖的方法不能比被覆盖的方法抛出更多的异常D要求覆盖和被覆盖的方法有相同的名字、参数列以及返回值3下面说法正确的是( )。A如果源代码中有 package 语句,则该语句必须被放在代码的第一行(不考虑注释和空格)B如果源代码中有 main()方法,则该方法必须被放在代码的第一行C如果源代码中有 import 语句,则该语句必须被放在代码的第一行(不考虑注释和空格)D如果某文件的源代码中定义了一个 public 的接口,则接口名和文件名能够不同4下面变量名中合法的有( )。A 2va

21、r B var2 C _var D _1_E $var F #var5一个 Java 程序运行从上到下的环境次序是( )。A JRE/JVM、操作系统、 Java 程序、硬件B Java 程序、 JRE/JVM、硬件、操作系统C Java 程序、 JRE/JVM、操作系统、硬件D Java 程序、操作系统、 JRE/JVM、硬件6下面关键字中,能够用来修饰接口中的变量的是( )。A static B private C synchronized D protected7有如下代码:String s=“xbcde”;System.out.println(s.charA.t(4);以下针对上述代码

22、段的描述中,正确的是( )。A输出字符 eB什么都没有,抛出 ArrayIndexOutOfBoundsExceptionC输出字符 dD代码编译不成功,因为 charA.t()方法不属于 String 类8下面创立 Map 集合的方式中,正确的是( )。A Map m=new Map(new Collection() B Map m=new Map(10, 2,40)C Map m=new Map() D Map 是接口,因此不能实例化9以下关于被访问控制符 protected 修饰的成员变量的描述中,正确的是( )。A能够被三种类所引用:该类自身、与它在同一个包中的其它类、在其它包中的该类

23、的子类B只能被该类自身所访问和修改C能够被两种类访问和引用:该类本身、该类的所有子类D只能被同一个包中的类访问10为了区分类中重载的同名的不同方法,要求( )。A采用不同的形式参数列表 B采用不同的返回值类型C调用时用类名或者对象名作前缀 D采用不同的参数名11下列对于构造方法的描述中,正确的是( )。A构造方法必须用 void 声明返回类型B构造方法名必须与类名相同C构造方法能够被程序调用D如果编程人员没在类中定义构造方法,程序将报错12下列有关继承的描述中,正确的是( )。A子类能继承父类的非私有方法和属性B子类能继承父类的所有方法和属性C子类只能继承父类的公有方法和属性D子类能继承父类的

24、方法,而不是属性13下面有关子类继承父类构造方法的描述中,正确的是( )。A 创立子类的对象时,先调用子类自己的构造方法,然后调用父类的构造方法B子类会继承父类的构造方法C子类必须经过关键字 super 调用父类的构造方法D子类无法继承父类的构造方法14下列关于 Java 语言基础知识的描述中,正确的是( )。A类是方法和变量的集合体 B抽象类或接口能够被实例化C数组是无序数据的集合 D类成员数据必须是公有的15有如下代码:public class Testpublic static void main(String args)class Apublic int i=3;Object o =

25、(Object)new A();A a = (A)o;System.out.println(i = + a.i);上述程序运行后的结果是( )。A i=3 B编译失败C运行结果为 ClassCastException D i=0二、填空题1用于声明一个类为抽象类的关键字是( ),用于将一个类修饰为最终类的关键字是( )。2构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是( )。3在 Java 语言的基本数据类型中,字符型、整型分别占用字节数为( )、( )。4一般有两种用于创立线程对象的方法,分别是( )与( )。5 Java 语言提供了两种用于多态的机制,分别是( )与( )。

26、三、问答题1接口能否继承接口?抽象类是否可实现( implements)接口?抽象类是否可继承实体类?2面向对象的特征有哪些方面?3 String 和 StringBuffer 有什么区别?4 final、 finally 和 finalize 的区别是什么?5 ArrayList、 Vector 和 LinkedList 有什么特点? HashMap 和 HashTable 有什么区别?四、附加题1编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。可是要保证汉字不被截半个,例如“人 ABC”4,应该截为“人 AB”,输入“人 ABC 们 DEF”,6,应该输出为“

27、人 ABC”而不是“人 ABC+们的半个”。2排序有哪几种方法?用 Java 语言实现一个插入排序?真题 4 某知名互联网金融企业软件工程师笔试题一、单项选择题1下列描述中,正确的是( )。A Java 程序经编译后会产生 Machine Code(机器码)B Java 程序经编译后会产生 Byte Code(字节码)C Java 程序经编译后会产生 DLL(动态链接库)D以上描述都不正确2 Java 语言是从( )语言改进重新设计的。A BASIC B C+ C Pascal D Ada3下列关于类的描述中,正确的是( )。A类中的构造方法不可省略B一个类只能定义一个构造方法C new 一个

28、对象的时候构造方法会被调用D构造方法必须与类同名,但普通方法不能与类同名4下列选项中,提供了 Java 存取数据库能力的包是( )。A java.sql B java.swingC java.io D java.awt5下列运算符合法的是( )。A & B C while 6有如下代码:a=0;c=0;do-c;a=a-1;while(a0);当执行完以上代码后,变量 c 的值是( )。A -2 B 1 C -1 7下列关于 abstract 的描述中,正确的是( )。A abstract 修饰符可修饰属性、方法和类B抽象方法的方法体必须用一对大括号包住C抽象方法的方法体(大括号)可有可无D声

29、明抽象方法不可写出大括号8下列关于形式参数的描述中,正确的是( )。D :=D死循环A形式参数可被视为局部变量B形式参数不能够是对象C形式参数为方法被调用时真正被传递的参数D形式参数可被字段修饰符修饰9下列关于实例方法的描述中,正确的是( )。A实例方法可直接调用超类的类方法B实例方法可直接调用超类的实例方法C实例方法可直接调用其它类的实例方法D实例方法可直接调用本类的类方法10下列关于 Java 语言的描述中,正确的是( )。A Java 语言容许单独的过程与函数存在B Java 语言容许单独的方法存在C Java 语言中的方法属于类中的成员D Java 语言中的方法必定隶属于某一类(对象)

30、二、多项选择题1下列关于 Java 语言的编译过程的描述中,正确的有( )。A环境变量可在编译 source code 时指定B在编译程序时,所能指定的环境变量不包括 class pathC javac 一次可同时编译数个 Java 源文件D javac.exe 能指定编译结果要置于哪个目录( directory)2下列标识符中,不合法的有( )。A if B $UsdollarsC 12345 D t.txt3下列关于数组的描述中,错误的有( )。A数组是一种对象 B数组是一种原生类C int arr=1,2,3,4 D数组的大小能够随意改变4以下不能用来修饰接口的有( )。A privat

31、e B public C abstract D static5下列关于按值传递与按引用传递的描述中,正确的是( )。A按值传递不会改变实际参数的数值B按引用传递能改变实际参数的参考地址C按引用传递能改变实际参数的内容D按引用传递不能改变实际参数的参考地址6下列关于类方法的调用的描述中,错误的有( )。A在类方法中可用 this 来调用本类的类方法B在类方法中调用本类的类方法时可直接调用C在类方法中只能调用本类中的类方法D在类方法中绝对不能调用实例方法7下列关于 Java 语言基础知识的描述中,错误的有( )。A能被 java.exe 成功运行的 java class 文件必须有 main()方

32、法B J2SDK 就是 Java APIC Appletviewer.exe 可利用 jar 选项运行.jar 文件D能被 Appletviewer 成功运行的 java class 文件必须有 main()方法三、判断题1 Unicode 是用 16 位来表示一个字的。( )2 Java 程序中的起始类名称必须与存放该类的文件名相同。( )3原生类中的数据类型均可任意转换。( )四、程序题1写出下列程序的运行结果public class Testpublic static void main(String args)String a = hello;change(a);System.out.

33、println(a);public static void change(String name)name=world;2写出下面程序运行的结果public class Teststatic boolean f(char c)System.out.print(c);return true;public static void main(String argv)int i = 0;for (f(A); f(B) & (i 2); f(C)i+;f(D);五、简答题1 HashMap 和 HashTable 的区别是什么?2 &和&的区别是什么?3 Collection 和 Collections

34、 的区别是什么?4 abstract class 和 interface 的区别是什么?5 Final、 finally 和 finalize 的区别是什么?六、加分题1什么是设计模式?有哪些常见的设计模式?2请简要介绍 Spring MVC、 IoC 和 AOP。真题 5 某知名搜索引擎提供商软件工程师笔试题一、单选题1下列关于实例方法的描述中,正确的是( )。A实例方法可直接调用超类的类方法B实例方法可直接调用超类的实例方法C实例方法可直接调用其它类的实例方法D实例方法可直接调用本类的类方法2下列关于抽象方法的描述中,正确的是( )。A抽象方法的 body 部分必须用一对大括号 包住B a

35、bstract 修饰符可修饰字段、方法和类C声明抽象方法,大括号可有可无D声明抽象方法不可写出大括号3有如下代码:public class Testpublic int f()static int i = 0;i+;return i;public static void main(String args)Test test = new Test();test.f();int j = test.f();System.out.println(j);上述代码的输出结果是( )。A 0 B 2 C 1 D编译失败4有如下代码:class Superpublic Integer getLenght()r

36、eturn new Integer(4);public class Sub extends Superpublic Long getLenght()return new Long(5);public static void main(String args)Super super = new Super();Sub sub = new Sub();System.out.println(super.getLenght().toString() + , +sub.getLenght();上述代码的输出结果是( )。A 4,5 B 4,4 C 5,4 D编译失败5 Servlet 处理请求的方式为(

37、 )。A以程序的方式 B以进程的方式C以线程的方式 D以响应的方式6在 JDBC 中,用于表示数据库连接的对象是( )。A Statement B Connection C PreparedStatement D DriverManager7在 Java 语言中,用于调用存储过程的对象是( )。A DriverManager B ResultSet C CallableStatemet D PreparedStatement8下面关于垃圾回收的描述中,正确的是( )。A对象空间被回收掉之后,会执行该对象的 finalize 方法B一个对象一旦成为垃圾,就马上被回收C finalize 方法和

38、C+语言的析构函数完全是一回事D 一个对象成为垃圾是因为不再有引用指着它,可是线程并非如此9按照 MVC 设计模式, JSP 用于实现( )。A Controller(控制器) B View(视图)C Model(模型) D Database(数据库)10有如下代码:10) public Object m() 11) Object o = new Float(3.1f);12) Object oa = new Object1;13) oa0 = o;14) o = null;15) oa0 = null;16) print return 0;17) 当 Float 对象在第 11 行被创立后,

39、( )能够被垃圾回收。A 14 行以后 B 13 行以后 C 15 行以后 D 16 行以后11有如下代码:class BaseBase()System.out.print(Base);public class Alpha extends Basepublic static void main(String args)new Alpha();new Base();上述代码的输出结果是( )。A Base B BaseBase C运行失败 D编译失败12在 J2EE 中,属于 Web 层的组件有( )。A Servlet B HTML C Applet D EJB13以下关于异常的描述中,正确的

40、是( )。A如果一个方法声明将抛出某个异常,它就必须真的抛出那个异常B一旦出现异常,程序运行就终止了C在 catch 子句中匹配异常是一种精确匹配D可能抛出系统异常的方法是不需要声明异常的14有如下代码:public class Testpublic static void main(String args)tryreturn;finallySystem.out.println(Finally);上述代码的输出结果是( )。A Finally B编译失败C运行时抛出异常 D代码正常运行但没有任何输出15在 JSP 指令中, isELIgnored=boolean的意思是( )。A决定该页面是否

41、是一个错误处理页面 B决定是否实现 servlet 的单线程模式C决定是否支持 EL 表示 D没有具体的含义16以下关于 Java 语言中的引用的描述中,正确的是( )。A引用实际上就是指针 B引用本身是 PrimitiveC一个对象只能被一个引用所指引 D引用就是对象本身17以下关于 import java.util 包的描述中,错误的是( )。A Vector 类放在/java/util/目录下 B Vector 类属于 java.util 包C Vector 类放在 java.util 文件中 D Vector 类是 Sun 公司的产品18下列属于容器型构件的是( )。A JButton

42、 B JEdit C JPanel D JTextField19在一个线程中, sleep(100)方法将使得该线程在( )后获得对 CPU 的控制(假设睡眠过程中不会有其它事件唤醒该线程)。A正好 100ms B 100ms 不到 C100ms D不一定20下面不是 Java 语言关键字的是( )。A integer B float C double D default21在 WEB-INF 目录下,必须存放的文件为( )。A class 文件 B web.xml C html 文件 D jar 文件22表示式 4&7 的运算结果是( )。A 4 B 1 C 6 D 723有如下代码:long temp=(int)3.9;temp%=2;那么,变量 temp 的最终值是( )。A 0 B 1 C 2 D 424以下能够替换 URL 中的 session ID 的方法是(

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服