Общие вопросы интервью

1. Будет ли компилироваться программа, если public static void main изменится на static public void main?

Компиляция пройдет успешно.

2. Какие методы есть в классе Object?

clone(), equals(), finalize(), hashCode(), wait(), notify(), notifyAll(), toString()

3. Почему вам нужно переопределить hashCode, когда вы переопределяете equals в Java?

Прежде чем обсуждать взаимосвязь между Equals и хэш-кодом, сначала рассмотрим, что на самом деле делают эти методы.

Во-первых, это методы класса Object.

равно:

public boolean equals(Object obj)

Этот метод принимает объект в качестве аргумента. Реализация этого метода по умолчанию в классе Object просто проверяет, ссылаются ли две ссылки на объект x и y на один и тот же объект. то есть проверяет, если x == y. Это сравнение называется поверхностным сравнением.

хэш-код:

public int hashCode()

Этот метод возвращает значение хэш-кода для объекта, для которого этот метод вызывается. ​Этот метод широко используется Hashtable, HashMap, HashSet

Существует контракт между двумя методами, ​​​​Объекты Equal должны создавать один и тот же хэш-код, если они равны​. Поэтому, когда вы переопределяете метод equals, вы также должны переопределять метод hashcode.

4. Что такое автобокс и распаковка

Autoboxing — автоматическое преобразование примитива в соответствующий класс-оболочку компилятором Java.

int a = 10;
Integer a2 = new Integer(a); // Without Autoboxing
Integer a3=a; //With Autoboxing

Распаковка — автоматическое преобразование оболочки в соответствующий класс оболочки компилятором Java.

​Integer a = new Integer(10);
int a2 = a; // Integer will be converted to int automatically

5. Можем ли мы перегрузить основной метод?

Да, мы можем перегрузить основной метод. Тем не менее метод public static void main(String arg[]) будет вызываться только при запуске выполнения Java.

6. Что такое статический блок?

static {
// code goes here
}

Как и String, ключевое слово static имеет множество применений в Java. Поэтому мы ожидаем, что вы подробно расскажете о статическом ключевом слове, которое поможет вам на любом собеседовании.

Пожалуйста, прочитайте следующую статью полностью и внимательно. Вы можете вернуться к нам в любое время по любому вопросу в понимании.

http://www.journaldev.com/1365/java-static-keyword-class-method-variable-block-import

http://www.jusfortechies.com/java/core-java/static-blocks.php

7. Каково использование ключевого слова final в Java?

Final имеет разное значение в зависимости от контекста, в котором оно было использовано.

В классе:конечный класс не может быть унаследован дальше... просто не может быть подкласса для конечного класса. String — это пример конечного класса в Java.

В свойстве: если свойство класса объявлено как окончательное, оно будет рассматриваться как константа... поэтому значение нельзя будет изменить в дальнейшем (поэтому необходимо значение при создании самого себя).

В методе: если метод объявлен окончательным, его нельзя переопределить.

8. Что такое тернарный оператор в Java?

Условный оператор (?:) также называется тернарным оператором в Java. Поскольку он принимает три операнда, он называется тернарным.

Это сокращение для оператора if-else.

Если someCondition истинно, присвойте результату значение value1. В противном случае присвойте результату значение value2.

String ​state = “​Tamilnadu”;

Строковые данные =​state.contains(“A”) ? «​состояние содержит ‘A’» : «​состояние не содержит ‘A’»;

​В приведенном выше утверждении ​state.contains("A") перед ? это условие.

Если условие истинно, то данные String будут сохранены с сообщением «состояние содержит A» (первое значение). Если условие ложно, данные String будут содержать «состояние не содержит сообщения (второе значение)».

9. Что такое ключевое слово instanceof в Java?

Оператор instanceof используется для проверки того, является ли объект экземпляром указанного типа. Он вернет либо истину, либо ложь.

class Student{}
class Hostel_Student extends Student{
}
class Library_Member extends Student{
}
Student s1 = new Student();
Student s2 = new Hostel_Student();
Student s3 = new Library_Member();
if(s1 instanceof Student) // Result is true
if(s2 instance of Hostel_Student) //Result is true

10. Что такое оператор break and continue?

Break — завершает выполнение цикла, и выполняется следующий оператор цикла.

Продолжить — пропускает выполнение текущей итерации цикла (но не сам цикл).

11. Что такое куча памяти Java?

Создаваемые нами Java-объекты будут находиться в куче памяти. Когда память кучи заполняется, JVM запускает операцию сборки мусора (объекты, на которые долгое время не ссылались, будут стерты из памяти, чтобы пространство можно было использовать для других объектов).

Управление памятью Java — это обширная область, и мы предлагаем всем вам пройти через определение оракула, чтобы получить больше информации об этом.

https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/garbage_collect.html

12. Что такое JIT-компилятор?

Компилятор Just-In-Time (JIT) — это компонент среды выполнения Java™, который повышает производительность приложений Java во время выполнения.

Компилятор JIT помогает повысить производительность программ Java за счет компиляции байт-кода в собственный машинный код во время выполнения. Компилятор JIT включен по умолчанию и активируется при вызове метода Java.

Компилятор JIT компилирует байт-код этого метода в собственный машинный код, компилируя его «как раз вовремя» для запуска.

13. Что такое сериализация в Java?

Объект Java создается в памяти, и мы не можем использовать его позже, так как позже он будет стерт из памяти сборщиком мусора.

Сериализация — это способ сохранить/сохранить состояние объекта в двоичном формате, чтобы мы могли воссоздать его позже. Класс должен реализовывать интерфейс Serializable (интерфейс без метода или просто вызываемый интерфейс маркера), чтобы использовать сериализацию.

14. Что такое класс Java-бина?

Класс Java, который соответствует следующим условиям, называется классами компонентов Java.

  • должен иметь конструктор без аргументов,
  • следует реализовать интерфейс Serializable,
  • должен предоставлять методы для методов получения и установки свойств

15. Что такое интерфейс маркера?

Интерфейс без методов называется рыночным интерфейсом. например Serializable, Clonnable — это маркерные интерфейсы (в этих интерфейсах нет методов), которые используются для указания компилятору или JVM того, что класс, реализующий любой из них, будет иметь какое-то особое поведение.

16. Что такое пакет в Java?

Пакет — это пространство имен, которое организует набор связанных классов и интерфейсов. Концептуально вы можете думать о пакетах как о разных папках на вашем компьютере.

Импортируемый пакет по умолчанию во всех классах Java — java.lang.* Чтобы использовать пакет, мы используем импорт ключевого слова.

17. Что произойдет, если вы вызовете оператор return или System.exit в блоке try или catch? наконец заблокирует выполнение?

Если мы используем оператор return в блоке try, finally обязательно сработает.

Если мы используем System.exit(0) в блоке try, finally не будет работать.

Другие истории