Техническое собеседование. Лето 2024. Вилка: 300-350к. Опыт в резюме: 4+ года. В конце собеседования были задачи на структуры данных, оптимизацию запросов и работу с БД.
Вопросы:
- Как логировать время выполнения методов в бинах Spring унифицированно?
- Как централизованно обрабатывать исключения в REST-контроллерах?
- Как работает @Transactional и что происходит, если метод без аннотации вызывает метод с аннотацией?
- Как спроектировать доступ к балансам пользователей из разных потоков, чтобы операции были консистентны?
Все вопросы можно посмотреть на нашей платформе
#собес #коллеции
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1👍1
#Собес #kubernetes
🤔 Что такое CNI (Container Networking Interface) в Kubernetes?
💬 Кратко:
CNI - это спецификация, определяющая стандартный интерфейс для подключения сетевых плагинов в Kubernetes. Она позволяет расширять сетевые возможности кластера, добавляя такие решения, как Calico, Flannel и Cilium.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
CNI - это спецификация, определяющая стандартный интерфейс для подключения сетевых плагинов в Kubernetes. Она позволяет расширять сетевые возможности кластера, добавляя такие решения, как Calico, Flannel и Cilium.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
#статьи
❤️🔥 Вредные советы Java
Автор показывает соблазн простого распараллеливания задач на Java через
Однако такой подход использует
(
Если в процессе одна из задач выбрасывает
даже после возврата ошибки.
Параллельные стримы группируют задачи по частям коллекции, и минимальной единицей
может быть блок из нескольких элементов, это может привести к «неравномерной» нагрузке и даже ухудшению производительности по сравнению с ручным управлением через
Блокирующие операции внутри задач могут полностью "забить"
Читать подробнее<...>
👉 Новости 👉 База вопросов
Автор показывает соблазн простого распараллеливания задач на Java через
Stream API
и .parallel()
вместо явных ExecutorService
, Future
, invokeAll
и ручной обработки InterruptedException
Однако такой подход использует
common ForkJoinPool
, и его поведение не всегда предсказуемо, результаты могут отличаться между запусками, особенно при исключениях в задачах (
callsCounter
может сильно варьироваться)Если в процессе одна из задач выбрасывает
Exception
, выполнение остальных может продолжаться даже после возврата ошибки.
Параллельные стримы группируют задачи по частям коллекции, и минимальной единицей
может быть блок из нескольких элементов, это может привести к «неравномерной» нагрузке и даже ухудшению производительности по сравнению с ручным управлением через
ExecutorService
. Блокирующие операции внутри задач могут полностью "забить"
common ForkJoinPool
, что повлияет и на выполнение CompletableFuture.thenApplyAsync()
, если вы не указали свой Executor
Читать подробнее<...>
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#Собес #kubernetes
🤔 Что такое Pod Network в Kubernetes?
💬 Кратко:
Pod Network - это виртуальная сеть, которая соединяет Pod-ы внутри кластера. Она позволяет Pod-ам взаимодействовать друг с другом без необходимости ручной настройки маршрутизации.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Pod Network - это виртуальная сеть, которая соединяет Pod-ы внутри кластера. Она позволяет Pod-ам взаимодействовать друг с другом без необходимости ручной настройки маршрутизации.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🏠 Совет по Java: используйте
✅
Но, он не потокобезопасен (используйте
👉 Новости 👉 База вопросов
HashMap
как реализацию Map
, когда нужна максимальная производительность общего назначения.HashMap
внутри реализован как хеш-таблица, и в среднем операции put(), get()
и remove()
работают за O(1).Но, он не потокобезопасен (используйте
ConcurrentHashMap
, если нужна потокобезопасность).Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
#полезное
🏕 Ссылки на методы и функциональные интерфейсы:
Познакомься с ссылками на методы — более чистым и умным способом передавать поведение в современной Java.
В связке с функциональными интерфейсами они позволяют писать лаконичный, читаемый и элегантный код без потери типобезопасности и выразительности.
👉 Новости 👉 База вопросов
Познакомься с ссылками на методы — более чистым и умным способом передавать поведение в современной Java.
В связке с функциональными интерфейсами они позволяют писать лаконичный, читаемый и элегантный код без потери типобезопасности и выразительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
#Собес #kubernetes
🤔 Что такое DNS в Kubernetes?
💬 Кратко:
Kubernetes DNS - это встроенный сервис, который автоматически назначает DNS-имена сервисам и Pod-ам в кластере. Он позволяет приложениям находить друг друга по доменным именам, а не по IP-адресам.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Kubernetes DNS - это встроенный сервис, который автоматически назначает DNS-имена сервисам и Pod-ам в кластере. Он позволяет приложениям находить друг друга по доменным именам, а не по IP-адресам.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
#полезное
🥄 Телеграфируем кодом Морзе через Java Stream API
Как с помощью Java Stream API реализовать кодирование и декодирование текста в азбуке Морзе. Объясняется история азбуки Морзе, принципы её работы и показано практическое применение функционального программирования в Java для преобразования текста в Морзе и обратно. Приятного изучения
Читать гайд
👉 Новости 👉 База вопросов
Как с помощью Java Stream API реализовать кодирование и декодирование текста в азбуке Морзе. Объясняется история азбуки Морзе, принципы её работы и показано практическое применение функционального программирования в Java для преобразования текста в Морзе и обратно. Приятного изучения
Читать гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Техническое собеседование. Зима 2025. Просил 250к+. Проект: несколько команд на выбор - обработка транзакций на зачисление и списание. Опыт в резюме 3 года. Сначала были вопросы по текущему месту работы: стек, архитектура, что за проект.
Вопросы:
- В чём разница между git rebase и git merge?
- Как протестировать сервис, который обращается к базе и внешним системам?
- Какие фреймворки используются для тестирования на Java?
- Как сделать кОллекцию потокобезопасной?
Все вопросы можно посмотреть на нашей платформе
#собес #коллеции
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#Собес #git
🤔 Что такое команды git reset -mixed и git merge - abort?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
git reset --mixed
: отменяет изменения, которые были добавлены в индекс, но сохраняет изменения в рабочем каталоге.git merge --abort
: отменяет слияние, которое в данный момент находится в процессе, и возвращает репозиторий в состояние до начала слияния.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Вкратце как работает аутентификация через куки, сессии, токены, JWT, SSO и OAuth2
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Media is too big
VIEW IN TELEGRAM
#полезное
😊 Научись создавать проекты с нуля на любом языке программирования
Репо: https://github.com/practical-tutorials/project-based-learning
👉 Новости 👉 База вопросов
Репо: https://github.com/practical-tutorials/project-based-learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #git
🤔 Как вы находите коммит, который что-то нарушил после операции слияния?
💬 Кратко:
Для поиска коммита, который нарушил код после слияния, можно использовать команду git bisect . Этот инструмент помогает найти коммит, который вызывает проблему, путем бинарного поиска.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Для поиска коммита, который нарушил код после слияния, можно использовать команду git bisect . Этот инструмент помогает найти коммит, который вызывает проблему, путем бинарного поиска.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😎 Ресурс для разработчиков, чтобы создавать изометрические диаграммы своей инфраструктуры или софта.
Open-source: https://github.com/stan-smith/FossFLOW
👉 Новости 👉 База вопросов
Open-source: https://github.com/stan-smith/FossFLOW
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Первая статья из серии, где показывается как примеры AI-агентов из популярных Python-фреймворков можно переписать на Java и сделать гораздо лучше с помощью Embabel
Сегодняшняя цель CrewAI — читать
👉 Новости 👉 База вопросов
Сегодняшняя цель CrewAI — читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Второй пост в блоге показывает, как примеры AI-агентов из популярных Python-фреймворков можно переписать на Java и сделать лучше с помощью Embabel.
Сегодня в фокусе: Pydantic AI — читать
👉 Новости 👉 База вопросов
Сегодня в фокусе: Pydantic AI — читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Техническое собеседование. Зима 2025. Просил 250к+. Проект: биллинг (сбор информации по поставщикам). Опыт в резюме: 3 года. Сначала было много вопросов об опыте, стеке, тестах, "почему уходишь с текущего места работы?" и т.д. Был лайкводинг.
Вопросы:
- Зачем нужен Spring Framework?
- Как реализовать базовое приложение на Spring Boot?
- Что такое чистый и поддерживаемый код?
- Есть ли разница между SELECT* и перечислением полей?
Все вопросы можно посмотреть на нашей платформе
#собес #коллекции
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #git
🤔 Что такое команда git cherry-pick?
💬 Кратко:
Команда
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Команда
git cherry-pick
позволяет выбрать и применить отдельный коммит из другой ветки в вашу текущую ветку, минуя другие изменения, которые были сделаны в той же ветке. Это полезно, когда вам нужно перенести только один коммит, а не весь набор изменений.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
image_2025-08-22_08-09-28.png
587.6 KB
#полезное
😐 Наткнулся на такой пост от сеньора, про предварительные условия для System Design:
👉 Новости 👉 База вопросов
1. Понимание цели
Разберись, что именно ты строишь, кто будет пользоваться и для чего это нужно.
2. Профиль трафика (read-heavy vs write-heavy)
Если система в основном читает (много пользователей просматривают данные), делай упор на кэширование, индексацию, реплики для чтения. Пример: каталог Netflix, карточки товаров Amazon.
Если в основном пишут (много аплоадов, входящих данных), подойдут очереди, пакетная запись, eventual consistency. Пример: сообщения WhatsApp, данные IoT-датчиков.
3. Консистентность vs доступность
Строгая консистентность нужна там, где ошибка недопустима (банки, бронирование).
Eventual consistency подходит там, где можно жить с устаревшими данными (Instagram, аналитика).
4. Требования к задержке
Реалтайм — оптимизация под низкую задержку через кэш или предвычисления. Примеры: гейминг, Zoom, подтверждение платежей.
Асинхронно — очередь и фоновые воркеры. Примеры: e-mail рассылка, генерация отчётов.
5. Масштабируемость
Закладывай рост ×10. Пример: Google Docs начинался маленьким, но сейчас обрабатывает миллионы правок одновременно. Uber — тысячи поездок в минуту. Используй stateless-сервисы и горизонтальное масштабирование.
6. Паттерны доступа
Оптимизируй под то, какие данные и как часто читаются: поиск по гео/локации (geo-hash + ElasticSearch), быстрый доступ к часто используемым ID (Redis/Memcached).
7. Рост данных и партиционирование
Продумывай шардинг заранее (по пользователю, времени, гео). Пример: комментарии YouTube шардуются по ID видео.
Холодные данные сжимай или архивируй (Gmail, Google Drive).
8. Обработка отказов
Используй ретраи, фоллбэки, circuit breakers.
Если API падает по таймауту → повтор + настройка таймаута (пример: Amazon payment retry).
Если кэш недоступен → фоллбэк в БД (пример: Reddit загружает комментарии из БД).
9. Безопасность и авторизация
Авторизация: OAuth / JWT (пример: логин через Google или Spotify).
Защита от абузов и ботов: rate limiting, CAPTCHA (пример: Gmail signup, формы).
10. Нужно ли писать всё самому?
Некритичные фичи лучше вынести в SaaS или сторонние API:
Платежи — Stripe, PayPal.
Хранение медиа — Cloudinary, S3.
Уведомления — Firebase, SendGrid.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1