【Java核心面试宝典】Day1、先给大家来几个面试开胃菜,2024年最新牛客网java面试题库

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

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

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

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

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

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

正文

**JVM:**当我们运行一个程序时,JVM负责将字节码转换为特定机器代码,JVM提供了内存管理、垃圾回收和安全机制等,他独立于硬件和操作系统,正是java程序可以一次编写多处执行的原因。

2、什么是面向对象

=============

封装:封装把一个对象的属性私有化、同时提供一些可以被外界访问的属性的方法。

继承:

  • java是多单继承的,

  • 子类拥有父类非private的属性和方法

  • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展

  • 子类可以用自己的方式实现父类的方法

多态:父类的引用指向子类

3、Java的数据类型有哪些?

===================

很多人都会在这个看似简单的问题中入坑,一说到数据类型,很多人第一时间想到的就是int、char等类型,但是我们仔细看题就会发现,题中所问的问题是数据类型,而不是基本数据类型。

数据类型有两种,分别是“基本数据类型”和“引用数据类型”

基本数据类型包括的内容如下表:

byte

short

int

long

double

float

char

boolean

字节大小

1

2

4

8

8

4

2

1

占位大小

8

16

32

64

64

32

16

8

而引用数据类型包括的是三种:类、接口、数组

那么在Java中为什么会有“基本数据类型”和“引用数据类型”?

原因是因为引用类型在堆里,基本类型在栈里,

栈空间小且连续,往往会被放在缓存。引用类型的高速缓存率高且要多一次解引用。

而且对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高。

4、解释一下构造方法

==============

构造方法有哪些规定?

  • 构造方法名必须与类名一致

  • 构造方法不举办任何返回值类型、关键字void也不能加入

  • 任何类都有构造方法,如果没有显示的定义,则系统会为该类定义一个默认的无参构造器

  • 如果显示的定义了构造器,系统就不会创建默认的不含参数的构造器了,

  • 一个类中可以编写多个构造方法,构造方法之间构成重载关系。

5、如何理解方法的重载和重写?

===================

对于方法的重载和重写,这是两个非常容易混淆的概念,所以在这里做了一个表格的对比:

重载

重写

  1. 发生在同一个类中

  2. 方法名必须相同、参数不同,包括类型、个数、顺序,方法返回值和访问修饰符可以不同。

  3. 发生在编译时

  1. 发生在父子类中

  2. 方法名、参数列表必须相同

  3. 返回值范围小于等于父类

  4. 访问修饰符范围大于等于父类

  5. 抛出的异常范围小于等于父类

以上是几个在Java面试中常见的概念型面试题,接下来再和大家分享几个对比类的面试题

6、解释this和super关键字

=====================

在this和super关键字使用过程中有以下这些注意事项:

  • Super关键字用于从子类访问父类的变量和构造方法,也包含构造方法

  • Super调用父类中的其他构造方法时,调用时要放在构造方法的首行

  • this关键字用于引用类的当前实例,this可以调用当前类的构造方法

  • this调用本类中的其他构造方法时,也要放在首行

  • this和super都不能用在static方法中

7、解释字符串三剑客(String、StringBuilder、StringBuffer)

=================================================

可变性

线程安全

性能

String

由final修饰,不可变

安全的

进行改变时,重新指向

StringBuilder

char[] value 可变

不安全

比StringBuffer有10%-15%的提升

StringBuffer

char[] value 可变

加锁、安全的

8、equals和 == 的区别

====================

这个问题也是我们在开发时常用的两个进行比较的方法,但是这两种方法你真的了解吗?

==:判断两个基本数据类型的值是不是相等,或两个引用类型对象的地址是不是相等

equals():判断是否用一个对象,更加灵活

接下来我们来看一个经典的面试题实例:

public static void main(String[] args) {

Integer x = new Integer(500);

Integer y = new Integer(500);

System.out.println(x == y);

Integer i = 128;

Integer j = 128;

System.out.println(i == j);

Integer a = 127;

Integer b = 127;

System.out.println(a == b);

}

上面这个实例的运行结果如下:

最后

权威指南-第一本Docker书

引领完成Docker的安装、部署、管理和扩展,让其经历从测试到生产的整个开发生命周期,深入了解Docker适用于什么场景。并且这本Docker的学习权威指南介绍了其组件的基础知识,然后用Docker构建容器和服务来完成各种任务:利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker。

总共包含了:简介、安装Docker、Docker入门、使用Docker镜像和仓库、在测试中使用Docker、使用Docker构建服务、使用Fig编配Docke、使用Docker API、获得帮助和对Docker进行改进等9个章节的知识。

image

image

image

image

关于阿里内部都在强烈推荐使用的“K8S+Docker学习指南”—《深入浅出Kubernetes:理论+实战》、《权威指南-第一本Docker书》,看完之后两个字形容,爱了爱了!

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

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

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

南-第一本Docker书》,看完之后两个字形容,爱了爱了!

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

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-8hkmpkUy-1713662490652)]

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值