Адаптер (Adapter) — объект, обеспечивающий взаимодействие двух других объектов, один из которых использует, а другой предоставляет несовместимый с первым интерфейс.
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
Java задачи с собеседований
Нужен ли каналу чат для обсуждения вопросов/задач?
По результатам народного голосования был создан чат нашего комьюнити, присоединяйтесь: @javaquiz_community
Каким будет результат выполнения программы?
Anonymous Quiz
33%
fa fa
44%
fa la
6%
la la
15%
Ошибка компиляции
1%
Ошибка времени выполнения
2%
Не знаю
Forwarded from BackendQuiz - задачи с собеседований по бэкенду
Что из следующего верно о REST?
Anonymous Quiz
6%
в архитектуре REST сервер просто предоставляет доступ к ресурсам
17%
каждый ресурс идентифицируется с помощью URI/глобального идентификатора
22%
REST использует различные представления ресурсов, такие как текст, JSON и XML
51%
все верно
4%
все неверно
Какой результат работы программы?
Anonymous Quiz
14%
false false
7%
true false
39%
true true
35%
false true
1%
Ошибка времени выполнения
3%
Ошибка компиляции
Что произойдет после компиляции кода и запуска программы без аргументов:
Anonymous Quiz
5%
Код не скомпилируется
17%
Код скомпилируется, но во время выполнения будет выброшено исключение NullPointerException
67%
Код скомпилируется, а на консоль будет выведено число '0'
10%
Код скомпилируется, но ничего не выведет на консоль
2%
Не знаю
Метод hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смыле — битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть.
Если хэш коды разные, то и объекты гарантированно разные;
если хэш коды равны, то объекты могут не обязательно равны.
Если хэш коды разные, то и объекты гарантированно разные;
если хэш коды равны, то объекты могут не обязательно равны.
Каков будет результат выполнения метода main у класса Main?
Anonymous Quiz
4%
4
15%
5
80%
6
2%
Не знаю
Каким будет результат выполнения кода:
Anonymous Quiz
2%
null
6%
life
12%
universe
68%
everything
10%
Произойдет ошибка компиляции
1%
Произойдет ошибка времени выполнения
1%
Не знаю
Что напечатает следующий фрагмент кода:
Anonymous Quiz
5%
catchfinally
1%
catch
10%
Ничего не напечатает
84%
finally
1%
Не знаю
Forwarded from BackendQuiz - задачи с собеседований по бэкенду
Все перечисленные ключевые слова относятся к DML (Data Manipulation Language):
INSERT, CREATE, DELETE, UPDATE.
INSERT, CREATE, DELETE, UPDATE.
Anonymous Quiz
54%
Да
42%
Нет
4%
Не знаю
Монитор, мьютекс (mutex) – это средство обеспечения контроля за доступом к ресурсу. У монитора может быть максимум один владелец в каждый текущий момент времени. Следовательно, если кто-то использует ресурс и захватил монитор для обеспечения единоличного доступа, то другой, желающий использовать тот же ресурс, должен подождать освобождения монитора, захватить его и только потом начать использовать ресурс.
Удобно представлять монитор как id захватившего его объекта. Если этот id равен 0 – ресурс свободен. Если не 0 – ресурс занят. Можно встать в очередь и ждать его освобождения.
В Java у каждого экземпляра объекта есть монитор, который контролируется непосредственно виртуальной машиной. Используется он так: любой нестатический synchronized-метод при своем вызове прежде всего пытается захватить монитор того объекта, у которого он вызван (на который он может сослаться как на this). Если это удалось – метод исполняется. Если нет – поток останавливается и ждет, пока монитор будет отпущен.
Удобно представлять монитор как id захватившего его объекта. Если этот id равен 0 – ресурс свободен. Если не 0 – ресурс занят. Можно встать в очередь и ждать его освобождения.
В Java у каждого экземпляра объекта есть монитор, который контролируется непосредственно виртуальной машиной. Используется он так: любой нестатический synchronized-метод при своем вызове прежде всего пытается захватить монитор того объекта, у которого он вызван (на который он может сослаться как на this). Если это удалось – метод исполняется. Если нет – поток останавливается и ждет, пока монитор будет отпущен.