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

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

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

最后

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

前端校招面试题精编解析大全

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

是 Object 类的方法

A、clone()

B、finalize()

C、toString()

D、hasNext()

正确答案:D

最后

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

[外链图片转存中…(img-qoZf7SsR-1713625466716)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-iYtI1VqF-1713625466716)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值