2023年java春招面试题及答案

news2025/1/12 18:52:50

2023年java春招面试题

    • 1、下面有关jdbc statement的说法错误的是?
    • 2、下面有关JVM内存,说法错误的是?
    • 3、下面有关servlet service描述错误的是?
    • 4、下面有关servlet和cgi的描述,说法错误的是?
    • 5、下面有关SPRING的事务传播特性,说法错误的是?
    • 6、看以下代码:
    • 7、下面哪一项不是加载驱动程序的方法?
    • 8、关于sleep()和wait(),以下描述错误的一项是( )
    • 9、根据下面的程序代码,哪些选项的值返回true?
    • 10、下面哪个不对?
    • 11、关于以下程序代码的说明正确的是?
    • 12、下列LINUX系统的键盘命令中,显示当前工作目录的命令是
    • 13、下面哪种方式不可以实现数据约束
    • 14、在往个表插入记录时,有10条成功,5条失败,数据还没有提交,需要把所有数据回退,选择下面的命令
    • 15、要计算表student中score*0.8的值,并生成别名ScoreA的SQL语句是
    • 16、下列数组初始化正确的是
    • 17、提供Java存取数据库能力的包是
    • 18、代码int[] arr = new int[5]执行后,关于数组arr描述正确的是
    • 19、避免死锁的一个著名的算法是
    • 20、设一组初始关键字序列为(31,65,82,76,13,27,10),则第4趟冒泡排序结束后的结果为
    • 21、关于ArrayList,初始化指定容量为10,在添加第11个元素时,会发生什么
    • 22、关于抽象类叙述正确的是?
    • 23、java 中哪个关键字可以对对象加互斥锁?
    • 24、以下 _____ 不是 Object 类的方法
    • 25、下面关于构造方法的说法不正确的是 ()

🏠个人主页:@编程ID
🧑个人简介:大家好,我是编程ID,一个想要与大家共同进步的程序员儿
🧑如果各位在准备面试,找工作,刷算法,刷选择题,可以使用我找工作前用的刷题神器哦![面试刷题神器🎁]
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,望能帮到各位想要找工作或者提高自己的小伙伴儿们,如果有什么需要改进的地方,还请大佬不吝赐教🤞🤞

上一篇–2023春招java面试题及答案(上)》》》》》》

1、下面有关jdbc statement的说法错误的是?

A、JDBC提供了Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程

B、对于PreparedStatement来说,数据库可以使用已经编译过及定义好的执行计划,由于
PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象”

C、PreparedStatement中,“?” 叫做占位符,一个占位符可以有一个或者多个值

D、PreparedStatement可以阻止常见的SQL注入式攻击

正确答案:C

2、下面有关JVM内存,说法错误的是?

A、程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的

B、虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的

C、方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的

D、原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的

正确答案:C

参考答案:方法区在JVM中也是一个非常重要的区域,它与堆一样,是被 线程共享 的区域。 
在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常
量以及编译器编译后的代码等。

3、下面有关servlet service描述错误的是?

A、不管是post还是get方法提交过来的连接,都会在service中处理

B、doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的

C、service()是在javax.servlet.Servlet接口中定义的

D、service判断请求类型,决定是调用doGet还是doPost方法

正确答案:B

参考答案:B doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的

4、下面有关servlet和cgi的描述,说法错误的是?

A、servlet处于服务器进程中,它通过多线程方式运行其service方法

B、CGI对每个请求都产生新的进程,服务完成后就销毁

C、servlet在易用性上强于cgi,它提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等

D、cgi在移植性上高于servlet,几乎所有的主流服务器都直接或通过插件支持cgi

正确答案:D

参考答案:选择D,servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请
求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

5、下面有关SPRING的事务传播特性,说法错误的是?

A、PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行

B、PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就抛出异常

C、PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起

D、PROPAGATION_NESTED:支持当前事务,新增Savepoint点,与当前事务同步提交或回滚

正确答案:B

6、看以下代码:

文件名称:forward.jsp

