Питання та відповіді на інтерв'ю Java (Оновлено на 2019 рік)

Зміст:

Anonim

Вступ до питань інтерв'ю Java для свіжих заявників

Якщо ви шукаєте роботу, пов’язану з Java, вам потрібно підготуватися до питань інтерв'ю Java для свіжих претендентів. Незважаючи на те, що кожне інтерв'ю відрізняється, а сфера роботи також різна, ми можемо допомогти вам у вирішенні найпопулярніших запитань та відповідей щодо інтерв'ю Java, які допоможуть вам скокнути та досягти успіху в інтерв'ю Java.

Нижче наведено верхнє питання щодо інтерв'ю Java, яке часто задають під час інтерв'ю

1. Різниця між String Buffer і String Builder на Java

Відповідь:
Це одне з улюблених запитань до інтерв'юерів, однак кандидати часто жалюгідно відповідають.

Ось декілька помітних відмінностей про буфер струнів та String Builder для кращого розуміння

1) StringBuilder - це не синхронізована версія класу StringBuffer. Методи в StringBuilder
Наприклад, вся перевантажена версія методу append () не синхронізована.
2) StringBuilder працює швидше, ніж StringBuffer через відсутність накладних витрат на придбання та звільнення замків, пов'язаних із синхронізованими методами.
3) StringBuffer вважається безпечним для потоків, а StringBuilder - це не тому, що якщо потрібна така синхронізація, то краще використовувати клас StringBuffer. Екземпляри класу StringBuilder не можна ділити між декількома потоками
4) StringBuffer - старий клас; він включений у JDK з самого першого випуску, тоді як StringBuilder - порівняно новіший клас
5) Найважливішим фактом щодо StringBuffer і StringBuilder є те, що, коли об'єднання рядків здійснюється за допомогою оператора +, Java внутрішньо перетворює цей виклик у відповідний клас методу StringBuilder append (). Наприклад, "один" + "два" + "три" буде перетворено на новий StringBuilder () .append ("one"). Append ("two"). Append ("three").

2. Програма Java для пошуку найбільшого і найменшого числа в цілому масиві

Відповідь:
Простий 5 покажчик, щоб відповісти на це питання

  • Створіть вихідний файл Java з ім'ям MaximumMinimumArrayDemo.java та скопіюйте код для компіляції та виконання у вашому улюбленому IDE
  • Створіть метод, який називається найбільшим та найменшим (int () числами) для друку найбільшої та найменшої кількості масиву int, переданого програмі.
  • Використовуйте дві найбільші та найменші змінні, щоб зберігати максимальні та мінімальні значення масиву. Спочатку найбільший ініціалізується з Integer.MIN_VALUE, а найменший ініціалізується з Integer.MAX_VALUE.
  • До всіх ітерацій циклу порівняйте поточне число з найбільшим до найменшого та оновіть їх відповідно.
  • Якщо число більше, ніж найбільше, воно не може бути меншим за найменше, а це означає, що вам не потрібно перевіряти, чи відповідає перша умова, тому ми використовували блок коду if-else, де інша частина буде лише виконати, якщо перша умова не відповідає дійсності.

Логіка пошуку найбільшого елемента з масиву на Java наведена нижче.

Замість призначення змінної за допомогою Integer.MAX_VALUE ми призначили перший елемент з масиву.

3. Яка різниця між C ++ та Java?

Відповідь:
C ++ та Java подібні лише у синтаксичних порівняннях. Нижче наведено різниці:

    • Java багатопотокова
    • У Java немає покажчиків
    • У Java є автоматичне управління пам’яттю (збирання сміття)
    • Java не залежить від платформи
    • У Java є вбудована підтримка документації для коментарів
    • У Java немає перевантаження оператора

Java не надає декількох спадок

  • На Яві деструкторів немає

4. Різниця між абстрактним класом та інтерфейсом?

Відповідь:
Багаторазове спадкування:

Абстрактний клас може успадкувати лише один абстрактний клас; однак в інтерфейсі клас може реалізувати кілька інтерфейсів. Це доводить, що інтерфейс підтримує множинне спадкування, тоді як клас абстрагування цього не робить.

Впровадження:

Абстрактний клас може надавати код за замовчуванням, оскільки він містить як неповних, так і повних членів, тоді як інтерфейс не може надавати жодного коду, оскільки він містить лише неповний член

Поля
Ми можемо визначити поля та обмеження в класі Анотація, тоді як жодні поля не можуть бути визначені в інтерфейсі

Швидкість
Абстрактний клас швидкий у порівнянні з інтерфейсом, оскільки останній потребує більше часу, щоб знайти метод до відповідного класу

Використання
Абстрактний клас з’являється на малюнку, коли ми хочемо поділитись спільною функціональністю у відносинах батько-дитина, тоді як Інтерфейс використовується для визначення та застосування поліморфізму, розв'язки та стандартизації

5. Різниця між приватним, захищеним, загальнодоступним та модифікатором пакунків або ключовим словом на Java

Відповідь:
приватний проти публічний проти захищений проти пакет в Java

Java має чотири модифікатори доступу, а саме; приватний, захищений, загальнодоступний та пакетний рівень

Доступ до рівня пакету вважається рівнем доступу за замовчуванням, який пропонує Java, якщо у разі не встановлено модифікатора доступу

Ці модифікатори доступу функціонують для обмеження доступності класу, методу чи змінної, до якої він застосовується

Нижче описано функції кожного модифікатора доступу та наскільки вони відрізняються один від одного

приватне ключове слово на Java

  • приватний модифікатор в Java може бути застосований до поля, методу або вкладеного класу на Java.
  • Не можна використовувати приватний модифікатор класу вищого рівня.
  • приватні змінні, методи та клас доступні лише для класу, для якого вони оголошені.
  • приватна найвища форма інкапсуляції Java API надає і повинна використовуватися якомога більше.

Найкраще практика кодування в Java оголосити змінну приватною за замовчуванням. Приватний метод можна викликати лише з класу, де він оголосив

пакет або рівень доступу за замовчуванням на Java

  • package - це ключове слово, яке використовується для оголошення пакету на Java; пакунок - це каталог, до якого належить клас на Java.
  • пакунок або рівень доступу за замовчуванням є другим найвищим модифікатором обмежувального доступу після приватного, і будь-яка змінна, метод або клас, оголошений як приватний пакет, доступний лише в тому пакеті, якому він належить.

Хороша річ про модифікатор за замовчуванням - це те, що клас вищого рівня також може бути приватним пакетом, якщо немає модифікатора доступу рівня класу.

захищене ключове слово на Java

Різниця між приватним і захищеним ключовим словом полягає в тому, що захищений метод, змінний або вкладений клас доступний не тільки всередині класу, всередині пакета, але і поза пакетом на підкласі.
Якщо ви оголосили змінну захищеною, це означає, що хтось може її використовувати, якщо розширить ваш клас. Клас верхнього рівня також не може бути захищеним.

публічне ключове слово на Java

Public - це найменш обмежуючий модифікатор доступу в мові програмування Java, і його погана практика оголошувати поле, метод або клас за замовчуванням public, тому що після оприлюднення його дуже важко внести будь-які зміни у внутрішню структуру класу, оскільки це впливає на всіх клієнтів, які використовують це.

Надання загальнодоступним змінним класу або екземпляра також порушило принцип інкапсуляції, який зовсім не є хорошим і погано впливає на технічне обслуговування

Рекомендована стаття

Це був посібник до списку запитань та відповідей щодо інтерв'ю на Java, щоб кандидат міг легко розбити ці запитання щодо інтерв'ю Java. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Питання щодо інтерв'ю для розробника Java
  2. Важливі запитання щодо інтерв'ю для багатопотокової передачі Java
  3. Питання та відповіді щодо інтерв'ю J2EE
  4. Питання та відповіді щодо інтерв'ю Java String
  5. Java 8 Інтерв'ю Питання та відповіді