2024年java春招面试题及答案_关于arraylist,初始化指定容量为10,在添加第11个元素时,会发生什么(1)

最后更多分享:前端字节跳动真题解析

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

🏠个人主页:@编程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

最后

好了,这就是整理的前端从入门到放弃的学习笔记,还有很多没有整理到,我也算是边学边去整理,后续还会慢慢完善,这些相信够你学一阵子了。

做程序员,做前端工程师,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

ORE*0.8 “ScoreA”FROM student

C、SELECT SCORE*0.8 AS ScoreA FROM student

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

最后

好了,这就是整理的前端从入门到放弃的学习笔记,还有很多没有整理到,我也算是边学边去整理,后续还会慢慢完善,这些相信够你学一阵子了。

做程序员,做前端工程师,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值