<html>  
     <head><title> 跳转  </title> </head> 
     <body>  
         <jsp:forward page="index.htm"/>     
     </body>
 </html> 

如果运行以上jsp文件,地址栏的内容为
A、http://127.0.0.1:8080/myjsp/forward.jsp

B、http://127.0.0.1:8080/myjsp/index.jsp

C、http://127.0.0.1:8080/myjsp/index.htm

D、http://127.0.0.1:8080/myjsp/forward.htm

正确答案:A

参考答案:forward和redirect是最常问的两个问题 forward,服务器获取跳转页面内容传给用户,用户地址栏不变 
redirect,是服务器向用户发送转向的地址,redirect后地址栏变成新的地址 因此这个题是A

7、下面哪一项不是加载驱动程序的方法?

A、通过DriverManager.getConnection方法加载

B、调用方法 Class.forName

C、通过添加系统的jdbc.drivers属性

D、通过registerDriver方法注册

正确答案:A

参考答案:答案:A DriverManager.getConnection方法返回一个Connection对象,这是加载驱动之后才能进行的

8、关于sleep()和wait(),以下描述错误的一项是( )

A、sleep是线程类(Thread)的方法,wait是Object类的方法;

B、sleep不释放对象锁,wait放弃对象锁

C、sleep暂停线程、但监控状态仍然保持,结束后会自动恢复

D、wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态

正确答案:D

参考答案:D Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。 共同点 : 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。 2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException。 如果线程A希望立即结束线程B,则可以对线程B对应的Thread实例调用interrupt方法。如果此刻线程B正在wait/sleep/join,则线程B会立刻抛出InterruptedException,在catch() {} 中直接return即可安全地结束线程。 需要注意的是,InterruptedException是线程自己从内部抛出的,并不是interrupt()方法抛出的。对某一线程调用 interrupt()时,如果该线程正在执行普通的代码,那么该线程根本就不会抛出InterruptedException。但是,一旦该线程进入到 wait()/sleep()/join()后,就会立刻抛出InterruptedException 。 不同点 : 1.每个对象都有一个锁来控制同步访问。Synchronized关键字可以和对象的锁交互,来实现线程的同步。 sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 2.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用 3.sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常 4.sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 5.wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

9、根据下面的程序代码,哪些选项的值返回true?

public class Square {  
    long width;  
    public Square(long l) {   
        width = l;  
    }  
    public static void main(String arg[]) {   
        Square a, b, c;  
        a = new Square(42L);   
        b = new Square(42L);   
        c = b;   
        long s = 42L;  
    } 
}

A、a == b

B、s == a

C、b == c

D、a.equals(s)

正确答案:C

参考答案:答案:C a = new Square(42L);     b = new Square(42L);    这里new了两个对象,所以a,b不是同
一个引用a!=b s的类型跟a,b不同类型,所以s!=a,s!=b  c = b; 这里b,c是同一个对象的引用,所以b==c是true

10、下面哪个不对?

A、RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.

B、A method is not required to declare in its throws clause any subclasses of RuntimeExeption that might be thrown during the execution of the method but not caught

C、An RuntimeException is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch.

D、NullPointerException is one kind of RuntimeException

正确答案:C

参考答案:运行时异常: 都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以
不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。        
运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch
语句捕获它,也没有用throws子句声明抛出它,也会编译通过。 非运行时异常 (编译异常): 是
RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如
果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不
自定义检查异常。

11、关于以下程序代码的说明正确的是?

 public class HasStatic{
       private static int x=100;
       public static void main(String args[]){
            HasStatic hs1=new HasStatic();
            hs1.x++;
            HasStatic  hs2=new HasStatic();
            hs2.x++;
            hs1=new HasStatic();
            hs1.x++;
            HasStatic.x--;
            System.out.println("x="+x);
       }
       } 

A、程序通过编译,输出结果为:x=103

B、10行不能通过编译,因为x是私有静态变量

C、5行不能通过编译,因为引用了私有静态变量

