Перелік запитань з відповідями для співбесіди по java
Зміст:
- Скільки ключових слів зарезервовано мовою, що це за слова, які з них не використовуються?
- З яких символів може складатися ім'я змінної (коректний ідентифікатор)?
- Що значить слово "ініціалізація"?
- На які основні групи можна поділити типи даних?
- Які примітивні типи ви знаєте?
- Що ви знаєте про перетворення примітивних типів даних, чи є втрата даних, чи можна перетворити логічний тип?
- Якими значеннями инициализируются змінні за замовчуванням?
- Як передається значення змінної (за посиланням / значенням)?
- Що ви знаєте про функції main, які обов'язкові умови її визначення?
- Які логічні операції і оператори ви знаєте?
- У чому різниця короткої і повної схеми запису логічних операторів?
- Що таке таблиця істинності?
- Що таке тернарний оператор вибору?
- Які унарні і бінарні арифметичні операції ви знаєте?
- Які побітові операції ви знаєте?
- Яка роль і правила написання оператора вибору (switch)?
- Які цикли ви знаєте, в чому їх відмінності?
- Що таке "ітерація циклу"?
- Які параметри має цикл for, чи можна їх не поставити?
- Який оператор використовується для негайної зупинки циклу?
- Який оператор використовується для переходу до наступної ітерації циклу?
- Що таке масив?
- Які види масивів ви знаєте?
- Що ви знаєте про класи оболонках?
- Що таке автоупаковка (boxing / unboxing)?
- Дайте визначення поняттю "виключення"
- Яка ієрархія винятків.
- Можна / чи потрібно обробляти помилки jvm?
- Які існують способи обробки виключень?
- Про що говорить ключове слово throws?
- У чому особливість блоку finally? Чи завжди він виповнюється?
- Чи може бути жодного блоку catch при відлові винятків?
- Могли б ви придумати ситуацію, коли блок finally не буде виконано?
- Чи може один блок catch відловлювати кілька винятків (з одного і різних гілок наслідувань)?
- Що ви знаєте про оброблюваних і не оброблюваних (catched / uncatched) винятки?
- У чому особливість RuntimeException?
- Як написати власне ( "призначене для користувача") виняток? Якими мотивами ви будете керуватися при виборі типу виключення: checked / unchecked?
- Який оператор дозволяє примусово викинути виняток?
- Чи є додаткові умови до методу, який потенційно може викинути виняток?
- Чи може метод main викинути виняток у поза і якщо так, то де буде відбуватися обробка даного виключення?
- Якщо оператор return міститься і в блоці catch і в finally, який з них "головніше"?
- Що ви знаєте про OutOfMemoryError?
- Що ви знаєте про SQLException? До якого типу checked або unchecked воно відноситься, чому?
- Що таке Error? В якому випадку використовується Error. Наведіть приклад Error'а.
- Яка конструкція використовується в Java для обробки винятків?
- Припустимо, є блок try-finally. У блоці try виникло виключення і виконання перемістилося в блок finally. У блоці finally теж виникло виключення. Яке з двох винятків "випаде" з блоку try-finally? Що трапиться з другим винятком?
- Припустимо, є метод, який може викинути IOException і FileNotFoundException в якій послідовності повинні йти блоки catch? Скільки блоків catch буде виконано?
- Які "строкові" класи ви знаєте?
- Які основні властивості "строкових" класів (їх особливості)?
- Чи можна успадкувати строковий тип, чому?
- Дайте визначення поняттю конкатенація рядків.
- Як перетворити рядок в число?
- Як порівняти значення двох рядків?
- Як перевернути рядок?
- Як працює порівняння двох рядків?
- Як обрізати прогалини в кінці рядка?
- Як замінити символ в рядку?
- Як отримати частину рядка?
- Дайте визначення поняттю "пул рядків".
- Який метод дозволяє виділити підрядок в рядку?
- Як розбити рядок на підрядка по заданому разделителю?
- Який метод викликається для перетворення змінної в рядок?
- Як дізнатися значення конкретного символу рядка, знаю його порядковий номер у рядку?
- Як знайти необхідний символ в рядку?
- Чи можна синхронізувати доступ до рядка?
- Що робить метод intern ()?
- Чим відрізняються і що спільного у класів String, StringBuffer і StringBuilder?
- Як правильно порівняти значення рядків двох різних об'єктів типу String і StringBuffer?
- Чому рядок незмінна і фіналізували в Java?
- Чому масив символів краще рядка для зберігання пароля?
- Чому рядок є популярним ключем в HashMap в Java?
- Напишіть метод видалення даного символу з рядка.
- Дайте визначення поняттю "процес".
- Дайте визначення поняттю "потік".
- Дайте визначення поняттю "синхронізація потоків".
- Як взаємодіють програми, процеси та потоки?
- В яких випадках доцільно створювати кілька потоків?
- Що може статися якщо два потоки будуть виконувати один і той же код в програмі?
- Що ви знаєте про головне потоці програми?
- Які є способи створення і запуску потоків?
- Який метод запускає потік на виконання?
- Який метод описує дію потоку під час виконання?
- Коли потік завершує своє виконання?
- Як синхронізувати метод?
- Як примусово зупинити потік?
- Дайте визначення поняттю "потік-демон".
- Як створити потік-демон?
- Як отримати поточний потік?
- Дайте визначення поняттю "монітор".
- Як призупинити виконання потоку?
- В яких станах може перебувати потік?
- Що є монітором при виклику нестатичних і статичного методу?
- Що є монітором при виконанні ділянки коду методу?
- Які методи дозволяють синхронізувати виконання потоків?
- Який метод переводить потік в режим очікування?
- Яка функціональність методів notify і notifyAll?
- Що дозволяє зробити метод join?
- Які умови виклику методу wait / notify?
- Дайте визначення поняттю "взаємне блокування".
- Чим відрізняються методи interrupt, interrupted, isInterrupted?
- В якому випадку буде викинуто виключення InterruptedException, які методи можуть його викинути?
- Модифікатори volatile і метод yield ().
- пакет java.util.concurrent
- Є деякий метод, який виконує операцію i ++. Мінлива i типу int. Передбачається, що код буде здійсняться в багатопотокової середовищі. Чи слід синхронізувати блок?
- Що використовується в якості mutex, якщо метод оголошений static synchronized? Чи можна створювати нові екземпляри класу, поки виконується static synchronized метод?
- Припустимо в методі run виник RuntimeException, який не був спійманий. Що трапиться з потоком? Чи є спосіб дізнатися про те, що Exception стався (не укладаючи все тіло run в блок try-catch)? Чи є спосіб відновити роботу потоку після того як це сталося?
- Які стандартні інструменти Java ви б використовували для реалізації пулу потоків?
- Що таке ThreadGroup і навіщо він потрібен?
- Що таке ThreadPool і навіщо він потрібен?
- Що таке ThreadPoolExecutor і навіщо він потрібен?
- Що таке «атомарні типи» в Java?
- Навіщо потрібен клас ThreadLocal?
- Що таке Executor?
- Що таке ExecutorService?
- Навіщо потрібен ScheduledExecutorService?
15118 Total Views 2 Views Today