•  周一 - 周六 8.00 - 18.00
  •  苏州国际科技园(www.sispark.com.cn)
  •  0512-62651942
苏州市风云软件职业培训学校
风云动态
职业动态 您现在的位置:首页>>风云动态>> 职业动态

「面试秘籍」Java经典面试题-基础篇(含解析)

发表时间:2022-04-25 14:39:36  浏览次数:822

前有疫情扩散就业形势加剧,后有腾讯阿里大量裁员登上热搜,准备金三银四跳槽的你,是不是开始慌了?

虽然Java软件开发 作为主流编程语言,发展最为成熟,Java工程师需求量在软件类开发工程师占比达到了60%。但从事Java的人也是非常多,属于“高端稀缺,低端饱和”,再加上近几年就业形势并不乐观,竞争压力还是比较大的。所以在这里也要奉劝大家,程序员跳槽要抓住“黄金期”,在不断的技术积累、掌握核心技术,提高竞争力同时,认真做好面试的准备工作也是不可或缺的一环。这里风云教育给大家整理了《Java工程师基础经典面试》试题,整合企业招聘需求和大厂内训精华知识,呕血整理了这套Java面试试题,现在免费提供给大家,希望对大家的面试有所帮助.

Java面试问题基础篇


1.Java语言有哪些特点?

  • 简单易学、有丰富的类库;
  • 面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高)
  • 与平台无关性(JVM是Java跨平台使用的根本);
  • 可靠安全;
  • 支持多线程。

2.同步和异步有何异同,在什么情况下分别使用他们?举例说明

如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。

当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

3.final、finally、finalize的区别

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally 是异常处理语句结构的一部分,表示总是执行。

finalize 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

4.面向对象的特征有哪些方面?

⑴抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

⑵继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

⑶封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

⑷多态性:

多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

5.heap 和 stack 的区别?

栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。

堆是栈的一个组成元素

6.&和&&的区别?

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。

7.sleep()和 wait()的区别?

sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用 sleep 不会释放对象锁。

wait 是 Object 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出 notify 方法(或 notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

8.Java 中实现多态的机制是什么?

方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。重写 Overriding是父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。

9.String 是最基本的数据类型吗?

基本数据类型包括 byte、int、char、long、float、double、boolean 和 short。java.lang.String 类是 final 类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用 StringBuffer 类。

10.List、Map、Set 三个接口,存取元素时,各有什么特点?

List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存 key-value 值,value 可多值。


以上就是风云教育给大家介绍的JAVA面试的基础面试问题,由于文章篇幅有限,想要获得更多更全的Java面试秘籍,欢迎联系我们。