D、程序通过编译,输出结果为:x=102

正确答案:D

参考答案:此题选择D。 首先要了解static的意思。 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员
方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 static变量在第一次使用的时候初始
化,但只会有一份成员对象。 所以这里不仅可以调用,而且每一次调用都确实修改了x的值,也就是变化情况是这样
的: x=101 x=102 x=103 x=102

12、下列LINUX系统的键盘命令中,显示当前工作目录的命令是

A、ls命令

B、cd命令

C、pwd命令

D、cat命令

正确答案:C

13、下面哪种方式不可以实现数据约束

A、NOT NULL

B、UNIQUE INDEX

C、PRIMARY KEY

D、非唯一索引 INDEX

正确答案:D

14、在往个表插入记录时,有10条成功,5条失败,数据还没有提交,需要把所有数据回退,选择下面的命令

A、DELETE

B、ROLLBACK

C、UNCOMMIT

D、TRUNCATE TABLE

正确答案:B

15、要计算表student中score*0.8的值,并生成别名ScoreA的SQL语句是

A、SELECT SCORE*0.8 ‘ScoreA’FROM student

B、SELECT SCORE*0.8 “ScoreA”FROM student

C、SELECT SCORE*0.8 AS ScoreA FROM student

D、SELECT SCORE*0.8 AS‘ScoreA’FROM student

正确答案:C

16、下列数组初始化正确的是

A、int[5] a= {1,2,3,4,5};

B、Integer[2][2] a = {{new Integer(1), new Integer(2)},{new Integer(3),new Interger(4)}};

C、char[][] a = {{‘2’,’3’,’4’,’5’},new char[3]};

D、Float[][] a = new Float[][5];

正确答案:C

17、提供Java存取数据库能力的包是

A、java.sql

B、java.awt

C、java.lang

D、java.swing

正确答案:A

18、代码int[] arr = new int[5]执行后,关于数组arr描述正确的是

A、arr[4]为0

B、arr[4]未定义

C、arr[5]为0

D、arr[5]为空

正确答案:A

19、避免死锁的一个著名的算法是

A、先入先出法

B、银行家算法

C、优先级算法

D、资源按序分配法

正确答案:B

20、设一组初始关键字序列为(31,65,82,76,13,27,10),则第4趟冒泡排序结束后的结果为

A、(13,27,10,31,65,76,82)

B、(10,13,27,31,65,76,82)

C、(31,13,27,10,65,76,82)

D、A. (31,27,13, 65, 10,76,82)

正确答案:A

21、关于ArrayList,初始化指定容量为10,在添加第11个元素时,会发生什么

A、通过新建一个数组(容量是原来的1.5倍),再将旧数组的数据循环拷贝至新数组中。

B、可以直接将元素添加到容器中,因为它实现的是List接口。

C、通过新建一个数组,再通过System.arrayCopy的方式将就数据移植新数组中。

D、抛出异常,容量是不允许变化的。

正确答案:C

22、关于抽象类叙述正确的是?

A、抽象类不能实现接口

B、抽象类必须有“abstract class”修饰

C、抽象类必须包含抽象方法

D、抽象类也有类的特性,可以被实例化

正确答案:B

23、java 中哪个关键字可以对对象加互斥锁?

A、transient

B、synchronized

C、serialize

D、static

正确答案:B

24、以下 _____ 不是 Object 类的方法

A、clone()

B、finalize()

C、toString()

D、hasNext()

正确答案:D

25、下面关于构造方法的说法不正确的是 ()

A、构造方法也属于类的方法,可以创建对象的时候给成员变量赋值

B、构造方法不可以重载

C、构造方法没有返回值

D、构造方法一定要和类名相同

正确答案:B

参考答案:1.构造方法也是类的方法,可以在创建对象时为成员变量赋值 2.构造方法可以进行重载,但是参数列表必须不相同,不以返回值和访问级别进行区分 3.构造方法没有返回值 4.构造方法一定要与定义为public的类同名 综上所述,B不正确

