前 10 个 Java 面试问题答案——在参加任何 Java 面试之前必须阅读

已发表: 2016-03-01
Crunchify 的 10 大 Java 面试问题

自去年以来,我收到了很多电子邮件(每周超过 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
  • 继承是polymorphismoverridingoverloadingcasting的基础的关键概念。

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-JVM-HeapSize-Crunchify-提示

当 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 编程语言的一个子集。

Java 中的 JSON 教程 - Crunchify 技巧

有关 JSON 的详细信息,请访问:https://crunchify.com/what-is-json-javascript-object-notation/

按照这些教程了解如何在 java 中读取 JSON 和 WRITE JSON 对象。

面试题7:

什么是 Java 中的信号量和互斥量。 提供多线程相关的详细解释

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 有多熟悉? 请提供一些细节。

Spring MVC 设计和 Servlet 引擎 Tomcat - Crunchify 技巧

请访问以下 3 个教程,这些教程涵盖了 Spring MVC 的所有基础知识:

  • Spring MVC 介绍
  • 你好世界示例
  • Spring MVC 和 JSP/Servlet

NOTE:在 Crunchify 上,我们确实有500 Java tutorials 。 如果您正在寻找更多不在列表中的教程,请告诉我们。