Подборка объединяет вопросы, отмеченные на этапах интервью в Т-Банк. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, api.
изучить план выполнения с помощью EXPLAIN/EXPLAIN ANALYZE найти узкие места: сканирование таблиц и отсутствие индексов проверить и создать индексы для часто используемых колонок переписать запрос: упростить JOIN и по…
Профилирование запроса и поиск узких мест Индексация авторского поля: создание индекса по имени Кэширование результатов часто выполняемых запросов Вертикальное или горизонтальное масштабирование БД Переход на…
Как устранить проблему N+1 для связанных сущностей? Проблема N+1: вместо одного выполняется множество запросов Причина: отложенная (lazy) загрузка связанных данных Базовое решение: жадная загрузка (eager loading)…
Как устранить проблемы "волшебных чисел"? область разработки и качество кода "волшебные числа" — необъяснимые статические константы, напрямую записанные в коде усложняют чтение и сопровождение программы создают риск…
Как устроен CountDownLatch? синхронизатор из Java concurrency создаётся с начальным счётчиком метод await() приостанавливает поток, пока счётчик не станет равен 0 метод countDown() уменьшает значение счётчика на 1…
Как работает CAS внутри Atomic-классов CAS — это низкоуровневый механизм атомарного обновления значения в памяти Он сопоставляет текущее значение с ожидаемым (compare) При совпадении значение заменяется новым (swap)…
Хранение weak-ссылок в массиве, например на UIViewControllers context: iOS/Swift, память и ARC стандартные коллекции не хранят weak-ссылки напрямую, поскольку для них требуется специальный тип-обертка слабую ссылку…
Наиболее важные статус-коды для тестировщиков HTTP-протокол и взаимодействие между клиентом и сервером 200 OK — запрос выполнен успешно 201 Created — ресурс был создан 204 No Content — операция завершена успешно, но…
REST представляет собой архитектурный стиль построения API. К основным HTTP-методам относятся: GET — получение ресурсов POST — создание ресурсов PUT — полная замена ресурса PATCH — частичное изменение ресурса DELETE —…
Какие HTTP-методы используются помимо GET, PUT, POST и PATCH DELETE — удаляет ресурс HEAD — возвращает заголовки без тела ответа OPTIONS — сообщает о поддерживаемых методах TRACE — выполняет диагностический цикл…
Наиболее распространённые HTTP-статусы при тестировании API 200: запрос выполнен успешно, ответ содержит данные 201: ресурс создан в результате POST-запроса 204: операция завершилась успешно, но тело ответа…
Какие брокеры сообщений существуют и чем они отличаются? брокер сообщений — инфраструктурный сервис, предназначенный для асинхронного обмена данными между приложениями Apache Kafka: распределенная система с высокой…