Javazavr. Обучение Java.
4.2K subscribers
36 photos
55 links
Главный канал по Java.

Контент на любой вкус.
1. Туториалы
2. Видео
3. Задачи
4. Тесты
И многое другое.

Реклама: @anothertechrock
Download Telegram
#вопросы_с_собеседований
В чем разница между композицией и агрегацией?

Ассоциация
обозначает связь между объектами. Композиция и агрегация — частные случаи ассоциации «часть-целое».

Агрегация предполагает, что объекты связаны взаимоотношением «part-of» (часть). Композиция более строгий вариант агрегации. Дополнительно к требованию «part-of» накладывается условие, что экземпляр «части» может входить только в одно целое (или никуда не входить), в то время как в случае агрегации экземпляр «части» может входить в несколько целых.

Например, книга состоит из страниц, и мы не можем вырвать страницу из книги и вложить в другую книгу. Страницы четко привязаны к конкретной книге, поэтому это композиция. В тоже время мы можем взять и перенести книгу из одной библиотеки в другую - это уже агрегация.
👍3
Что вы знаете о функции main()?

Пишите в комментариях ваш вариант. Ответ будет у нас в канале.

#вопросы_с_собеседований
👍2
Ответ на "Что вы знаете о функции main()?"

Метод main() — точка входа в программу. В приложении может быть несколько таких методов. Если метод отсутствует, то компиляция возможна, но при запуске будет получена ошибка `Error: Main method not found`.

#вопросы_с_собеседований
👍1
Что такое «фикстуры»?

Пишите в комментариях ваш вариант. Ответ будет у нас в канале.

#вопросы_с_собеседований
Ответ на "Что такое «фикстуры»?"

Фикстуры (fixtures) - состояние среды тестирования, которое требуется для успешного выполнения теста. Основная задача фикстур заключается в подготовке тестового окружения с заранее фиксированным/известным состоянием, чтобы гарантировать повторяемость процесса тестирования.

#вопросы_с_собеседований
#вопросы_с_собеседований
Как получить IP адрес клиента на сервере?

IP адрес клиента можно получить вызвав request.getRemoteAddr().
👍2
#вопросы_с_собеседований
Какие классы позволяют преобразовать байтовые потоки в символьные и обратно?

• OutputStreamWriter — «мост» между классом OutputStream и классом Writer. Символы, записанные в поток, преобразовываются в байты.
• InputStreamReader — аналог для чтения. При помощи методов класса Reader читаются байты из потока InputStream и далее преобразуются в символы.
👍3
Что такое Dependency Injection?

Пишите в комментариях ваш вариант. Ответ будет у нас в канале.

#вопросы_с_собеседований
2🔥1🎉1
Ответ на "Что такое Dependency Injection?"

Dependency Injection (внедрение зависимости) - это набор паттернов и принципов разработки програмного обеспечения, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.

#вопросы_с_собеседований
🎉4👍2
Как влияет модификатор static на класс/метод/поле?

Пишите в комментариях ваш вариант. Ответ будет у нас в канале.

#вопросы_с_собеседований
Ответ на "Как влияет модификатор static на класс/метод/поле?"

Для класса — позволяет создать static-класс, экземпляры которого создавать нельзя. Используется для создания утилитных классов.

Для метода — делает метод статическим, то есть он может быть вызван без создания экземпляра класса.

Для поля — создает поле, общее для всех экземпляров класса. Статическое поле существует в единственном экземпляре для класса.

Если кратко, static позволяет создавать классы/методы/поля, связанные с классом, а не с экземпляром.
Это удобно, когда нужно реализовать утилитные классы или объекты, общие для всех экземпляров.

#вопросы_с_собеседований
🔥 Хардовый Тест по Java QA (не для новичков), который проходит всего 30% 🔥

Оцените свой уровень пройдя короткий тест по автоматизации тестирования на Java! Результат сразу!

👉🏻 ПРОЙТИ ТЕСТ: https://vk.cc/cuF4eh

Пройдите тест, смотрите наши открытые уроки - и приходите учиться на онлайн-курс «Java QA Engineer. Professiona». Ждем!

🎁 Сможете успешно пройти тест, получите запись урока с курса бесплатно!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍21🤡1
В чем разница между Iterator и ListIterator?

Пишите в комментариях ваш вариант. Ответ будет у нас в канале.

#вопросы_с_собеседований
👏2
Ответ на "В чем разница между Iterator и ListIterator?"

— Iterator может итерироваться только вперед, а ListIterator может и вперед и назад.

— ListIterator имеет дополнительные методы previous(), hasPrevious(), add(), set().

— ListIterator позволяет получить индекс текущего элемента.

— ListIterator может начать итерацию с произвольного индекса списка, а Iterator только с начала.

— ListIterator можно получить только из объектов, реализующих List, а Iterator из любой коллекции.

— ListIterator является более функциональным и позволяет вносить изменения в список во время итерации, Iterator — только читать.

— Итераторы безопасны для использования в многопоточных приложениях, а ListIterator — нет.

#вопросы_с_собеседований
👍9
Почему нельзя объявить метод интерфейса с модификатором final или static?

Пишите в комментариях ваш вариант. Ответ будет у нас в канале.

#вопросы_с_собеседований
🔥3
Ответ на "Почему нельзя объявить метод интерфейса с модификатором final или static?"

Причина, по которой в интерфейсах нельзя объявлять методы с модификаторами final или static заключается в следующем:

Final методы предназначены для того, чтобы классы-наследники не могли их переопределить. Но если метод интерфейса объявить финальным, это нарушит саму суть интерфейсов — предоставить общий набор методов для реализации в других классах.

Static методы принадлежат классу, а не отдельным объектам этого класса. Описывая метод в интерфейсе мы имеем в виду, что он должен быть реализован в классах и вызываться у объектов этих классов. Статические же методы не предназначены для реализации и вызова на экземплярах класса, поэтому static методы в интерфейсах тоже не имеют смысла.

#вопросы_с_собеседований
👍3😁2
Как получить коллекцию только для чтения?

Пишите в комментариях ваш вариант. Ответ будет у нас в канале.

#вопросы_с_собеседований
Ответ на "Как получить коллекцию только для чтения?"

При помощи:
    Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).


Эти методы принимают коллекцию в качестве параметра и возвращают коллекцию только для чтения с теми же элементами внутри.

#вопросы_с_собеседований
👍51
Если оператор return содержится и в блоке catch и в finally, какой из них «главнее»?

Пишите в комментариях ваш вариант. Ответ будет у нас в канале.

#вопросы_с_собеседований
🎉2
Ответ на "Если оператор return содержится и в блоке catch и в finally, какой из них «главнее»?"

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

Порядок выполнения такой конструкции будет следующий:
— Выполняется код в теле try.
— Если возникает исключение, управление передается в блок catch.
— В блоке catch может выполниться return, возвращающий значение из метода.
— Далее обязательно выполнится блок finally, даже если в catch уже был return.
— Если в finally есть оператор return, он перезапишет любое значение, возвращаемое ранее.
— Метод вернет значение, указанное в return блока finally.

#вопросы_с_собеседований
👍9
Как перейти на Scala: основы и особенности

Расскажет опытный эксперт — Алексей Воронец. На уроке вы:

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

Занятие пройдёт 10 апреля в 20:00 мск в рамках курса «Scala-разработчик». Доступна рассрочка на обучение!

Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cw4Ie4

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru