HTTPS — это расширение HTTP, в котором применяется шифрование с использованием TLS/SSL передача защищается посредством симметричного шифрования, например AES или ChaCha20 подлинность сервера подтверждается…
Основой HTTP/3 служит протокол QUIC QUIC работает поверх UDP, а не TCP UDP помогает добиться низкой задержки, поскольку для него не требуется устанавливать соединение Контроль потока и исправление ошибок QUIC…
Зачем подгружать ресурсы с сервера? для повышения эффективности загрузки веб-приложения чтобы облегчить начальную страницу и ускорить запуск для уменьшения размера первого запроса и времени отклика чтобы получать…
Назначение и разновидности заголовков в REST-запросах HTTP-заголовки служат для передачи метаданных между клиентом и сервером С их помощью задаются формат данных и параметры авторизации: Content-Type, Accept,…
Различия Kafka и RabbitMQ в гарантированной доставке сообщений Kafka представляет собой распределённый commit log, в котором сообщения хранятся постоянно Данные попадают в топики, разделённые на partitions, благодаря…
Как в Go обрабатываются ошибки и паники? ошибка представляется как значение через интерфейс error после вызова функции выполняется явная проверка (if err != nil) паника возникает при критических ошибках, например при…
Защита приложения от MITM сетевой контекст и безопасность передачи данных шифрование каналов с помощью TLS/SSL проверка сертификатов (PKI) с использованием pinning принудительное применение HTTPS через HSTS контроль…
Как имитировать плохое интернет-соединение на реальном устройстве? тестирование сетевого подключения, мобильные и реальные устройства применять встроенные системные инструменты: Android Profiler и Network Link…
Как определить индексы, необходимые для оптимизации? Анализирую нагрузку: начинаю с наиболее часто выполняемых запросов и изучаю их планы выполнения с помощью EXPLAIN/ANALYZE Выявляю столбцы, используемые для…
Как настроить периодическое сетевое обновление для четырёх ViewModel с интервалом в 5 секунд? Контекст: Android/MVVM, многопоточное программирование, RxJava/Coroutines Вместо отдельных таймеров для каждой VM следует…
Область: отказоустойчивость, устойчивость системы и интеграция email Организовать циклические попытки с заранее установленным максимальным числом повторов Использовать экспоненциальный бэкофф, постепенно увеличивая…
Как проверять асинхронный код? Ожидать завершения асинхронных операций с помощью await, callbacks или promises. Изолировать сетевые обращения, применяя моки и стабы. Проверять последовательные состояния: запуск,…