#вопросы_с_собеседований
Какие существуют виды тестовых объектов?
Какие существуют виды тестовых объектов?
пустышка
(dummy
) - объект, который обычно передается в тестируемый класс в качестве параметра, но не имеет поведения: с ним ничего не происходит и никакие его методы не вызываются.dummy-объектов являются new object(), null, «Ignored String» и т.д.
фальшивка
(fake object
) применяется в основном для ускорения запуска ресурсоёмких тестов и является заменой тяжеловесного внешнего зависимого объекта его легковесной реализацией.примеры — эмулятор базы данных (fake database) или фальшивый web-сервис.
заглушка
(test stub
) используется для получения данных из внешней зависимости, подменяя её. При этом заглушка игнорирует все данные, поступающие из тестируемого объекта, возвращая заранее определённый результат.объект использует чтение из конфигурационного файла? Тогда передаем ему заглушку ConfigFileStub возвращающую тестовые строки конфигурации без обращения к файловой системе.
шпион
(test spy
) - разновидность заглушки, которая умеет протоколировать сделанные к ней обращения из тестируемой системы, чтобы проверить их правильность в конце теста. При этом фиксируется количество, состав и содержание параметров вызовов.существует необходимость проверки, что определённый метод тестируемого класса вызывался ровно 1 раз, то шпион - именно то, что нам нужно.
фикция
(mock object
) похож на шпиона, но обладает расширенной функциональностью, заранее заданными поведением и реакцией на вызовы.Принципы SOLID на примерах
Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.
https://habr.com/ru/post/688530/
Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.
https://habr.com/ru/post/688530/
Какие алгоритмы нужно знать, чтобы стать хорошим программистом?
Самые распространенные алгоритмы и структуры данных, но и более сложные вещи, о которых вы могли не знать.
🔗 Основной сайт
🔗 Зеркало
Зачем вообще нужны алгоритмы?
Знание алгоритмов и структур данных является важной базой у начинающих программистов для оптимизации кода. Эти знания помогут держать мозг в тонусе, пройти техническое собеседование любой сложности на позицию разработчика и повысить свой чек за работу.
Как мне оперативно научиться применять алгоритмы?
Мы запустили курс «Алгоритмы и структуры данных», на котором junior и middle+ программисты смогут потренировать навыки применения алгоритмов и сгенерировать идеальные решения сложных задач в сообществе других разработчиков.
➡️ Начать обучение
Самые распространенные алгоритмы и структуры данных, но и более сложные вещи, о которых вы могли не знать.
🔗 Основной сайт
🔗 Зеркало
Зачем вообще нужны алгоритмы?
Знание алгоритмов и структур данных является важной базой у начинающих программистов для оптимизации кода. Эти знания помогут держать мозг в тонусе, пройти техническое собеседование любой сложности на позицию разработчика и повысить свой чек за работу.
Как мне оперативно научиться применять алгоритмы?
Мы запустили курс «Алгоритмы и структуры данных», на котором junior и middle+ программисты смогут потренировать навыки применения алгоритмов и сгенерировать идеальные решения сложных задач в сообществе других разработчиков.
➡️ Начать обучение
#вопросы_с_собеседований
Что вы знаете о действиях JSP (Action tag и JSP Action Elements).
Наиболее часто используемыми
•
•
•
•
•
Что вы знаете о действиях JSP (Action tag и JSP Action Elements).
Action tag
и JSP Action Elements
предоставляют методы работы с Java Beans
, подключения ресурсов, проброса запросов и создания динамических XML
элементов. Такие элементы всегда начинаются с записи jsp:
и используются непосредственно внутри страницы JSP
без необходимости подключения сторонних библиотек или дополнительных настроек.Наиболее часто используемыми
JSP Action Elements
являются:•
jsp:include: <jsp:include page="относительный URL" flush="true"/>
- подключить файл при запросе страницы. Если необходимо, чтобы файл подключался в процессе трансляции страницы, то используется директива page
совместно с атрибутом include
;•
jsp:useBean: <jsp:useBean att=значение*/> или <jsp:useBean att=значение*>...</jsp:useBean>
- найти или создать Java bean
;•
jsp:setProperty: <jsp:setProperty att=значение*/>
- установить свойства Java bean
, или явно, или указанием на соответствующее значение, передаваемое при запросе;•
jsp:forward: <jsp:forward page="относительный URL"/>
- передать запрос другой странице;•
jsp:plugin: <jsp:plugin attribute="значение"*>...</jsp:plugin>
- сгенерировать (в зависимости от типа браузера) тэги OBJECT
или EMBED
для апплета, использующего технологию Java Plugin
.❓Тест: Python, Java, JavaScript — что выбрать?
Чтобы помочь вам сориентироваться с будущей профессией и не жалеть о впустую потраченном времени, мы вместе с Яндекс Практикумом подготовили тест, который поможет сделать правильный выбор на основе ваших предпочтений.
На выходе получите рекомендацию, с какого языка вам начать свой путь в программировании будет интереснее.
Python, Java или JavaScript.
🔗 Основной сайт
🔗 Зеркало
Чтобы помочь вам сориентироваться с будущей профессией и не жалеть о впустую потраченном времени, мы вместе с Яндекс Практикумом подготовили тест, который поможет сделать правильный выбор на основе ваших предпочтений.
На выходе получите рекомендацию, с какого языка вам начать свой путь в программировании будет интереснее.
Python, Java или JavaScript.
🔗 Основной сайт
🔗 Зеркало
Spring: новости за прошедшую неделю / 11-е октября
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
https://spring.io/blog/2022/10/11/this-week-in-spring-october-11th-2022
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
https://spring.io/blog/2022/10/11/this-week-in-spring-october-11th-2022
This Week in Spring - October 11th, 2022
Level up your Java code and explore what Spring can do for you.
#вопросы_с_собеседований
Чем stub отличается от mock?
Чем stub отличается от mock?
stub
используется как заглушка сервисов, методов, классов и т.д. с заранее запрограммированным ответом на вызовы.mock
использует подмену результатов вызова, проверяет сам факт взаимодействия, протоколирует и контролирует его.Вы используете ненадежный код
В декабре прошлого года Log4Shell сократил ночи многих людей в мире JVM. Хуже того, используя аналогию с землетрясением, после первоначального землетрясения возникло множество афтершоков.
Я сразу установил связь между Log4Shell и Security Manager. Сначала я не хотел об этом писать. Но ко мне поступили просьбы, и я не мог обойти это стороной.
Насколько я помню команда Oracle отказалась от Security Manager в Java 17. Один из аргументов, на котором основывалось это решение, заключается в том, что он изначально был разработан для защиты апплетов.
Читать статью
В декабре прошлого года Log4Shell сократил ночи многих людей в мире JVM. Хуже того, используя аналогию с землетрясением, после первоначального землетрясения возникло множество афтершоков.
Я сразу установил связь между Log4Shell и Security Manager. Сначала я не хотел об этом писать. Но ко мне поступили просьбы, и я не мог обойти это стороной.
Насколько я помню команда Oracle отказалась от Security Manager в Java 17. Один из аргументов, на котором основывалось это решение, заключается в том, что он изначально был разработан для защиты апплетов.
Читать статью
Хабр
Вы используете ненадежный код
В декабре прошлого года Log4Shell сократил ночи многих людей в мире JVM. Хуже того, используя аналогию с землетрясением, после первоначального землетрясения возникло множество афтершоков. Я сразу...
Как работает метод Thread.join()?
Когда поток вызывает
Когда поток вызывает
join()
для другого потока, текущий работающий поток будет ждать, пока другой поток, к которому он присоединяется, не будет завершён:void join()
void join(long millis)
void join(long millis, int nanos)
Что будет выведено на экран?
Anonymous Quiz
19%
A got caught B got caught
29%
B got caught
25%
Compiler Error
27%
A got caught
Какие аннотации фикстур существуют в JUnit?
•
•
•
•
•
@BeforeClass
- определяет код, который должен единожды выполниться перед запуском набора тестовых методов.•
@AfterClass
- код, выполняемый один раз после исполнения набора тестовых методов.•
@Before
- определяет код, который должен выполняться каждый раз перед запуском любого тестовым методом.•
@After
- код, выполняемый каждый раз после исполнения любого тестового метода.⬆️ Достиг потолка в профессии: как устроиться в международную компанию
Расскажем о том, как оценить свой уровень английского, грамотно оформить резюме и успешно пройти собеседование в международную команду.
https://proglib.io/sh/1wkX235TZe
Зеркало
Расскажем о том, как оценить свой уровень английского, грамотно оформить резюме и успешно пройти собеседование в международную команду.
https://proglib.io/sh/1wkX235TZe
Зеркало
#вопросы_с_собеседований
Что такое «шаблон проектирования»?
Плюсы использования шаблонов:
• снижение сложности разработки за счёт готовых абстракций для решения целого класса проблем.
• облегчение коммуникации между разработчиками, позволяя ссылаться на известные шаблоны.
• унификация деталей решений: модулей и элементов проекта.
• возможность отыскав удачное решение, пользоваться им снова и снова.
• помощь в выборе выбрать наиболее подходящего варианта проектирования.
Минусы:
• слепое следование некоторому выбранному шаблону может привести к усложнению программы.
• желание попробовать некоторый шаблон в деле без особых на то оснований.
Что такое «шаблон проектирования»?
Шаблон
(паттерн
) проектирования
(design pattern
) — это проверенное и готовое к использованию решение. Это не класс и не библиотека, которую можно подключить к проекту, это нечто большее - он не зависит от языка программирования, не является законченным образцом, который может быть прямо преобразован в код и может быть реализован по-разному в разных языках программирования.Плюсы использования шаблонов:
• снижение сложности разработки за счёт готовых абстракций для решения целого класса проблем.
• облегчение коммуникации между разработчиками, позволяя ссылаться на известные шаблоны.
• унификация деталей решений: модулей и элементов проекта.
• возможность отыскав удачное решение, пользоваться им снова и снова.
• помощь в выборе выбрать наиболее подходящего варианта проектирования.
Минусы:
• слепое следование некоторому выбранному шаблону может привести к усложнению программы.
• желание попробовать некоторый шаблон в деле без особых на то оснований.