#вопросы_с_собеседований
Что такое checked и unchecked exception?
Что такое checked и unchecked exception?
В Java все исключения делятся на два типа:
☕️ checked (контролируемые/проверяемые исключения) должны обрабатываться блоком catch или описываться в объявлении метода (например throws IOException). Наличие такого обработчика/модификатора проверяется на этапе компиляции;
☕️ unchecked (неконтролируемые/непроверяемые исключения), к которым относятся ошибки Error (например OutOfMemoryError), обрабатывать которые не рекомендуется и исключения времени выполнения, представленные классом RuntimeException и его наследниками (например NullPointerException), которые могут не обрабатываться блоком catch и не быть описанными в объявлении метода.
☕️ checked (контролируемые/проверяемые исключения) должны обрабатываться блоком catch или описываться в объявлении метода (например throws IOException). Наличие такого обработчика/модификатора проверяется на этапе компиляции;
☕️ unchecked (неконтролируемые/непроверяемые исключения), к которым относятся ошибки Error (например OutOfMemoryError), обрабатывать которые не рекомендуется и исключения времени выполнения, представленные классом RuntimeException и его наследниками (например NullPointerException), которые могут не обрабатываться блоком catch и не быть описанными в объявлении метода.
Большой гайд по Spring 5 для начинающих и тех, кто хочет прояснить какие-то забытые моменты.
https://proglib.io/w/2c81a515
https://proglib.io/w/2c81a515
YouTube
Learn Spring Fundamentals for Beginners - Full Course
Learn about Spring Fundamentals in this full course for beginners. You'll learn: Core Concepts, Dependency Injection, Bean Configuration, Autowiring, AOP, SpEL, and more
Build a Microservices Architecture with Spring Boot and Spring Cloud
☞ https://morio…
Build a Microservices Architecture with Spring Boot and Spring Cloud
☞ https://morio…
#вопросы_с_собеседований
Существуют ли ситуации, когда блок finally в try-catch не будет выполнен?
Существуют ли ситуации, когда блок finally в try-catch не будет выполнен?
#вопросы_с_собеседований
Какое худшее время работы метода add() для ArrayList?
Какое худшее время работы метода add() для ArrayList?
O(N). Вставка элемента в конец списка осуществляется за время O(1), но если вместимость массива недостаточна, то происходит создание нового массива с увеличенным размером и копирование всех элементов из старого массива в новый.
#вопросы_с_собеседований
Что такое класс Object? Какие в нем есть методы?
Что такое класс Object? Какие в нем есть методы?
Object - это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследуют его методы:
public boolean equals(Object obj) – служит для сравнения объектов по значению; int hashCode() – возвращает hash код для объекта; String toString() – возвращает строковое представление объекта; Class getClass() – возвращает класс объекта во время выполнения; protected Object clone() – создает и возвращает копию объекта; void notify() – возобновляет поток, ожидающий монитор; void notifyAll() – возобновляет все потоки, ожидающие монитор; void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
public boolean equals(Object obj) – служит для сравнения объектов по значению; int hashCode() – возвращает hash код для объекта; String toString() – возвращает строковое представление объекта; Class getClass() – возвращает класс объекта во время выполнения; protected Object clone() – создает и возвращает копию объекта; void notify() – возобновляет поток, ожидающий монитор; void notifyAll() – возобновляет все потоки, ожидающие монитор; void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
#вопросы_с_собеседований
Почему строка является популярным ключом в HashMap в Java?
Почему строка является популярным ключом в HashMap в Java?
Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.
Real-World Software Development (2019)
Авторы: Raoul-Gabriel Urma, Richard Warburton
Изучите новейшие методы разработки программного обеспечения на Java на практике с помощью этого практического руководства. В отличие от книг, в которых используются абстрактные примеры и много теории, в данной книге автор показывает, как разработать несколько реальных проектов.
Скачать книгу
Авторы: Raoul-Gabriel Urma, Richard Warburton
Изучите новейшие методы разработки программного обеспечения на Java на практике с помощью этого практического руководства. В отличие от книг, в которых используются абстрактные примеры и много теории, в данной книге автор показывает, как разработать несколько реальных проектов.
Скачать книгу
Telegram
Книги для программистов (reserved)
Real-World Software Development (2019)
Авторы: Raoul-Gabriel Urma, Richard Warburton
Авторы: Raoul-Gabriel Urma, Richard Warburton
Android Studio 4.0: новые инструменты работы с макетами, улучшенное профилирование и анализ билдов
Рассказываем, чем нас порадовала четвёртая версия Android Studio: редактор движения объектов, инспектор макетов, улучшенный CPU Profiler, интеллектуальный редактор и анализатор сборки.
https://proglib.io/w/94d35152
Рассказываем, чем нас порадовала четвёртая версия Android Studio: редактор движения объектов, инспектор макетов, улучшенный CPU Profiler, интеллектуальный редактор и анализатор сборки.
https://proglib.io/w/94d35152
Forwarded from Java jobs — вакансии для java-разработчиков
Вакансия: Разработчик Java (микросервисы)
По договоренности | Полная занятость | Удаленно или в офисе (выбирает кандидат) | Россия
#Java #Микросервисы #Spring #Трудоустройство
Компания: EPAM, ведущий мировой поставщик услуг по разработке ПО и цифровых платформ.
👨🎓 Требования:
- Опыт работы в роли Java-разработчика от 3 лет;
- опыт разработки микросервисов и понимание особенностей микросервисной архитектуры обязателен;
- опыт использования Spring Framework (boot, mvc, data, security и др.);
- опыт работы с многопоточностью и асинхронностью;
- понимание процессов и методологий гибкой разработки ПО.
📌 Обязанности:
- Разработка приложений на Java и фреймворке Spring boot;
- разработка приложений в рамках микросервисной архитектуры;
- работа в тесном сотрудничестве со специалистами front-end разработки, тестирования и аналитиками;
- работа по гибким методологиям разработки.
➡️ Подробности - https://proglib.io/vacancies/razrabotchik-java-mikroservisy-epam-2020-06-08
По договоренности | Полная занятость | Удаленно или в офисе (выбирает кандидат) | Россия
#Java #Микросервисы #Spring #Трудоустройство
Компания: EPAM, ведущий мировой поставщик услуг по разработке ПО и цифровых платформ.
👨🎓 Требования:
- Опыт работы в роли Java-разработчика от 3 лет;
- опыт разработки микросервисов и понимание особенностей микросервисной архитектуры обязателен;
- опыт использования Spring Framework (boot, mvc, data, security и др.);
- опыт работы с многопоточностью и асинхронностью;
- понимание процессов и методологий гибкой разработки ПО.
📌 Обязанности:
- Разработка приложений на Java и фреймворке Spring boot;
- разработка приложений в рамках микросервисной архитектуры;
- работа в тесном сотрудничестве со специалистами front-end разработки, тестирования и аналитиками;
- работа по гибким методологиям разработки.
➡️ Подробности - https://proglib.io/vacancies/razrabotchik-java-mikroservisy-epam-2020-06-08
#вопросы_с_собеседований
Что такое Dependency Injection?
Что такое Dependency Injection?
Dependency Injection (внедрение зависимости) - это набор паттернов и принципов разработки программного обеспечения, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.
#вопросы_с_собеседований
Чем LinkedHashSet отличается от HashSet?
Чем LinkedHashSet отличается от HashSet?
LinkedHashSet отличается от HashSet только тем, что в его основе лежит LinkedHashMap вместо HashMap. Благодаря этому порядок элементов при обходе коллекции является идентичным порядку добавления элементов (insertion-order). При добавлении элемента, который уже присутствует в LinkedHashSet (т.е. с одинаковым ключом), порядок обхода элементов не изменяется.
#вопросы_с_собеседований
Чем отличаются конструктор по умолчанию, конструктор копирования и конструктор с параметрами?
Чем отличаются конструктор по умолчанию, конструктор копирования и конструктор с параметрами?
This media is not supported in your browser
VIEW IN TELEGRAM
Как построить надежное приложение на базе Event Sourcing
Рассказываем о проекте JoomAds, который помогает продвигать товары на маркетплейсе.
https://proglib.io/w/32e98317
Рассказываем о проекте JoomAds, который помогает продвигать товары на маркетплейсе.
https://proglib.io/w/32e98317