В этой подборке вопросы сгруппированы по формату «Поведенческие вопросы», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, database, async.
определяю, где находится первоисточник проблемы — в документации или в коде сверяю требования с владельцем продукта либо заказчиком разбираю выявленные несоответствия вместе с командой разработки после согласования…
Опыт диагностики утечек памяти и действия при критическом расходе RAM профилирование памяти: использую инструменты профилирования (Valgrind, perf, VisualVM, Memory Profiler) анализ дампов: изучаю heap snapshot и…
Кэш представляет собой хранилище промежуточных данных, которое ускоряет доступ к информации Инвалидация необходима для поддержания согласованности данных Основные стратегии инвалидации: TTL (время жизни):…
Обработка ошибок и отказоустойчивость при взаимодействии сервисов для временных сбоев применяем паттерны повторных попыток (retry) с backoff circuit breaker изолирует неисправный сервис и не допускает каскадного…
Как обеспечивать потокобезопасность в приложениях? синхронизация критических секций с помощью мьютексов и семафоров применение атомарных операций и lock-free структур данных для сохранения высокой производительности…
Что представляет собой паттерн Singleton? Это паттерн проектирования, относящийся к группе порождающих Он гарантирует наличие единственного экземпляра класса в приложении И предоставляет глобальную точку доступа к…
Принципы SOLID: SRP, OCP, LSP, ISP и DIP с практическими примерами SOLID — пять принципов, которые помогают проектировать качественный объектно-ориентированный код SRP (Single Responsibility Principle): у класса…
Начинаю с анализа логов и профилировщика, включая EXPLAIN, чтобы определить причину задержек Для связанных объектов выбираю жадную загрузку (eager loading), а не ленивую Для сложных случаев использую нативный SQL или…
TDD — методика разработки через тесты Сначала создаются юнит-тесты, затем реализуется код Практика повышает качество и предсказуемость изменений Ошибки обнаруживаются на ранних этапах разработки Есть опыт внедрения…
Переход на микросервисы: анализ и последовательность внедрения Анализ: оценка действующей монолитной архитектуры, поиск узких мест и компонентов с самостоятельной бизнес-логикой Декомпозиция: выделение автономных…
Планируете ли вы применять очереди для тестирования? подключение RabbitMQ для проведения энд-ту-энд тестов воспроизведение продакшн-сценариев с помощью асинхронного трафика контроль обработки сообщений,…
поддержание согласованности кэша и БД — одна из основных задач систем, использующих кеширование часто применяют подход write-through: данные сначала записываются в кэш, а затем — в БД при использовании write-back…