Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вопросы к экзамену

.docx
Скачиваний:
0
Добавлен:
27.01.2024
Размер:
17.56 Кб
Скачать
  1. Какие шаблоны проектирования вы знаете? Какова иерархия коллекций в Java Collection Framework? Каково внутреннее строение ArrayList? Каково внутреннее строение LinkedList? Чем ArrayList отличается от LinkedList?

  2. Какие есть типы данных в Java? Чем отличается объект от примитивных типов данных?

  3. В чем разница передачи параметров по ссылке и по значению? Что такое JVM, JDK, JRE? Зачем используют JVM?

  4. Что такое OutOfMemoryError? Назовите все методы класса object.

  5. В чем отличие между try-with-resources и try-catch-finally при работе с ресурсами?

  6. Что такое конструкторы? Какие типы вы знаете?

  7. Что такое побитовые операции?

  8. Дайте краткую характеристику immutable object. Зачем они нужны? Каковы преимущества immutable object по сравнению с обычными объектами?

  9. Что такое ООП? Назовите принципы с примерами. В чем преимущества ООП по сравнению с процедурным программированием?

  10. В чем состоит главная особенность ООП? Какие преимущества дает применение ООП? Расскажите, какие есть недостатки в ООП?

  11. Расскажите о принципе наследования в ООП. Зачем он нужен? Дайте определение принципа полиморфизм в ООП. Как работает полиморфизм?

  12. Что такое статический и динамический полиморфизм? Дайте определение принципа абстракции в ООП.

  13. Какие элементы языка отвечают за инкапсуляцию, отвечают за наследование, отвечают за полиморфизм?

  14. Что такое перегрузка (overloading) метода? Что такое переопределение (override) метода?

  15. Что такое класс, объект, интерфейс? Какие элементы могут содержать класс? Дайте определение объекта.

  16. Расскажите о наследовании в Java. Каковы особенности использования ключевого слова super? Что такое сигнатура метода? Приведите примеры правильных и неправильных сигнатур.

  17. Можно ли в конструкторе применять return? Можно ли в конструкторе выполнить исключение (exception)?

  18. Из каких элементов состоит заголовок класса, заголовок метода? Напишите пример.

  19. Создайте в объекте-наследнике конструктор по умолчанию, если в базовом классе он не определен (но определен другой конструктор). Когда применяется ключевое слово this?

  20. Что такое инициализатор? Для наследования класса public class Child extends Parent напишите порядок инициализации объекта.

  21. Какие отношения между классами (объектами) вы знаете? Какие вы знаете ассоциативные связи между объектами?

  22. Что такое модификаторы доступа в Java? Назовите их. Для чего они используются?

  23. Назовите основную особенность статических переменных и методов. Какие основные ограничения действуют на статические переменные и методы?

  24. Что означает ключевое слово static? Может ли статический метод быть переопределенным или перегруженным? Может ли метод быть статическим и абстрактным одновременно?

  25. Можно ли использовать статические методы внутри обычных? А наоборот? Почему?

  26. Что означает ключевое слово final? Что такое abstract? Абстрактный класс? Абстрактный метод? Что такое interface? Может ли быть final interface? В чем разница между абстрактным классом и интерфейсом в Java?

  27. Где можно инициализировать статические поля? Что такое анонимные классы? Что такое static import?

  28. Что такое примитивные классы? Что такое класс «обертка» (wrapper)?

Может ли entity-класс быть абстрактным классом? Что такое класс Assert? Зачем и как его использовать?

  1. Как сравнить две строки в Java и / или отсортировать их? Предложите алгоритм преобразования строки в символ. Напишите соответствующий код.

  2. Как превратить строку в массив байтов и обратно? Напишите соответствующий код.

  3. Что такое строковый пул и зачем он нужен? Какие GOF-шаблоны применяются в строковом пуле?

  4. Как разделить строку на части? Напишите соответствующий код. Почему для хранения пароля массив символов лучше строки?

  5. Чем отличаются String, StringBuffer и StringBuilder? Расскажите о итераторах и их применении.

  6. Каково внутреннее строение HashMap? Какая связь между методами hashCode() и equals()?

  7. Дайте определение понятию exception (исключительная ситуация). Какие особенности использования оператору try … catch вы знаете? В чем разница между error и exception?

  8. Чем отличаются checked и unchecked, exception, throw, throws. Какова иерархия исключений? Что такое checked и unchecked exception? Нужно ли проверять checked exception?

  9. О чем говорит ключевое слово throws и как его использовать? Какие возможные способы обработки исключений вы знаете? Какие есть правила для проверки исключений при наследовании?

  10. Напишите пример перехвата и обработки исключения в блоке try-catch метода. Напишите пример перехвата и обработки исключения в секции throws-метода и передачи вызывающему методу. Напишите пример перехвата и обработки исключения с использованием собственных исключений.

  11. Напишите код, если блок finally не будет выполнен. Напишите пример обработки нескольких исключений в одном блоке catch.

  12. Какой оператор позволяет принудительно выбросить исключение? Напишите пример.

  13. Может ли метод main выбросить throws-исключение? Если да — куда передаст?

Напишите пример try with resources.

  1. Какие средства для работы с многопоточностью вы знаете? Что такое процесс и поток? Чем отличается процесс от потока?

  2. Расскажите о синхронизации между потоками. Для чего используют методы wait(), notify() — notifyAll(), join()? Как остановить поток?

  3. Как обмениваться данными между потоками? Чем класс Thread отличается от интерфейса Runnable? Есть потоки Т1, Т2 и Т3. Как реализовать их последовательное выполнение?

  4. В чем разница между методами final, finally и finalize()? В чем разница между статическим и динамическим связыванием в Java?

  5. Можно ли использовать private или protected переменные в interface? Можно ли объявлять main method как final?

  6. Можно ли импортировать те же package / class дважды? Какие последствия?

  7. Когда используют BufferedInputStream и BufferedOutputStream классы?

  8. Чем отличаются между собой классы java.util.Collection и java.util.Collections?

  9. В чем отличие между Enumeration и Iterator? В чем разница между итераторами fail-fast и fail-safe?

  10. Зачем нужен модификатор transient? Как влияют на сериализацию модификаторы static и final?

  11. Что такое FunctionInterface и чем он отличается от обычного интерфейса?

  12. Как реализована сериализация в Java? Где мы можем ее увидеть?

  13. Что такое generics? Для чего они нужны? Какую проблему решают?

  14. Что такое лямбда – выражения, для чего используются? Дайте характеристику встроенных функциональных интерфейсов на основе лямбда - выражений

  15. Работа с файлами, каталогами и дисками в java(консоль). Дайте характеристику основных классов и их методов.

  16. Работа с потоками в java, виды потоков. Дайте характеристику основных классов и их методов.

  17. Перечисление, применение, методы.

  18. Расскажите о четырех способах работы со многими потоками и чем отличается wait … notify … notifyAll от synchronized? От Future?

  19. Что такое наследование и агрегация, отличие. Когда лучше использовать наследование, а не агрегацию?