Чем stub отличается от mock?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
😁2
Ответ на "Чем stub отличается от mock?"
#вопросы_с_собеседований
stub используется как заглушка сервисов, методов, классов и т.д. с заранее запрограммированным ответом на вызовы.mock использует подмену результатов вызова, проверяет сам факт взаимодействия, протоколирует и контролирует его.#вопросы_с_собеседований
Можно ли объявить метод абстрактным и статическим одновременно?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
👍2
Ответ на "Можно ли объявить метод абстрактным и статическим одновременно?"
Нет. В таком случае компилятор выдаст ошибку:
#вопросы_с_собеседований
Нет. В таком случае компилятор выдаст ошибку:
"Illegal combination of modifiers: ‘abstract’ and ‘static’". Модификатор abstract говорит, что метод будет реализован в другом классе, а static наоборот указывает, что этот метод будет доступен по имени класса.#вопросы_с_собеседований
😢2🎉2👍1
В чем разница между HashMap и WeakHashMap? Для чего используется WeakHashMap?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
👍1
Ответ на "В чем разница между HashMap и WeakHashMap? Для чего используется WeakHashMap?"
В
В качестве примера использования такой структуры данных можно привести следующую ситуацию: допустим имеются объекты, которые необходимо расширить дополнительной информацией, при этом изменение класса этих объектов нежелательно либо невозможно. В этом случае добавляем каждый объект в
#вопросы_с_собеседований
В
Java существует 4 типа ссылок: сильные (strong reference), мягкие (SoftReference), слабые (WeakReference) и фантомные (PhantomReference). Особенности каждого типа ссылок связаны с работой Garbage Collector. Если объект можно достичь только с помощью цепочки WeakReference (то есть на него отсутствуют сильные и мягкие ссылки), то данный объект будет помечен на удаление.WeakHashMap - это структура данных, реализующая интерфейс Map и основанная на использовании WeakReference для хранения ключей. Таким образом, пара «ключ-значение» будет удалена из WeakHashMap, если на объект-ключ более не имеется сильных ссылок.В качестве примера использования такой структуры данных можно привести следующую ситуацию: допустим имеются объекты, которые необходимо расширить дополнительной информацией, при этом изменение класса этих объектов нежелательно либо невозможно. В этом случае добавляем каждый объект в
WeakHashMap в качестве ключа, а в качестве значения - нужную информацию. Таким образом, пока на объект имеется сильная ссылка (либо мягкая), можно проверять хэш-таблицу и извлекать информацию. Как только объект будет удален, то WeakReference для этого ключа будет помещен в ReferenceQueue и затем соответствующая запись для этой слабой ссылки будет удалена из WeakHashMap.#вопросы_с_собеседований
👍3❤1
Почему Map не наследуется от Collection?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
👍2
Ответ на "Почему Map не наследуется от Collection?"
Это связано с тем, что Map представляет отображение ключ-значение, в то время как Collection представляет коллекцию объектов.
Коллекции работают с объектами на основе их позиции в коллекции, тогда как в Map объекты доступны по ключу. Поэтому операции, определенные в Collection, такие как добавление, получение по индексу и итерация, не имеют смысла для Map.
Вместо этого в Map определены операции для работы с парами ключ-значение, такие как put(), get(), containsKey() и другие. Наследование Map от Collection привело бы к наследованию неподходящих методов.
#вопросы_с_собеседований
Это связано с тем, что Map представляет отображение ключ-значение, в то время как Collection представляет коллекцию объектов.
Коллекции работают с объектами на основе их позиции в коллекции, тогда как в Map объекты доступны по ключу. Поэтому операции, определенные в Collection, такие как добавление, получение по индексу и итерация, не имеют смысла для Map.
Вместо этого в Map определены операции для работы с парами ключ-значение, такие как put(), get(), containsKey() и другие. Наследование Map от Collection привело бы к наследованию неподходящих методов.
#вопросы_с_собеседований
❤3
#вопросы_с_собеседований
Что такое «фикстуры»?
Фикстуры (fixtures) - состояние среды тестирования, которое требуется для успешного выполнения теста. Основная задача фикстур заключается в подготовке тестового окружения с заранее фиксированным/известным состоянием, чтобы гарантировать повторяемость процесса тестирования.
Что такое «фикстуры»?
Как влияет модификатор static на класс/метод/поле?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Ответ на "Как влияет модификатор static на класс/метод/поле?"
Для класса — позволяет создать static-класс, экземпляры которого создавать нельзя. Используется для создания утилитных классов.
Для метода — делает метод статическим, то есть он может быть вызван без создания экземпляра класса.
Для поля — создает поле, общее для всех экземпляров класса. Статическое поле существует в единственном экземпляре для класса.
Если кратко, static позволяет создавать классы/методы/поля, связанные с классом, а не с экземпляром.
Это удобно, когда нужно реализовать утилитные классы или объекты, общие для всех экземпляров.
#вопросы_с_собеседований
Для класса — позволяет создать static-класс, экземпляры которого создавать нельзя. Используется для создания утилитных классов.
Для метода — делает метод статическим, то есть он может быть вызван без создания экземпляра класса.
Для поля — создает поле, общее для всех экземпляров класса. Статическое поле существует в единственном экземпляре для класса.
Если кратко, static позволяет создавать классы/методы/поля, связанные с классом, а не с экземпляром.
Это удобно, когда нужно реализовать утилитные классы или объекты, общие для всех экземпляров.
#вопросы_с_собеседований
🔥4
Где и как вы можете использовать приватный конструктор?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Ответ на "Где и как вы можете использовать приватный конструктор?"
Приватный (помеченный ключевым словом
#вопросы_с_собеседований
Приватный (помеченный ключевым словом
private, скрытый) конструктор может использоваться публичным статическим методом генерации объектов данного класса. Также доступ к нему разрешён вложенным классам и может использоваться для их нужд.#вопросы_с_собеседований
👍6