结束语 🥇🥇🥇
发现非常好用的一个刷题网站,可以检测大家的基础!大家一起努力!加油!!!
包含数据库、Java、C++、C、Python、前端等等题目,难度可以自行选择
在线编程出答案,(也可自行查看答案),也有选择题,非常方便
程序员刷题神器网站点击链接注册即可刷题
祝大家早日找到满意的工作!
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Radio Link Monitoring(RLM)

欢迎关注微信同步公众号“modem协议笔记”。 这篇看下radio link monitoring相关的内容&#xff0c;就是UE进行DL radio link quality监听的规定&#xff0c;这部分与RLF的判定息息相关。市面上讲NR相关的书籍&#xff0c;多少都会涉及这部分内容&#xff0c;可能spec上这块的…

pdf免费转换工具,只需记住这3款就够了

PDF格式的文档在人们的办公过程中扮演着非常重要的角色&#xff0c;而PDF格式的文档之所以受到人们的青睐&#xff0c;是因为它不容易被篡改&#xff0c;可以用多种阅读器打开浏览。然而&#xff0c;在实际的应用过程中&#xff0c;我们不仅需要阅读PDF文档&#xff0c;也经常还…

HTTP压力测试概论

常用的HTTP服务压测工具介绍 在项目正式上线之前&#xff0c;我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug&#xff0c;同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求&#xff0c;节约资源成本。 HTTP服务压力测试工具 在…

如何使用403bypasser绕过目标页面上的访问控制限制

关于403bypasser 403bypasser是一款自动化工具&#xff0c;该工具能够以自动化的形式实现针对目标页面的访问控制限制绕过技术。403bypasser项目目前仍处于积极开发阶段&#xff0c;并且还会增加新的功能。 该工具基于Python语言开发&#xff0c;因此具备良好的跨平台特性。 …

最好的 QML 教程,让你的代码飞起来!

想必大家都知道&#xff0c;亮哥一直深耕于 CSDN&#xff0c;坚持了好很多年&#xff0c;目前为止&#xff0c;原创已经 500 多篇了&#xff0c;一路走来相当不易。当然了&#xff0c;中间有段时间比较忙&#xff0c;没怎么更新。就拿 QML 来说&#xff0c;最早的一篇文章还是 …

基于云服务器的hexo博客搭建(稳)

文章目录序一、前置工具的准备域名购买及服务器购买二、搭建步骤1.配置服务器环境2.nginx 的配置4.git 及node.js安装1.安装node.js:2.安装Git及配置仓库1.安装git:5.本地主机配置&#xff08;这里winr &#xff0c;cmd&#xff0c;打开命令行操作&#xff09;1.安装node.js2.安…

c++11 标准模板(STL)(std::unordered_set)(十二)

定义于头文件 <unordered_set> template< class Key, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator<Key> > class unordered_set;(1)(C11 起)namespace pmr { templ…

【计算机二级python】综合题目

计算机二级python真题 文章目录计算机二级python真题文本文件“红楼梦. txt”中包含了《红楼梦》小说前20章内容&#xff0c;“ 停用词. txt”包含了需要排除的词语。请修改模板&#xff0c;实现以下功能。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪…

【安卓】安卓设备实现wifi display解决方案

看文章前&#xff0c;我们需要知道的几个概念&#xff1a; 1、Wifi Direct技术&#xff1b; 2、Wifi Display技术&#xff1b; 3、Miracast标准&#xff1b; 安卓手机用户都知道我们的安卓手机有一个wifi直连功能&#xff0c;在点击设置–》WIFI–》更多Wifi设置–》Wifi直连&a…

回顾2-JAVA的标识符和关键词

JAVA的标识符和关键词 标识符概念: 所有地方都需要名称 如: 类的名字>类名 如:变量的名字,方法的名字,特殊关键词语的名字 这些符号就是一种标识, 涵盖一些意思 简单理解, 就是一种标记,识别,的符号关键词 这些词语, 在JAVA程序中, 被赋予了特殊的意义, 使用时候要避开同名…

编写SPI设备驱动程序

编写SPI设备驱动程序 文章目录编写SPI设备驱动程序参考资料&#xff1a;一、 SPI驱动程序框架二、 怎么编写SPI设备驱动程序2.1 编写设备树2.2 注册spi_driver2.3 怎么发起SPI传输2.3.1 接口函数2.3.2 函数解析致谢参考资料&#xff1a; 内核头文件&#xff1a;include\linux\s…

Python实现GWO智能灰狼优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。1.项目背景灰狼优化算法(GWO)&#xff0c;由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优…

Shell高级——Linux中的文件描述符的本质(数组的下标)

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 前言 Linux中一切接文件&#xff0c;比如 C 源文件、视频文件、Shell脚本、可执行文件等&#xff0c;就连键盘、显示器、鼠标等硬件设备也都是文件。 一个 Linux 进程可以打开成百上…

第15天-商城系统架构,首页渲染三级分类及搭建域名访问商城

1.商城系统介绍 1.1.技术方案 前后端分离服务端模板渲染&#xff08;选择&#xff09;商品详情页面静态化改造&#xff08;优化&#xff09; 1.2.动静分离架构 2.模板引擎Thymeleaf 2.1.Thymeleaf介绍 官方文档&#xff1a;https://www.thymeleaf.org/doc/tutorials/3.0/usin…

今天,小灰37岁了!

人们常常说&#xff0c;35岁是互联网人的中年危机。现在&#xff0c;小灰已经跨过了中年危机&#xff0c;倒不是因为小灰财务自由了&#xff0c;而是因为今天是小灰37岁的生日。年轻时候&#xff0c;小灰总觉得30岁是一个很遥远的年龄&#xff0c;而现在&#xff0c;小灰距离40…

KingbaseES V8R6 运维系列 --单机小版本升级

​ 案例说明&#xff1a; 在KingbaseES V8R6版本提供了sys_upgrade的升级工具&#xff0c; 本案例描述了KingbaseES V8R6单机环境下数据库的小版本升级操作&#xff0c;案例涉及的版本从‘(Kingbase) V008R006C005B0041’通过sys_upgrade升级到‘ (Kingbase) V008R006C005B0054…

【Java】Java进阶学习笔记(四)—— 抽象类与接口

【Java】Java进阶学习笔记&#xff08;四&#xff09;—— 抽象类与接口一、抽象类1、抽象类的概念抽象类的定义格式2、抽象类的注意点抽象方法的介绍3、抽象类的具体作用4、抽象类实例二、接口&#xff08;一&#xff09;、接口的概念1、接口与类的区别2、接口特性3、抽象类和…

MyBatis 查出数据不一致 MyBatis返回数据和数据库查询不一致

MyBatis 查出数据不一致 MyBatis返回数据和数据库查询不一致 --- MyBatis查询到的数据 和 Sql 查询到的数据不一致 一、背景 近期工作中&#xff0c;遇到一个MyBatis查询数据不一致的问题&#xff0c;表现是&#xff1a; sql在数据库中查询出10条数据&#xff0c;mybatis 返回的…

【服务器数据恢复】VSAN数据迁移中断导致容量盘故障的数据恢复案例

VSAN简介&#xff1a; VSAN是以vSphere内核为基础开发&#xff0c;可以扩展使用的分布式存储架构。该架构在vSphere集群主机中安硬盘及闪存构建VSAN存储层&#xff0c;通过存储进行管理与控制&#xff0c;最终形成一个共享存储层。 VSAN数据存储是一个对象存储&#xff0c;以文…

MySQL事务的12连问

事务的12连问&#xff0c;相信大家看完肯定会有帮助的。 1. 什么是数据库事务&#xff1f; 事务&#xff0c;由一个有限的数据库操作序列构成&#xff0c;这些操作要么全部执行,要么全部不执行&#xff0c;是一个不可分割的工作单位。 假如A转账给B 100 元&#xff0c;先从A的…