10道不得不会的docker面试题,Java基础笔试练习(1),java算法面试代写

G.The code may ruin with output “A B C A A B C A B C “, then exit.

答案:

E G

解析:

在每个线程中都是顺序执行的,所以sl.printAll();必须在前三句执行之后执行,也就是输出的内容必有(连续或非连续的)ABC。而线程之间是穿插执行的,所以一个线程执行 sl.printAll();之前可能有另一个线程执行了前三句的前几句。

E答案相当于线程1顺序执行完然后线程2顺序执行完。

G答案则是线程1执行完前三句add之后线程2插一脚执行了一句add然后线程1再执行 sl.printAll();输出ABCA。接着线程2顺序执行完输出ABCABC

输出加起来即为ABCAABCABC。

11. 关于容器下面说法正确的是? ( )


A.列表(List)和集合(Set)存放的元素都是可重复的。

B.列表(List)和集合(Set)存放的元素都是不可重复的。

C.映射(Map)<key,value>中key是可以重复的。

D.映射(Map)<key,value>中value是可以重复的。

答案:

D

解析:

列表(List)的元素是有序、可重复的;

集合(Set)的元素是无序、不可重复的。

12.以下说法错误的是?()


A.数组是一个对象

B.数组不是一种原生类

C.数组的大小可以任意改变

D.在Java中,数组存储在堆中连续内存空间里

答案:

C

解析:

在java中,数组是一个对象,不是一种原生类,对象所以存放在堆中,又因为数组特性,是连续的,只有C不对

13.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?


A.private

B.无修饰符

C.public

D.protected

答案:

B

解析:

解析

14.关于以下程序代码的说明正确的是?


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

15.如何放掉一个指定占据的内存空间?()


A.调用free()方法

B.代用system.gc()方法

C.赋值给该项对象的引用为null

D.程序员无法明确强制垃圾回收器运行

答案:

D

解析:

在《java虚拟机》一书中明确讲了,释放掉占据的内存空间是由gc完成,但是程序员无法明确强制其运行,该空间在不被引用的时候不一定会立即被释放,这取决于GC本身,无法由程序员通过代码控制。

16.一般情况下,以下哪个选项不是关系数据模型与对象模型之间匹配关系?


A.表对应类

B.记录对应对象

C.表的字段对应类的属性

D.表之间的参考关系对应类之间的依赖关系

答案:

D

解析:

一般关系数据模型和对象数据模型之间有以下对应关系:表对应类,记录对应对象,表的字段对应类的属性

17.下列关于Java并发的说法中正确的是()


A.CopyOnWriteArrayList适用于写多读少的并发场景

B.ReadWriteLock适用于读多写少的并发场景

C.ConcurrentHashMap的写操作不需要加锁,读操作需要加锁

D.只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

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

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

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

本次面试答案,以及收集到的大厂必问面试题分享:

字节跳动超高难度三面java程序员面经,大厂的面试都这么变态吗?

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值