Java面试题.docx
- 文档编号:28061217
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:40
- 大小:33.93KB
Java面试题.docx
《Java面试题.docx》由会员分享,可在线阅读,更多相关《Java面试题.docx(40页珍藏版)》请在冰豆网上搜索。
Java面试题
真题1某知名互联网下载服务提供商软件工程师笔试题
一、选择题
1.访问修饰符作用范围由大到小是()。
A.private-protected-default-publicB.public-protected-default-private
C.private-default-protected-publicD.public-default-protected-private
2.在Java语言中,下面接口以键-值对的方式存储对象的是()。
3.以下不是Object类的方法的是()。
A.hashCode()B.finalize()
C.notify()D.hasNext()
4.有如下代码:
publicclassTest{
publicvoidchange(Stringstr,charch[]){
str="testok";
ch[0]='g';
}
publicstaticvoidmain(Stringargs[]){
Stringstr=newString("good");
char[]ch={'a','b','c'};
Testex=newTest();
ex.change(str,ch);
}
}
上面程序的运行结果是()。
A.goodandabcB.goodandgbc
C.testokandabcD.testokandgbc
二、填空题
1.Math.round(12.5)的返回值等于(),Math.round(-12.5)的返回值等于()。
2.有如下程序:
Stringstr1="helloworld";
Stringstr2="hello"+newString("world");
那么程序的运行结果是()。
3.在Java语言中,基本数据类型包括()、字符类型()、布尔类型boolean和数值类型()。
4.字符串分为两大类:
一类是字符串常量();另一类是字符串变量()。
三、简答题
1.接口和抽象类有什么区别?
2.实现多线程的方法有哪几种?
3.利用递归方法求6!
4.用Java语言实现一个观察者模式。
5.一个有10亿条记录的文本文件,已按照关键字排好序存储,请设计一个算法,可以从文
件中快速查找指定关键字的记录。
真题2某知名社交平台软件工程师笔试题
一、单项选择题
1.二进制数11101转化为十进制数是()。
A.23B.17C.26D.29
2.以下可以对对象加互斥锁的关键字是()。
A.synchronizedB.serializeC.VolatileD.Static
二、不定项选择题
1.下列关于类的构造方法的描述中,正确的是()。
A.类中的构造方法不可省略
B.构造方法必须与类同名,但方法不能与class同名
C.构造方法在一个对象被new时执行
D.一个类只能定义一个构造方法
2.下列关于Java语言中main方法的描述中,正确的是()。
A.Java程序的main方法必须写在类里面
B.Java程序中可以有多个main方法
C.Java程序的main方法中,如果只有一条语句,可以不用大括号{}括起来
D.Java程序中类名必须与文件名一样
3.在类声明中,声明一个类不能再被继承的关键字是()。
A.privateB.abstractC.finalD.static
4.下面关于关键字abstract的描述中,正确的是()。
A.关键字abstract可以修饰类或方法
B.final类的方法都不能是abstract,因为final类不能有子类
C.abstract类不能实例化
D.abstract类的子类必须实现其超类的所有abstract方法
5.以下不是合法标识符的是()。
A.STRB.x3abC.voidD.abcd
6.以下关于类的描述中,正确的是()。
A.只要没有定义不带参数的构造方法,JVM都会为类生成一个默认构造方法
B.局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
C.使用其他类的方法仅仅需要引用方法的名字即可
D.在类中定义的变量称为类的成员变量,在其他类中可以直接使用
7.有如下代码:
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inti;
i=6;
}
}
以上程序的运行结果是()。
A.666B.667C.677D.676
8.下列关于Java语言中关键字super的说法中,正确的是()。
A.关键字super是在子类对象中指代其父类对象的引用
B.子类通过关键字super只能调用父类的属性,而不能调用父类的方法
C.子类通过关键字super只能调用父类的方法,而不能调用父类的属性
D.关键字super不仅可以指代子类的直接父类,还可以指代父类的父类
9.下面关于String、StringBuilder以及StringBuffer的描述中,正确的是()。
A.对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
B.StringBuffer是线程安全的
C.StringBuilder是线程安全的
D.可以修改StringBuilder和StringBuffer的内容
10.以下不是基本数据类型的类型有()。
11.A.intB.StringC.ByteD.Float
12.11.JavaThread中的方法resume()负责恢复哪些线程的执行?
()
13.A.通过调用wait()方法而停止运行的线程
14.B.通过调用sleep()方法而停止运行的线程
15.C.通过调用stop()方法而停止的线程
16.D.通过调用suspend()方法而停止运行的线程
17.12.有如下代码:
publicclassTest{
publicstaticinttestException(inti)throwsException{
try{
returni/5;
}catch(Exceptione){
thrownewException("exceptioninaaMethod");
}finally{
}
}
publicstaticvoidmain(String[]args){
try{
testException(0);
}catch(Exceptionex){
}
}
}
以上这段代码编译运行后,输出的结果是(
)。
A.finallyexceptioninmainfinished
B.finallyfinished
C.exceptioninmainfinally
D.finallyexceptioninmainfinished
13.释放掉一个指定占据的内存空间的方法是(
)。
A.调用system.gc()方法
B.调用free()方法
C.赋值给该项对象的引用为null
D.程序员无法明确强制垃圾回收器运行
14.以下关于Spring框架的描述中,正确的是(
)。
A.Spring是“依赖注入”模式的实现
B.Spring是一个轻量级JavaEE的框架集合
C.使用Spring可以实现声明事务
D.Spring提供了AOP方式的日志系统
15.堆的形状是一棵()。
A.完全二叉树
B.平衡二叉树
C.二叉排序树
D.满二叉树
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的对象,当将选项()的代码填到//tododelete处时,可以在
Iterator遍历的过程中正确并安全地删除一个list中保存的对象。
Iteratorit=list.iterator();
intindex=0;
while(it.hasNext())
{
Objectobj=it.next();
if(needDelete(obj))//needDelete返回boolean,决定是否要删除
{
//tododelete
}
index++;
}
A.it.remove()B.list.remove(index)C.list.remove(obj)D.list.delete(index)
19.以下属于算法结构的是()。
A.输入数据B.处理数据C.输出结果D.存储数据
20.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,那么它的前序遍历序列是()。
A.abcdeB.dceabC.deabcD.cedba
21.算法的空间复杂度是指()。
A.算法程序的长度
B.算法程序中的指令条数
C.算法程序所占的存储空间
D.算法执行过程中所需要的存储空间
22.二叉树是非线性数据结构,以下关于其存储结构的描述中,正确的是()。
A.它不能用链式存储结构存储
B.它不能用顺序存储结构存储
C.顺序存储结构和链式存储结构都不能使用
D.顺序存储结构和链式存储结构都能存储
23.在一棵二叉树上,第4层的结点数最多是()。
A.8
B.16
C.32
D.64
24.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟
快速排序的结果为()。
A.3,2,5,8,6
B.2,3,5,8,6
C.3,2,5,6,8
D.2,3,6,5,8
25.事务隔离级别是由(
)实现的。
A.Hibernate
B.Java应用程序
C.数据库系统
D.JDBC驱动程序
26.设指针变量p指向双向链表中结点A,指针变量s指向被插入的结点X,则在结点A的
后面插入结点X的操作序列为()。
A.s->left=p;s->right=p->right;p->right=s;p->right->left=s
B.s->left=p;s->right=p->right;p->right->left=s;p->right=s
C.p->right=s;s->left=p;p->right->left=s;s->right=p->right
D.p->right=s;p->right->left=s;s->left=p;s->right=p->right
27.在排序方法中,从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)
的一端的方法,称为()。
A.归并排序B.希尔排序C.插入排序D.选择排序
28.操作系统的功能是进程处理机管理、()管理、()管理、文件管理和作业管理
等。
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.3B.5C.8D.7
33.IP协议属于()。
A.网络互联层B.应用层C.数据链路层D.传输层
34.将网络物理地址转换为IP地址的协议是()。
A.IPB.ICMPC.ARPD.RARP
35.对于IP地址,掩码为,子网号为()。
A.160.2B.160C.63.160D.63.160.2
36.对于IP地址,属于()类地址。
A.AB.BC.CD.D
37.一个广域网和一个局域网相连,需要的设备是()。
A.NICB.网关C.集线器D.路由器
三、问答题
1.List
extendsT>和List
superT>之间有什么区别?
2.给出两种单例模式的实现方法,并说明这两种方法的优缺点。
3.描述Java语言中抽象基类和接口各自主要的使用场景。
4.int和Integer的区别是什么?
5.已知两个链表head1和head2各自有序,请把它们合并成一个依然有序的链表。
结果链
表要包含head1和head2的所有结点,即结点值相同。
6.给定a、b两个文件,各存放50亿个url,每个url各占64B,内存限制是4GB,请找出
文件a与文件b中共同的url。
真题3某知名安全软件服务提供商软件工程师笔试题
一、不定项选择题
1.“hello”instanceofObject的返回值是()。
A.“abcd”B.trueC.falseD.String
2.下面有关方法覆盖的描述中,不正确的是()。
A.覆盖的方法一定不能是private的
B.要求覆盖和被覆盖的方法必须具有相同的访问权限
C.覆盖的方法不能比被覆盖的方法抛出更多的异常
D.要求覆盖和被覆盖的方法有相同的名字、参数列以及返回值
3.下面说法正确的是()。
A.如果源代码中有package语句,则该语句必须被放在代码的第一行(不考虑注释和空
格)
B.如果源代码中有main()方法,则该方法必须被放在代码的第一行
C.如果源代码中有import语句,则该语句必须被放在代码的第一行(不考虑注释和空
格)
D.如果某文件的源代码中定义了一个public的接口,则接口名和文件名可以不同
4.下面变量名中合法的有()。
A.2varB.var2C._varD._1_
E.$varF.#var
5.一个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.protected
7.有如下代码:
Strings=“xbcde”;
以下针对上述代码段的描述中,正确的是(
)。
A.输出字符e
B.什么都没有,抛出ArrayIndexOutOfBoundsException
C.输出字符d
D.代码编译不成功,因为charA.t()方法不属于String类
8.下面创建Map集合的方式中,正确的是()。
A.Mapm=newMap(newCollection())
B.Mapm=newMap(10,2,40)
C.Mapm=newMap()
D.Map是接口,所以不能实例化
9.以下关于被访问控制符protected修饰的成员变量的描述中,正确的是(
)。
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的
子类
B.只能被该类自身所访问和修改
C.可以被两种类访问和引用:
该类本身、该类的所有子类
D.只能被同一个包中的类访问
10.为了区分类中重载的同名的不同方法,要求(
)。
A.采用不同的形式参数列表
B.采用不同的返回值类型
C.调用时用类名或者对象名作前缀
D.采用不同的参数名
11.下列对于构造方法的描述中,正确的是(
)。
A.构造方法必须用void声明返回类型
B.构造方法名必须与类名相同
C.构造方法可以被程序调用
D.如果编程人员没在类中定义构造方法,程序将报错
12.下列有关继承的描述中,正确的是()。
A.子类能继承父类的非私有方法和属性
B.子类能继承父类的所有方法和属性
C.子类只能继承父类的公有方法和属性
D.子类能继承父类的方法,而不是属性
13.下面有关子类继承父类构造方法的描述中,正确的是()。
A.创建子类的对象时,先调用子类自己的构造方法,然后调用父类的构造方法
B.子类会继承父类的构造方法
C.子类必须通过关键字super调用父类的构造方法
D.子类无法继承父类的构造方法
14.下列关于Java语言基础知识的描述中,正确的是(
)。
A.类是方法和变量的集合体
B.抽象类或接口可以被实例化
C.数组是无序数据的集合
D.类成员数据必须是公有的
15.有如下代码:
publicclassTest
{
publicstaticvoidmain(String[]args)
{
classA
{
publicinti=3;
}
Objecto=(Object)newA();
Aa=(A)o;
}
}
上述程序运行后的结果是(
)。
A.i=3
B.编译失败
C.运行结果为ClassCastException
D.i=0
二、填空题
1.用于声明一个类为抽象类的关键字是(
),用于将一个类修饰为最终类的关键字是
(
)。
2.构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是(
)。
3.在Java语言的基本数据类型中,字符型、整型分别占用字节数为(
)、(
)。
4.一般有两种用于创建线程对象的方法,分别是(
)与(
)。
5.Java语言提供了两种用于多态的机制,分别是(
)与(
)。
三、问答题
1.接口能否继承接口?
抽象类是否可实现(implements)接口?
抽象类是否可继承实体类?
2.面向对象的特征有哪些方面?
3.String和StringBuffer有什么区别?
4.final、finally和finalize的区别是什么?
5.ArrayList、Vector和LinkedList有什么特点?
HashMap和HashTable有什么区别?
四、附加题
1.编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
但是要保证汉字不被截半个,例如“人ABC”4,应该截为“人AB”,输入“人ABC们DEF”,
6,应该输出为“人ABC”而不是“人ABC+们的半个”。
2.排序有哪几种方法?
用Java语言实现一个插入排序?
真题4某知名互联网金融企业软件工程师笔试题
一、单项选择题
1.下列描述中,正确的是()。
A.Java程序经编译后会产生MachineCode(机器码)
B.Java程序经编译后会产生ByteCode(字节码)
C.Java程序经编译后会产生DLL(动态链接库)
D.以上描述都不正确
2.Java语言是从()语言改进重新设计的。
A.BASICB.C++C.PascalD.Ada
3.下列关于类的描述中,正确的是(
)。
A.类中的构造方法不可省略
B.一个类只能定义一个构造方法
C.new一个对象的时候构造方法会被调用
D.构造方法必须与类同名,但普通方法不能与类同名
4.下列选项中,提供了Java存取数据库能力的包是(
)。
A.java.sql
B.java.swing
C.java.io
D.java.awt
5.下列运算符合法的是(
)。
A.&&
B.<>
C.while
6.有如下代码:
a=0;
c=0;
do{
--c;
a=a-1;
}while(a>0);
当执行完以上代码后,变量c的值是(
)。
A.-2
B.1
C.-1
7.下列关于abstract的描述中,正确的是(
)。
A.abstract修饰符可修饰属性、方法和类
B.抽象方法的方法体必须用一对大括号包住
C.抽象方法的方法体(大括号)可有可无
D.声明抽象方法不可写出大括号
8.下列关于形式参数的描述中,正确的是(
)。
D.:
=
D.死循环
A.形式参数可被视为局部变量
B.形式参数不可以是对象
C.形式参数为方法被调用时真正被传递的参数
D.形式参数可被字段修饰符修饰
9.下列关于实例方法的描述中,正确的是()。
A.实例方法可直接调用超类的类方法
B.实例方法可直接调用超类的实例方法
C.实例方法可直接调用其他类的实例方法
D.实例方法可直接调用本类的类方法
10.下列关于Java语言的描述中,正确的是()。
A.Java语言容许单独的过程与函数存在
B.Java语言容许单独的方法存在
C.Java语言中的方法属于类中的成员
D.Java语言中的方法必定隶属于某一类(对象)
二、多项选择题
1.下列关于Java语言的编译过程的描述中,正确的有()。
A.环境变量可在编译sourcecode时指定
B.在编译程序时,所能指定的环境变量不包括classpath
C.javac一次可同时编译数个Java源文件
D.javac.exe能指定编译结果要置于哪个目录(directory)
2.下列标识
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)