Please open Telegram to view this post
VIEW IN TELEGRAM
Может ли интерфейс содержать поля?
Ответ:
Интерфейс не может содержать обычные переменные, потому что он не хранит состояние объектов — только описывает поведение.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
Bazel — это высокопроизводительный инструмент сборки от Google, подходящий для Java-проектов любой сложности.
Используется для быстрой, воспроизводимой и масштабируемой сборки, особенно в больших кодовых базах и CI.
Пример java_binary в BUILD-файле:
java_binary(
name = "app",
srcs = ["Main.java"],
deps = [":core"],
main_class = "com.example.Main"
)
Maven-зависимости подключаются через
rules_jvm_external
и описываются в WORKSPACE-файле.tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Могут ли у абстрактного класса быть конструкторы?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассматривается проектирование системы по подходу DB-first и то, какие проблемы он помогает не просто решить, а устранить как явление.
База данных выступает как полноценный сервис с контрактом в виде схемы, а dbfirst позволяет сгенерировать SDK под эту схему для Java и Haskell.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как изменится поведение метода
wait()
, если передать ему аргумент? Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
В видео разбирается, как работают виртуальные потоки в Java, чем они отличаются от обычных, и как позволяют запускать тысячи задач без перегрузки памяти.
Автор сравнивает блокирующий, асинхронный и виртуальный подходы, показывает примеры кода и объясняет, как виртуальные потоки упрощают масштабирование.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассматриваются причины, по которым исключения в Java не прижились, и предлагаются альтернативные подходы к обработке ошибок — от классических
try/catch
до Typed Errors
с использованием Kotlin и библиотеки Arrow.Автор делится практическим опытом и показывает, когда лучше использовать исключения, а когда — функциональные конструкции вроде
Either
.tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Высшее на новом уровне: онлайн-магистратура от Яндекса и ИТМО. Здесь фундаментальные знания и практика для карьерного роста, а ещё — учёба, которую можно совмещать с работой и жизнью.
IT‑специальность с экспертизой Яндекса + диплом магистра гособразца = новая ступень в карьере. Приёмная кампания уже идёт!
Все подробности — на дне открытых дверей:
— Разбор совместной программы с ИТМО.
— Всё о формате прикладной онлайн-магистратуры: что взяли от классического высшего, а что добавили из опыта специалистов Яндекса.
— Общение с экспертами из вуза и ответы на вопросы.
— Всё про поступление: сроки, экзамены, документы, оплата и образовательный кредит.
▷ Ждём вас 26 июня в 19:00 мск.
→ Зарегистрироваться на встречу
IT‑специальность с экспертизой Яндекса + диплом магистра гособразца = новая ступень в карьере. Приёмная кампания уже идёт!
Все подробности — на дне открытых дверей:
— Разбор совместной программы с ИТМО.
— Всё о формате прикладной онлайн-магистратуры: что взяли от классического высшего, а что добавили из опыта специалистов Яндекса.
— Общение с экспертами из вуза и ответы на вопросы.
— Всё про поступление: сроки, экзамены, документы, оплата и образовательный кредит.
▷ Ждём вас 26 июня в 19:00 мск.
→ Зарегистрироваться на встречу
Please open Telegram to view this post
VIEW IN TELEGRAM
В видео разбираются основные архитектурные паттерны, которые помогают строить надёжные и масштабируемые системы: CQRS, Pub/Sub, Event Sourcing, Circuit Breaker и другие.
Автор объясняет, как и зачем они применяются, с примерами, плюсами и ограничениями каждого подхода.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
За счёт чего достигается синхронизация в ConcurrentHashMap?
Ответ:
Когда происходит вставка, карта сначала пытается разместить элемент в нужной ячейке массива table с помощью атомарной операции CAS (Compare-And-Swap). Это безблокирующий способ записи: если ячейка пуста, значение вставляется безопасно без захвата монитора.
Если в ячейке уже есть другие элементы и простая вставка невозможна, используется synchronized, но только на уровне конкретного узла (Node). Это означает, что блокировка применяется локально, не затрагивая всю карту, и другие потоки могут параллельно работать с другими ячейками.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM