🎯 Разбор: собес в Точку, Senior · «Карты»
Вчера было 4 вопроса и самоподсчёт. Теперь — ответы. Читай и отмечай, где был прав.
━━━━━━━━━━━━━━
1⃣ EXPLAIN ANALYZE на UPDATE — безопасно на проде?
Нет. Разница простая:
➡️ EXPLAIN — только ПОКАЗЫВАЕТ план запроса, ничего не выполняя.
➡️ EXPLAIN ANALYZE — РЕАЛЬНО выполняет запрос, чтобы замерить фактическое время и строки. На SELECT это безвредно, на UPDATE/DELETE/INSERT данные изменятся по-настоящему.
Как проверить план безопасно — транзакция с откатом:
План получил, изменения отменились.
━━━━━━━━━━━━━━
2⃣ Почему идемпотентность критична именно в платежах?
Идемпотентность = повтор операции не меняет результат сверх первого раза.
Откуда берутся повторы: сеть рвётся, клиент по таймауту ретраит (запрос дошёл, а ответ — нет), брокеры типа Kafka гарантируют at-least-once — сообщение может прийти дважды. В обычном CRUD дубль — мелочь. В платежах дубль = два списания с клиента.
Решение — Idempotency-Key: клиент кладёт уникальный ключ в заголовок запроса. Сервер запоминает ключ вместе с результатом. Пришёл повтор с тем же ключом — операция НЕ выполняется заново, возвращается сохранённый результат первой.
━━━━━━━━━━━━━━
3⃣ Клиенту дважды списали с карты. Где чинить?
Не в брокере — at-least-once это его нормальный контракт, дубли он имеет право слать. Чинится в обработчике платежа:
➡️ таблица обработанных операций с УНИКАЛЬНЫМ индексом по operation_id / Idempotency-Key;
➡️ запись в неё — в одной транзакции со списанием;
➡️ пришёл дубль — упёрся в unique constraint → операцию пропускаем, возвращаем результат первой.
Клиенту — возврат (операционно), системе — идемпотентный consumer, чтобы не повторилось. Формула для собеса: exactly-once на брокере не бывает — делаем at-least-once + идемпотентную обработку и получаем эффективный exactly-once.
━━━━━━━━━━━━━━
4⃣ «Зашифруем CVV как следует и сохраним» — что не так?
Всё. По PCI DSS чувствительные данные аутентификации — CVV/CVC, ПИН-блок, полная магнитная дорожка — хранить НЕЛЬЗЯ ни в каком виде после авторизации. Даже зашифрованными. CVV подтверждает, что карта у держателя: лежит в базе → любая утечка = мошеннические платежи.
Как правильно работать с карточными данными:
✅ Хранение: PAN (номер карты) — можно, но только зашифрованным или токенизированным; при показе маскируем (6 первых + 4 последних). Срок действия и имя — можно, с защитой. CVV и ПИН — никогда.
✅ Передача: только TLS. Карточные данные не кладём в URL и не пишем в логи — поля маскируются в логах и трейсах.
✅ Обработка: лучший приём — токенизация. Реальный PAN живёт у платёжного провайдера / токен-сервиса, твой бэкенд работает с токеном; рекуррентные платежи идут по токену, CVV для них не нужен. Чем меньше твоих систем видят карту, тем меньше зона PCI-аудита.
Формула для собеса: «CVV не храним никогда. PAN — токенизируем или шифруем, при показе маскируем. Передаём по TLS, в логи не пишем. В идеале карту видит провайдер, а не мы».
━━━━━━━━━━━━━━
Все 4 вопроса упираются в деньги и надёжность — это почерк карточного процессинга. Готовься под конкретную команду, а не по топ-100 из интернета.
📄 Это 4 из 300+ вопросов гайда Точка Senior — 83 страницы разборов такой глубины.
👉 @Java Jub Pro
А теперь проверь себя ещё раз — опрос ниже 👇
tags: #собес #java #senior #точка #разбор
📱 Java Jub
Вчера было 4 вопроса и самоподсчёт. Теперь — ответы. Читай и отмечай, где был прав.
━━━━━━━━━━━━━━
Нет. Разница простая:
Как проверить план безопасно — транзакция с откатом:
BEGIN;
EXPLAIN ANALYZE UPDATE ...;
ROLLBACK;
План получил, изменения отменились.
━━━━━━━━━━━━━━
Идемпотентность = повтор операции не меняет результат сверх первого раза.
Откуда берутся повторы: сеть рвётся, клиент по таймауту ретраит (запрос дошёл, а ответ — нет), брокеры типа Kafka гарантируют at-least-once — сообщение может прийти дважды. В обычном CRUD дубль — мелочь. В платежах дубль = два списания с клиента.
Решение — Idempotency-Key: клиент кладёт уникальный ключ в заголовок запроса. Сервер запоминает ключ вместе с результатом. Пришёл повтор с тем же ключом — операция НЕ выполняется заново, возвращается сохранённый результат первой.
━━━━━━━━━━━━━━
Не в брокере — at-least-once это его нормальный контракт, дубли он имеет право слать. Чинится в обработчике платежа:
Клиенту — возврат (операционно), системе — идемпотентный consumer, чтобы не повторилось. Формула для собеса: exactly-once на брокере не бывает — делаем at-least-once + идемпотентную обработку и получаем эффективный exactly-once.
━━━━━━━━━━━━━━
Всё. По PCI DSS чувствительные данные аутентификации — CVV/CVC, ПИН-блок, полная магнитная дорожка — хранить НЕЛЬЗЯ ни в каком виде после авторизации. Даже зашифрованными. CVV подтверждает, что карта у держателя: лежит в базе → любая утечка = мошеннические платежи.
Как правильно работать с карточными данными:
✅ Хранение: PAN (номер карты) — можно, но только зашифрованным или токенизированным; при показе маскируем (6 первых + 4 последних). Срок действия и имя — можно, с защитой. CVV и ПИН — никогда.
✅ Передача: только TLS. Карточные данные не кладём в URL и не пишем в логи — поля маскируются в логах и трейсах.
✅ Обработка: лучший приём — токенизация. Реальный PAN живёт у платёжного провайдера / токен-сервиса, твой бэкенд работает с токеном; рекуррентные платежи идут по токену, CVV для них не нужен. Чем меньше твоих систем видят карту, тем меньше зона PCI-аудита.
Формула для собеса: «CVV не храним никогда. PAN — токенизируем или шифруем, при показе маскируем. Передаём по TLS, в логи не пишем. В идеале карту видит провайдер, а не мы».
━━━━━━━━━━━━━━
Все 4 вопроса упираются в деньги и надёжность — это почерк карточного процессинга. Готовься под конкретную команду, а не по топ-100 из интернета.
📄 Это 4 из 300+ вопросов гайда Точка Senior — 83 страницы разборов такой глубины.
👉 @Java Jub Pro
А теперь проверь себя ещё раз — опрос ниже 👇
tags: #собес #java #senior #точка #разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2
После разбора: на сколько из 4 теперь ответил бы уверенно?
Anonymous Poll
14%
0–1
14%
2
37%
3
35%
все 4 😎
🔥 Middle Java-разработчик · Яндекс Cloud (Monium Platform)
📍 Любой город · гибрид / удалёнка / офис на выбор
👨💻 Грейд: Middle+ (от 3 лет)
О продукте
Monium — сердце мониторинга всего Яндекса. Централизованная платформа, которая каждую секунду обрабатывает 2,4 млрд запросов на запись и 2 млрд на чтение. Метрики, логи и трейсы — от поисковой выдачи до беспилотных автомобилей. Тысячи инженеров Яндекса и клиенты Yandex Cloud используют Monium ежедневно.
Команда ApplicationTeam — входная точка в платформу: все входящие запросы, API, SDK, интеграции.
💰 Зарплата
В вакансии не указана — обсуждается индивидуально.
Ориентир по рынку для Middle+ Java в Yandex Cloud: 330 000 – 450 000 ₽ на руки (совокупный доход).
🛠 Стек
Java (основной), YDB, gRPC, REST, собственный бинарный формат Spack (LZ4, ZSTD). Плюсом: C++, Go, Prometheus, Grafana, ELK, Jaeger, Terraform/IaC.
✅ Ждут
Опыт промышленной разработки на Java (большие кодовые базы), понимание распределённых и высоконагруженных систем, алгоритмы и структуры данных, Unix, опыт разработки API/SDK/библиотек, проектирование REST/gRPC-интерфейсов.
💡 Почему интересно
— Масштаб Яндекса: 2,4 млрд запросов/сек
— Собственные протоколы и форматы (Spack вместо Protobuf)
— Задачи AI/ML: проактивный мониторинг, автодетекция аномалий
— Команда из 6 опытных бэкендеров, Scrum, ментор при онбординге
— Распределённая работа: члены команды в разных городах и странах
🎁 Бонусы
Расширенный ДМС с первого месяца (стоматология, чекапы, онкология, помощь за рубежом), психотерапия, лазерная коррекция зрения (через год), ведение беременности (через 2 года), ДМС для семьи (80/20), спортзалы в офисах + скидки в фитнес-клубах, гибкий график, жилищные займы, участие в конференциях, менторство, внутренняя образовательная платформа.
🔗 Откликнуться: yandex.ru/jobs/vacancies/razrabotchik-bekenda-v-applicationteam-monium-33295
tags: #вакансия #java #middle #senior #яндекс #yandexcloud #monium #удаленка #мониторинг #observability #распределённые_системы
📱 Java Jub
📍 Любой город · гибрид / удалёнка / офис на выбор
👨💻 Грейд: Middle+ (от 3 лет)
О продукте
Monium — сердце мониторинга всего Яндекса. Централизованная платформа, которая каждую секунду обрабатывает 2,4 млрд запросов на запись и 2 млрд на чтение. Метрики, логи и трейсы — от поисковой выдачи до беспилотных автомобилей. Тысячи инженеров Яндекса и клиенты Yandex Cloud используют Monium ежедневно.
Команда ApplicationTeam — входная точка в платформу: все входящие запросы, API, SDK, интеграции.
💰 Зарплата
В вакансии не указана — обсуждается индивидуально.
Ориентир по рынку для Middle+ Java в Yandex Cloud: 330 000 – 450 000 ₽ на руки (совокупный доход).
🛠 Стек
Java (основной), YDB, gRPC, REST, собственный бинарный формат Spack (LZ4, ZSTD). Плюсом: C++, Go, Prometheus, Grafana, ELK, Jaeger, Terraform/IaC.
✅ Ждут
Опыт промышленной разработки на Java (большие кодовые базы), понимание распределённых и высоконагруженных систем, алгоритмы и структуры данных, Unix, опыт разработки API/SDK/библиотек, проектирование REST/gRPC-интерфейсов.
💡 Почему интересно
— Масштаб Яндекса: 2,4 млрд запросов/сек
— Собственные протоколы и форматы (Spack вместо Protobuf)
— Задачи AI/ML: проактивный мониторинг, автодетекция аномалий
— Команда из 6 опытных бэкендеров, Scrum, ментор при онбординге
— Распределённая работа: члены команды в разных городах и странах
🎁 Бонусы
Расширенный ДМС с первого месяца (стоматология, чекапы, онкология, помощь за рубежом), психотерапия, лазерная коррекция зрения (через год), ведение беременности (через 2 года), ДМС для семьи (80/20), спортзалы в офисах + скидки в фитнес-клубах, гибкий график, жилищные займы, участие в конференциях, менторство, внутренняя образовательная платформа.
🔗 Откликнуться: yandex.ru/jobs/vacancies/razrabotchik-bekenda-v-applicationteam-monium-33295
tags: #вакансия #java #middle #senior #яндекс #yandexcloud #monium #удаленка #мониторинг #observability #распределённые_системы
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Гайд: Middle+ Java · Яндекс (Monium)
Собес в Яндексе — это 2-3 алгосекции + System Design, и ~60% результата решают алгоритмы. Гайд собран ровно под эту воронку.
📄 Что внутри:
➡️ 70 страниц · 24 раздела
➡️ 257 вопросов с развёрнутыми ответами — понятно даже джуну
➡️ 30 задач с полным кодом решения
➡️ База — реальные вопросы с собесов Яндекса за последние месяцы (по фидбэку прошедших)
💻 Практика — 34 разобранные задачи:
➖ 17 алгоритмических с чистым кодом (thread-safe кольцевой буфер, стек с max за O(1), LRU, сложение ступенчатых графиков)
➖ 6 Java live-coding
➖ 6 SQL (оконные функции, p95, поиск gap через LAG)
➖ 5 System Design кейсов под Monium
➡️ Плюс программа тренировки — ещё ~26 задач по темам с приёмами
➡️ 25 врезок-ловушек + 7 сравнительных таблиц
🔥 Почему он реально закрывает Яндекс:
System Design тут не абстрактный «спроектируй соцсеть», здесь живой продукт — приём и хранение 3 млрд семплов метрик/сек, хранилище трейсов, автодашборды, детекция аномалий. Gorilla-компрессия, delta-of-delta, downsampling, PromQL, ZGC, OpenTelemetry — вся observability-специфика в одном месте.
👉 Полный гайд — в @Java Jub Pro
Список всех материалов (гайдов) в Pro — ссылка
━━━━━━━━━━━━━━
📝 Гайд на заказ — (ссылка)
⚠️ Один пройденный собес окупит подписку десятки раз
🎯 5 подтверждённых случаев оффера благодаря нашим гайдам (ссылка)
━━━━━━━━━━━━━━
📥 Забрать гайд:
https://t.me/java_jub_pro_guides_bot?start=guide_30
━━━━━━━━━━━━━━━━
⏳ 140 человек с нами
tags: #java #собеседование #middle_guide #senior_guide #яндекс #yandexcloud #monium #удаленка #мониторинг #observability #распределённые_системы
📱 Java Jub
Собес в Яндексе — это 2-3 алгосекции + System Design, и ~60% результата решают алгоритмы. Гайд собран ровно под эту воронку.
📄 Что внутри:
💻 Практика — 34 разобранные задачи:
🔥 Почему он реально закрывает Яндекс:
System Design тут не абстрактный «спроектируй соцсеть», здесь живой продукт — приём и хранение 3 млрд семплов метрик/сек, хранилище трейсов, автодашборды, детекция аномалий. Gorilla-компрессия, delta-of-delta, downsampling, PromQL, ZGC, OpenTelemetry — вся observability-специфика в одном месте.
👉 Полный гайд — в @Java Jub Pro
Список всех материалов (гайдов) в Pro — ссылка
━━━━━━━━━━━━━━
⚠️ Один пройденный собес окупит подписку десятки раз
🎯 5 подтверждённых случаев оффера благодаря нашим гайдам (ссылка)
━━━━━━━━━━━━━━
📥 Забрать гайд:
https://t.me/java_jub_pro_guides_bot?start=guide_30
━━━━━━━━━━━━━━━━
⏳ 140 человек с нами
tags: #java #собеседование #middle_guide #senior_guide #яндекс #yandexcloud #monium #удаленка #мониторинг #observability #распределённые_системы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2
📋 БОЛЬШОЕ ОБНОВЛЕНИЕ JAVA JUB PRO
За июнь мы сильно выросли и много поменяли внутри 👀
Рассказываем подробно, как теперь всё устроено — чтобы было понятно, за что ты платишь и что получаешь.
━━━━━━━━━━━━━━━━
📚 КАК ТЕПЕРЬ УСТРОЕН ДОСТУП
Раньше все гайды просто лежали в канале. Теперь всё понятнее — есть два типа контента.
━━━━━━━━━━━━━━━━
🔹 ПОТОК — свежие гайды
Это всё новое, что выходит: 16-20 новых гайдов каждый месяц под конкретные компании и позиции
➕ вакансии, разборы и чат.
✅ Пока ты подписан — весь свежий поток твой.
✅ Каждый новый гайд сразу доступен тебе.
━━━━━━━━━━━━━━━━
🔹 АРХИВ — вся прошлая база
Это десятки разборов по компаниям, которые вышли раньше — накопленная база за всё время.
📆 Архив целиком открывается только на ГОДОВОЙ подписке.
━━━━━━━━━━━━━━━━
⚙️ КАК ЭТО РАБОТАЕТ НА ПРАКТИКЕ
Чтобы не было путаницы — по шагам 👇
📅 Взял подписку на МЕСЯЦ:
➖ Тебе доступно всё, что выходит в эти 30 дней
➖ Из архива открывается только 1 последний гайд (чтобы было с чего начать)
➖ Вся остальная старая база — не входит
⛔️ Подписка закончилась:
➖ Доступ к гайдам закрывается
➖ То, что ты успел скачать за этот период — остаётся у тебя
🔄 Взял месяц → перерыв → снова месяц:
➖ Доступно только то, что выходит в новый оплаченный месяц
➖ Гайды из прошлого периода заново не открываются
➖ Счётчик начинается заново
📆 Взял ГОДОВУЮ подписку:
➖ Весь архив открывается сразу и целиком
➖ Плюс весь свежий поток весь год
➖ Плюс один заказной гайд в подарок 🎁
💡 Нужен конкретный старый гайд, но не хочешь годовую? Его можно купить отдельно — и он останется у тебя навсегда.
━━━━━━━━━━━━━━━━
👑 ДЛЯ FOUNDERS — БЕЗ ИЗМЕНЕНИЙ
Если ты в числе первых подписчиков (founders) — для тебя всё как раньше:
▪️ Цена 500 ₽ закреплена за тобой навсегда
▪️ Полный доступ ко всему архиву сохраняется
▪️ Изменения по архиву тебя не касаются
Спасибо, что был с проектом с самого начала 🙏
━━━━━━━━━━━━━━━━
❓ ПОЧЕМУ ТАК
Честно: раньше можно было оплатить один месяц, скачать все гайды разом и уйти. Из-за этого подписка теряла смысл.
Теперь подписка — это доступ к постоянному потоку свежей подготовки, а не разовая закачка архива. Так честнее для тех, кто готовится всерьёз.
⚠️ И главное: всё, что ты уже оплатил, остаётся доступным до конца твоего периода. Никто ничего не теряет.
━━━━━━━━━━━━━━━━
🛠 ЗАКАЗНОЙ ГАЙД — ТЕПЕРЬ ПЛАТНЫЙ
Раньше гайд под твою вакансию можно было заказать бесплатно. Но заявок стало столько, что обрабатывать все в прежнем режиме мы перестали успевать — а делать наспех не хочется 🙅♂️
Каждый такой гайд собирается индивидуально под твою компанию, позицию и грейд. Поэтому переходим на платный формат — так держим качество и сроки.
📋 Что это: разбор под конкретную вакансию, которой нет в каталоге — реальные вопросы, ответы, roadmap, специфика позиции. Всё под тебя😊
━━━━━━━━━━━━━━━━
💰 ЦЕНЫ
Для подписчиков Pro 🔥
📌 1 заказной гайд — 1 900 ₽
📌 2 заказных гайда — 3 400 ₽ (по 1 700 ₽)
📌 3 заказных гайда — 4 500 ₽ (по 1 500 ₽)
Без подписки
📌 1 заказной гайд — 2 900 ₽
📌 2 заказных гайда — 4 900 ₽ (по 2 450 ₽)
📌 3 заказных гайда — 6 500 ₽ (по 2 167 ₽)
🎁 Бонусы:
📅 Подписка на 3 месяца — заказной гайд за 1 490 ₽
📆 Годовая подписка — заказной гайд в подарок
⏳ Из-за высокого спроса заказов в месяц ограниченное число. У подписчиков — приоритет.
━━━━━━━━━━━━━━━━
🗓 КОГДА ВСТУПАЕТ В СИЛУ
Новая логика по архиву заработает с 10го июля.
До этого момента архив пока доступен как раньше — так что если хочешь забрать всю базу, самое время оформить ГОДОВУЮ сейчас 👇
━━━━━━━━━━━━━━━━
🔜 А на следующей неделе — новый формат. Следите!
Вопросы по любому пункту — пишите, ответим 💬
👉 Гайды — в @Java Jub Pro
Список всех материалов в Pro — ссылка
📱 Java Jub
За июнь мы сильно выросли и много поменяли внутри 👀
Рассказываем подробно, как теперь всё устроено — чтобы было понятно, за что ты платишь и что получаешь.
━━━━━━━━━━━━━━━━
📚 КАК ТЕПЕРЬ УСТРОЕН ДОСТУП
Раньше все гайды просто лежали в канале. Теперь всё понятнее — есть два типа контента.
━━━━━━━━━━━━━━━━
🔹 ПОТОК — свежие гайды
Это всё новое, что выходит: 16-20 новых гайдов каждый месяц под конкретные компании и позиции
➕ вакансии, разборы и чат.
✅ Пока ты подписан — весь свежий поток твой.
✅ Каждый новый гайд сразу доступен тебе.
━━━━━━━━━━━━━━━━
🔹 АРХИВ — вся прошлая база
Это десятки разборов по компаниям, которые вышли раньше — накопленная база за всё время.
📆 Архив целиком открывается только на ГОДОВОЙ подписке.
━━━━━━━━━━━━━━━━
⚙️ КАК ЭТО РАБОТАЕТ НА ПРАКТИКЕ
Чтобы не было путаницы — по шагам 👇
📅 Взял подписку на МЕСЯЦ:
⛔️ Подписка закончилась:
🔄 Взял месяц → перерыв → снова месяц:
📆 Взял ГОДОВУЮ подписку:
💡 Нужен конкретный старый гайд, но не хочешь годовую? Его можно купить отдельно — и он останется у тебя навсегда.
━━━━━━━━━━━━━━━━
👑 ДЛЯ FOUNDERS — БЕЗ ИЗМЕНЕНИЙ
Если ты в числе первых подписчиков (founders) — для тебя всё как раньше:
▪️ Цена 500 ₽ закреплена за тобой навсегда
▪️ Полный доступ ко всему архиву сохраняется
▪️ Изменения по архиву тебя не касаются
Спасибо, что был с проектом с самого начала 🙏
━━━━━━━━━━━━━━━━
❓ ПОЧЕМУ ТАК
Честно: раньше можно было оплатить один месяц, скачать все гайды разом и уйти. Из-за этого подписка теряла смысл.
Теперь подписка — это доступ к постоянному потоку свежей подготовки, а не разовая закачка архива. Так честнее для тех, кто готовится всерьёз.
⚠️ И главное: всё, что ты уже оплатил, остаётся доступным до конца твоего периода. Никто ничего не теряет.
━━━━━━━━━━━━━━━━
🛠 ЗАКАЗНОЙ ГАЙД — ТЕПЕРЬ ПЛАТНЫЙ
Раньше гайд под твою вакансию можно было заказать бесплатно. Но заявок стало столько, что обрабатывать все в прежнем режиме мы перестали успевать — а делать наспех не хочется 🙅♂️
Каждый такой гайд собирается индивидуально под твою компанию, позицию и грейд. Поэтому переходим на платный формат — так держим качество и сроки.
📋 Что это: разбор под конкретную вакансию, которой нет в каталоге — реальные вопросы, ответы, roadmap, специфика позиции. Всё под тебя😊
━━━━━━━━━━━━━━━━
💰 ЦЕНЫ
Для подписчиков Pro 🔥
📌 1 заказной гайд — 1 900 ₽
📌 2 заказных гайда — 3 400 ₽ (по 1 700 ₽)
📌 3 заказных гайда — 4 500 ₽ (по 1 500 ₽)
Без подписки
📌 1 заказной гайд — 2 900 ₽
📌 2 заказных гайда — 4 900 ₽ (по 2 450 ₽)
📌 3 заказных гайда — 6 500 ₽ (по 2 167 ₽)
🎁 Бонусы:
📅 Подписка на 3 месяца — заказной гайд за 1 490 ₽
📆 Годовая подписка — заказной гайд в подарок
⏳ Из-за высокого спроса заказов в месяц ограниченное число. У подписчиков — приоритет.
━━━━━━━━━━━━━━━━
🗓 КОГДА ВСТУПАЕТ В СИЛУ
Новая логика по архиву заработает с 10го июля.
До этого момента архив пока доступен как раньше — так что если хочешь забрать всю базу, самое время оформить ГОДОВУЮ сейчас 👇
━━━━━━━━━━━━━━━━
Вопросы по любому пункту — пишите, ответим 💬
👉 Гайды — в @Java Jub Pro
Список всех материалов в Pro — ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👎11❤3
🏦 Финтех-собес: 5 вопросов
Ниже — верхняя планка реальных банковских собесов: вопросы, на которых сыпется большинство кандидатов.
😈5 викторин, от злой к зверской. Не гугли — честно.
🏆 5/5 — снимаю шляпу, таких единицы
💪 3–4 — очень сильный уровень
🎯 1–2 — норма, эти вопросы для того и существуют
📖 0 — завтра разбор всё разложит по полочкам
Результат — в комменты 👇
Разбор всех пяти — завтра ⏰
tags: #квиз #финтех #java
📱 Java Jub
Ниже — верхняя планка реальных банковских собесов: вопросы, на которых сыпется большинство кандидатов.
😈5 викторин, от злой к зверской. Не гугли — честно.
🏆 5/5 — снимаю шляпу, таких единицы
💪 3–4 — очень сильный уровень
🎯 1–2 — норма, эти вопросы для того и существуют
📖 0 — завтра разбор всё разложит по полочкам
Результат — в комменты 👇
Разбор всех пяти — завтра ⏰
tags: #квиз #финтех #java
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Метод A @Transactional вызывает B @Transactional (оба REQUIRED). B бросил RuntimeException, A поймал его в try-catch и вернул ok. Что произойдёт на commit?
Anonymous Quiz
17%
всё закоммитится, исключение же поймано
21%
закоммитятся только изменения A
26%
зависит от rollbackFor
36%
UnexpectedRollbackException, откат всего
Инвариант: сумма двух счетов ≥ 0. Две транзакции на REPEATABLE READ: каждая проверила сумму и списала со своего счёта. Обе закоммитились — сумма ушла в минус. Что за аномалия?
Anonymous Quiz
35%
lost update
31%
phantom read
18%
write skew
17%
dirty read
Ночной отчёт держит читающую транзакцию 3 часа. Таблица платежей распухла вдвое, хотя новых записей почти нет. Причина?
Anonymous Quiz
61%
VACUUM не может вычистить версии строк старше самой старой открытой транзакции
9%
фрагментация индексов
18%
переполнился WAL
12%
выключен autocommit на пуле
Kafka-продюсер платёжных событий: acks=all, retries>0, max.in.flight=5. Что добавить, чтобы retry не ломал порядок в партиции и не создавал дубли?
Anonymous Quiz
16%
acks=1, меньше подтверждений
7%
увеличить max.in.flight
75%
enable.idempotence=true
3%
compression.type=lz4
Босс. Объект Money опубликован другому потоку через обычное не-volatile поле — data race. Какие поля Money второй поток гарантированно увидит инициализированными?
Anonymous Quiz
19%
все, конструктор же отработал
16%
никакие, поведение не определено
52%
только final-поля
12%
только примитивные
🏦 Финтех-собес разбор: 5 вопросов
Вчера был квиз 😈 — сегодня раскладываем каждый вопрос так, чтобы больше на нём не валиться.
━━━━━━━━━━━━
1⃣ Пойманное исключение, которое всё равно откатило транзакцию 🪤
A @Transactional вызывает B @Transactional — оба REQUIRED, значит транзакция ОДНА: B просто присоединился. Когда B бросил RuntimeException, Spring пометил общую транзакцию rollback-only. Твой catch в A исключение поймал, но метку не снял — на выходе commit невозможен, летит UnexpectedRollbackException, откатывается всё.
✅ Нужен независимый кусок работы — B помечается REQUIRES_NEW: своя транзакция, свой коммит/откат.
━━━━━━━━━━━━━━
2⃣ Write skew — аномалия, которую путают с lost update ⚖️
Ключевое отличие: при lost update оба пишут В ОДНУ строку и одно обновление затирается. Здесь каждый писал в СВОЮ строку, и оба обновления сохранились — но проверка инварианта («сумма счетов ≥ 0») у каждого прошла по своему снапшоту, который не видел чужого списания. Каждый по отдельности прав, вместе — минус на счетах.
✅ REPEATABLE READ это не ловит. Лечение: SERIALIZABLE (база сама откатит одну из транзакций) или SELECT ... FOR UPDATE обеих строк — превращаем проверку в блокирующую.
━━━━━━━━━━━━━━
3⃣ Таблица распухает из-за чужого отчёта 🐘
MVCC: UPDATE и DELETE не трогают строку на месте, а создают новую версию. Старые версии вычищает VACUUM — но он не имеет права удалить версии, которые ещё видны хоть одной открытой транзакции. Трёхчасовой отчёт держит снапшот — и все версии моложе него копятся. Итог: bloat таблиц и индексов, деградация запросов.
✅ Поэтому правило банковских команд: читающие отчёты — вне долгих транзакций (или на реплике), пишущие транзакции — короткие.
━━━━━━━━━━━━━━
4⃣ Retry, который перемешивает платежи 🔀
acks=all защищает от потери, но не от повторов и перестановок: при retries>0 и max.in.flight=5 неудачный батч уходит повторно, пока следующие уже в полёте — брокер запишет их в другом порядке, а повтор создаст дубль.
✅ enable.idempotence=true чинит оба: продюсер получает ID и нумерует батчи, брокер отбрасывает дубли и не принимает батч вне очереди. Exactly-once на уровне партиции. Для платёжных событий — обязательный конфиг, его спрашивают дословно.
━━━━━━━━━━━━━━
5⃣ final как гарантия JMM, а не «нельзя переприсвоить» 🔒
При публикации объекта через data race (обычное поле, без volatile/synchronized) другой поток может увидеть ссылку раньше, чем «доедут» значения полей — объект есть, внутри мусор. Исключение — final-поля: JMM гарантирует, что записанное в них в конструкторе happens-before любого чтения после публикации. Одно условие: this не должен «утечь» наружу до конца конструктора.
✅ Поэтому Money(final amount, final currency) читается безопасно даже при гонке, а не-final поля — нет.
━━━━━━━━━━━━━━
Все пять — верхний ярус реальных банковских собесов 🏔
И это лишь верхушка: на этой неделе выйдет кое-что большое для тех, кто целится в банки и платёжки 👀
👉 Гайды — в @Java Jub Pro
Список всех материалов в Pro — ссылка
📋 БОЛЬШОЕ ОБНОВЛЕНИЕ JAVA JUB PRO в пятницу 10.07 — ссылка
tags: #разбор #финтех #java
📱 Java Jub
Вчера был квиз 😈 — сегодня раскладываем каждый вопрос так, чтобы больше на нём не валиться.
━━━━━━━━━━━━
A @Transactional вызывает B @Transactional — оба REQUIRED, значит транзакция ОДНА: B просто присоединился. Когда B бросил RuntimeException, Spring пометил общую транзакцию rollback-only. Твой catch в A исключение поймал, но метку не снял — на выходе commit невозможен, летит UnexpectedRollbackException, откатывается всё.
✅ Нужен независимый кусок работы — B помечается REQUIRES_NEW: своя транзакция, свой коммит/откат.
━━━━━━━━━━━━━━
Ключевое отличие: при lost update оба пишут В ОДНУ строку и одно обновление затирается. Здесь каждый писал в СВОЮ строку, и оба обновления сохранились — но проверка инварианта («сумма счетов ≥ 0») у каждого прошла по своему снапшоту, который не видел чужого списания. Каждый по отдельности прав, вместе — минус на счетах.
✅ REPEATABLE READ это не ловит. Лечение: SERIALIZABLE (база сама откатит одну из транзакций) или SELECT ... FOR UPDATE обеих строк — превращаем проверку в блокирующую.
━━━━━━━━━━━━━━
MVCC: UPDATE и DELETE не трогают строку на месте, а создают новую версию. Старые версии вычищает VACUUM — но он не имеет права удалить версии, которые ещё видны хоть одной открытой транзакции. Трёхчасовой отчёт держит снапшот — и все версии моложе него копятся. Итог: bloat таблиц и индексов, деградация запросов.
✅ Поэтому правило банковских команд: читающие отчёты — вне долгих транзакций (или на реплике), пишущие транзакции — короткие.
━━━━━━━━━━━━━━
acks=all защищает от потери, но не от повторов и перестановок: при retries>0 и max.in.flight=5 неудачный батч уходит повторно, пока следующие уже в полёте — брокер запишет их в другом порядке, а повтор создаст дубль.
✅ enable.idempotence=true чинит оба: продюсер получает ID и нумерует батчи, брокер отбрасывает дубли и не принимает батч вне очереди. Exactly-once на уровне партиции. Для платёжных событий — обязательный конфиг, его спрашивают дословно.
━━━━━━━━━━━━━━
При публикации объекта через data race (обычное поле, без volatile/synchronized) другой поток может увидеть ссылку раньше, чем «доедут» значения полей — объект есть, внутри мусор. Исключение — final-поля: JMM гарантирует, что записанное в них в конструкторе happens-before любого чтения после публикации. Одно условие: this не должен «утечь» наружу до конца конструктора.
✅ Поэтому Money(final amount, final currency) читается безопасно даже при гонке, а не-final поля — нет.
━━━━━━━━━━━━━━
Все пять — верхний ярус реальных банковских собесов 🏔
И это лишь верхушка: на этой неделе выйдет кое-что большое для тех, кто целится в банки и платёжки 👀
👉 Гайды — в @Java Jub Pro
Список всех материалов в Pro — ссылка
📋 БОЛЬШОЕ ОБНОВЛЕНИЕ JAVA JUB PRO в пятницу 10.07 — ссылка
tags: #разбор #финтех #java
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥4
🔥 Middle Java-разработчик · Nord Clan
📍 Ульяновск / СПб · офис / гибрид / удалёнка на выбор
👨💻 Грейд: Middle (3–6 лет)
🆕 Свежая вакансия от 4 июля 2026
О компании
Nord Clan — разработка ПО на заказ: высоконагруженные интеграционные проекты для финтеха, производства и медицины. ТОП-3 рынка ИИ России (рейтинг Рунета, 2025). Собственный продукт ML Sense — платформа машинного зрения и нейросетей, лучшее отраслевое решение для промышленности (конкурс «Лидеры цифровизации», 2025). Клиенты: Wildberries, Яндекс, Росатом, HeadHunter, СберТех, Северсталь, Инвитро, ЦИАН, Банки.ру, Dostaевский.
💰 Зарплата
В вакансии не указана.
Ориентир по рынку для Middle Java (ТОП-3 ИИ, регионы): 200 000 – 300 000 ₽ на руки.
🛠 Стек
Java 11–21 (Core, Collections, Concurrency, CompletableFuture), Spring Boot (Auto-config, Starters, Actuator, Profiles), Spring Security (OAuth2, OIDC), Spring Data JPA / Hibernate (Criteria API), Spring Web (MVC + WebFlux), PostgreSQL / MSSQL / Oracle, KeyCloak, Docker, Kubernetes, CI/CD, Kafka / RabbitMQ, NoSQL, Maven / Gradle, JUnit / Mockito / WireMock. Плюсом: Camunda.
✅ Ждут
Опыт от 3 лет, высшее образование, глубокое знание Java Core + JVM (GC, JIT, classloading, memory model), полный Spring-стек на уровне конфигурирования и расширения, KeyCloak, Docker + K8s, брокеры сообщений, тесты. Ищут не кодера, а инженера — погружение в продуктовые проблемы, участие в архитектурных решениях.
🎁 Бонусы
Белая ЗП по ТК РФ, аккредитация МинЦифры (IT-ипотека, отсрочка), гибкое начало дня (8:00–11:00), безлимитный бар (кофе, чай, фрукты), корпоративы, квизы, ЧГК, страйкбол, выезды за город, менторство, доклады и митапы, блоги на Хабр и VC, конференции, бонусы от партнёров.
💡 При отклике оставьте ник в Telegram — HR свяжется быстрее.
🔗 Откликнуться: hh.ru/vacancy/134851316
tags: #вакансия #java #middle #nordclan #ульяновск #спб #удаленка #highload
📱 Java Jub
📍 Ульяновск / СПб · офис / гибрид / удалёнка на выбор
👨💻 Грейд: Middle (3–6 лет)
🆕 Свежая вакансия от 4 июля 2026
О компании
Nord Clan — разработка ПО на заказ: высоконагруженные интеграционные проекты для финтеха, производства и медицины. ТОП-3 рынка ИИ России (рейтинг Рунета, 2025). Собственный продукт ML Sense — платформа машинного зрения и нейросетей, лучшее отраслевое решение для промышленности (конкурс «Лидеры цифровизации», 2025). Клиенты: Wildberries, Яндекс, Росатом, HeadHunter, СберТех, Северсталь, Инвитро, ЦИАН, Банки.ру, Dostaевский.
💰 Зарплата
В вакансии не указана.
Ориентир по рынку для Middle Java (ТОП-3 ИИ, регионы): 200 000 – 300 000 ₽ на руки.
🛠 Стек
Java 11–21 (Core, Collections, Concurrency, CompletableFuture), Spring Boot (Auto-config, Starters, Actuator, Profiles), Spring Security (OAuth2, OIDC), Spring Data JPA / Hibernate (Criteria API), Spring Web (MVC + WebFlux), PostgreSQL / MSSQL / Oracle, KeyCloak, Docker, Kubernetes, CI/CD, Kafka / RabbitMQ, NoSQL, Maven / Gradle, JUnit / Mockito / WireMock. Плюсом: Camunda.
✅ Ждут
Опыт от 3 лет, высшее образование, глубокое знание Java Core + JVM (GC, JIT, classloading, memory model), полный Spring-стек на уровне конфигурирования и расширения, KeyCloak, Docker + K8s, брокеры сообщений, тесты. Ищут не кодера, а инженера — погружение в продуктовые проблемы, участие в архитектурных решениях.
🎁 Бонусы
Белая ЗП по ТК РФ, аккредитация МинЦифры (IT-ипотека, отсрочка), гибкое начало дня (8:00–11:00), безлимитный бар (кофе, чай, фрукты), корпоративы, квизы, ЧГК, страйкбол, выезды за город, менторство, доклады и митапы, блоги на Хабр и VC, конференции, бонусы от партнёров.
💡 При отклике оставьте ник в Telegram — HR свяжется быстрее.
🔗 Откликнуться: hh.ru/vacancy/134851316
tags: #вакансия #java #middle #nordclan #ульяновск #спб #удаленка #highload
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🎯 Гайд: Middle Java · Nord Clan
Свежая вакансия (Ульяновск / СПб, от 4 июля) — собрали гайд точно под её стек: интеграции, финтех, машинное зрение.
У нас уже публиковался гайд по Nord Clan.
🆕В текущем гайде мы добавили новые вопросы, которые получили за предыдущий месяц.
📄 Что внутри:
➡️ 211 вопросов с подробными ответами под Middle
➡️ 59 страниц · 24 тематических раздела
➡️ 10 практических задач:
➖ 6 Java live-coding
➖ 4 SQL
➡️ Code Review — чек-лист на 12 замечаний + архитектурные кейсы
🔥 Редкие темы, которых нет в типовых гайдах: три СУБД разом (PostgreSQL · MSSQL · Oracle), OAuth2/OIDC/KeyCloak, WireMock, Camunda и отдельная секция про интеграцию с ML
➡️ 5 pet-проектов + финальный чек-лист на 22 пункта
Никаких «топ-100 вопросов из интернета», только под конкретную вакансию.
👉 Полный гайд — в @Java Jub Pro
Список всех материалов (гайдов) в Pro — ссылка
━━━━━━━━━━━━━━
📝 Гайд на заказ — (ссылка)
⚠️ Один пройденный собес окупит подписку десятки раз
🎯 5 подтверждённых случаев оффера благодаря нашим гайдам (ссылка)
━━━━━━━━━━━━━━
📥 Забрать гайд:
https://t.me/java_jub_pro_guides_bot?start=guide_32
━━━━━━━━━━━━━━━━
📋 БОЛЬШОЕ ОБНОВЛЕНИЕ JAVA JUB PRO уже в эту пятницу 10.07, осталось 4 дня — ссылка
tags: #java #собеседование #middle_guide #nordclan #ульяновск #спб #удаленка #highload
📱 Java Jub
Свежая вакансия (Ульяновск / СПб, от 4 июля) — собрали гайд точно под её стек: интеграции, финтех, машинное зрение.
У нас уже публиковался гайд по Nord Clan.
🆕В текущем гайде мы добавили новые вопросы, которые получили за предыдущий месяц.
📄 Что внутри:
🔥 Редкие темы, которых нет в типовых гайдах: три СУБД разом (PostgreSQL · MSSQL · Oracle), OAuth2/OIDC/KeyCloak, WireMock, Camunda и отдельная секция про интеграцию с ML
Никаких «топ-100 вопросов из интернета», только под конкретную вакансию.
👉 Полный гайд — в @Java Jub Pro
Список всех материалов (гайдов) в Pro — ссылка
━━━━━━━━━━━━━━
⚠️ Один пройденный собес окупит подписку десятки раз
🎯 5 подтверждённых случаев оффера благодаря нашим гайдам (ссылка)
━━━━━━━━━━━━━━
📥 Забрать гайд:
https://t.me/java_jub_pro_guides_bot?start=guide_32
━━━━━━━━━━━━━━━━
📋 БОЛЬШОЕ ОБНОВЛЕНИЕ JAVA JUB PRO уже в эту пятницу 10.07, осталось 4 дня — ссылка
tags: #java #собеседование #middle_guide #nordclan #ульяновск #спб #удаленка #highload
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3
Java Jub (Job)
🎯 Гайд: Middle+ Java · Яндекс (Monium) Собес в Яндексе — это 2-3 алгосекции + System Design, и ~60% результата решают алгоритмы. Гайд собран ровно под эту воронку. 📄 Что внутри: ➡️ 70 страниц · 24 раздела ➡️ 257 вопросов с развёрнутыми ответами — понятно…
⚡️ Пока были новости — легко было пропустить
А зря. На неделе вышел гайд по Яндексу — и это самый алгоритмический гайд за всё время.
━━━━━━━━━━━━━━━━
Алгоритмы, которые реально спрашивают на собесах в Яндекс — и разбор решений к каждому.
Если готовишься в Яндекс и боишься именно алгосекции — этот гайд закрывает её полностью.
━━━━━━━━━━━━━━━━
📦 Уже в @Java Jub Pro
📋 БОЛЬШОЕ ОБНОВЛЕНИЕ JAVA JUB PRO уже в эту пятницу 10.07, осталось 4 дня — ссылка
📱 Java Jub
А зря. На неделе вышел гайд по Яндексу — и это самый алгоритмический гайд за всё время.
━━━━━━━━━━━━━━━━
Алгоритмы, которые реально спрашивают на собесах в Яндекс — и разбор решений к каждому.
Если готовишься в Яндекс и боишься именно алгосекции — этот гайд закрывает её полностью.
━━━━━━━━━━━━━━━━
📦 Уже в @Java Jub Pro
📋 БОЛЬШОЕ ОБНОВЛЕНИЕ JAVA JUB PRO уже в эту пятницу 10.07, осталось 4 дня — ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5