前 10 个 Java 面试问题答案——在参加任何 Java 面试之前必须阅读
已发表: 2016-03-01
自去年以来,我收到了很多电子邮件(每周超过 10 封电子邮件),询问为什么不为读者发布Java Interview Questions
和答案。
从上周开始,我一直在考虑这个问题,最终决定将 Java 面试的热门问题放在 Crunchify 上。
Please note
- 没有关于最佳面试问题的东西,但我们可以在这次面试会议中尽力涵盖有关 Java、Spring MVC、Maven、Apache Tomcat 和 J2EE 技巧的所有基本基础知识。
这是 Java 面试问题的1st part
,在这篇文章中我们确实有前 10 名。 如果您希望我们提出next top 10
面试问题,请提供您的feedback and suggestions
。
此外,如果您低于所有问题,那么您来对地方了。
- 应届生java面试问题和答案
- 最好的java面试问题
- 进阶java面试秘籍
- 有经验的java面试题
- java编程面试题
- 3年java面试经验
- 经验丰富的专业人士的java面试问题
- 5年经验的java面试题
让我们开始吧…
面试问题1:
3个主要的面向对象编程(OOP)概念是什么?
1.封装
Encapsulation
是一种机制,开发人员可以通过该机制将实现隐藏在接口后面。- 封装代码有两个特点:
- 实例变量受到保护(通常使用 private 修饰符)。
- Getter 和 setter 方法提供对实例变量的访问。
- 请看一下教程:完整的端到端工作封装示例
- 公共
setName()
和getName()
方法是实例变量的访问点。
- 公共
2. 继承
- 继承允许类成为超类的子类,从而继承超类的
public and protected
variables and methods
。 - 继承是
polymorphism
、overriding
、overloading
和casting
的基础的关键概念。
3. 多态性
Polymorphism
意味着“多种形式”。- 引用变量始终是单一的、不可更改的类型,但它可以引用子类型对象。
- 单个对象可以被许多不同类型的引用变量引用——只要它们是相同类型或对象的超类型。
- 多态方法调用仅适用于被覆盖的实例方法。
面试问题2:
你知道 Java 中的守护线程吗?
Java 中的守护线程就像是其他线程或对象的服务提供者,它们运行在与守护线程相同的进程中。 守护线程用于后台支持任务,仅在正常线程执行时才需要。 如果正常线程没有运行并且剩余线程是守护线程,则解释器退出。
请看完整的例子:https://crunchify.com/what-is-daemon-thread-in-java-example-attached/
面试题3:
什么是单例模式,您知道如何使其线程安全且快速吗?
singleton pattern
是一种将类的实例化限制为one object
的设计模式。 当需要一个对象来协调整个系统的动作时,这很有用。
请查看详细示例:https://crunchify.com/thread-safe-and-a-fast-singleton-implementation-in-java/
面试题4:
什么是JVM? 你知道堆大小、堆栈大小和垃圾收集吗? 请分享更多的光。

当 Java 程序启动时,Java 虚拟机从操作系统获取一些内存。 Java 虚拟机或 JVM 使用此内存来满足其所有需求,并且此内存的一部分称为 java 堆内存。

请看详细教程:https://crunchify.com/jvm-tuning-heapsize-stacksize-garbage-collection-fundamental/
面试问题5:
用Java编写一个程序,计算字符、单词和行的总数
这是一个比较常见的问题。 请访问完整教程了解更多信息:https://crunchify.com/how-to-read-file-in-java-and-count-total-number-of-characters-words-and-lines/

面试问题6:
什么是 JSON 以及如何从文件中读取 JSON 对象?
JSON
(JavaScript Object Notation)是一种轻量级的数据交换格式。 人类很容易阅读和写作。 机器很容易解析和生成。 它基于 JavaScript 编程语言的一个子集。

有关 JSON 的详细信息,请访问:https://crunchify.com/what-is-json-javascript-object-notation/
按照这些教程了解如何在 java 中读取 JSON 和 WRITE JSON 对象。
面试题7:
什么是 Java 中的信号量和互斥量。 提供多线程相关的详细解释

Java并发是一个非常广泛的话题。 有数百个教程和示例可供使用。 前段时间我写过一些关于在 Java 中并发运行多个线程和不同类型的同步块的教程。
请访问详细教程以获得更多解释:https://crunchify.com/what-is-java-semaphore-and-mutex-java-concurrency-multithread-explained-with-example/
面试题8:
你知道HashMap、ConcurrentHashMap、SynchronizedMap吗? 哪个更快?
HashMap
是 Java 中非常强大的数据结构。 我们每天都在使用它,几乎在所有应用程序中都使用它。 我建议您访问教程以获取更多详细信息:https://crunchify.com/hashmap-vs-concurrenthashmap-vs-synchronizedmap-how-a-hashmap-can-be-synchronized-in-java/
面试题9:
Java中的抽象类和接口是什么?
这道题也是非常流行的Java面试题。 这是一个非常大的话题,我们确实有完整的教程,这里有所有细节。
- Java中的抽象类
- Java中的接口
面试问题10:
你对 Spring MVC 有多熟悉? 请提供一些细节。

请访问以下 3 个教程,这些教程涵盖了 Spring MVC 的所有基础知识:
- Spring MVC 介绍
- 你好世界示例
- Spring MVC 和 JSP/Servlet
NOTE:
在 Crunchify 上,我们确实有500 Java tutorials
。 如果您正在寻找更多不在列表中的教程,请告诉我们。