4842. Внешний API ограничивает 10 запросов в секунду. Ваше приложение шлёт 50 запросов в секунду и получает ошибки 429. Какая техника защиты должна быть реализована на стороне клиента?
Anonymous Quiz
9%
Увеличить таймаут соединения
84%
Внедрить token bucket или leaky bucket на клиенте, ограничивая исходящий поток
6%
Увеличить количество потоков
2%
Перестать использовать API
Это алгоритм, который контролирует скорость отправки запросов:
Корзина с токенами (например, 10 токенов).
Каждый запрос забирает 1 токен.
Корзина пополняется с заданной скоростью (например, 1 токен в 0.1 секунды).
Если токенов нет, запрос задерживается или отклоняется.
Leaky bucket — аналогичен, но ограничивает не пиковую скорость, а среднюю.
Почему это должен делать клиент?
Если клиент превышает лимиты API, он получит HTTP 429 («Too Many Requests») и может быть заблокирован. Клиент сам должен ограничивать свою нагрузку, чтобы не перегружать внешний сервис и не терять запросы.
Реальный пример
Twitter API ограничивает 300 запросов на 15 минут. Клиентские библиотеки (например, Tweepy) содержат встроенный token bucket. Без него приложение поймает 429 и упадёт.
Что должен зафиксировать аналитик
Требование: «На стороне клиента реализовать ограничение частоты запросов в соответствии со спецификацией API (token bucket)».
Параметры: максимальная скорость, размер корзины, стратегия при переполнении (блокировка, очередь).
Обработка ошибок 429: увеличение задержки (exponential backoff).
Вывод: Rate limiting — обязанность не только провайдера API, но и клиента. Аналитик должен включать это требование в спецификации интеграций.
Please open Telegram to view this post
VIEW IN TELEGRAM
4843. Заказчик: «Система должна импортировать Excel-файл». Аналитик передал задачу разработчику. Импорт сломался из-за файла в 2 ГБ. Что аналитик упустил?
Anonymous Quiz
1%
Проверку формата файла
97%
Брейкдаун на нефункциональные требования: максимальный размер, скорость, формат, обработка ошибок
1%
Согласование с администратором
1%
Проверку антивирусом
❤2
Максимальный размер файла: 1 МБ или 2 ГБ? Это влияет на потоковую обработку (chunked) vs загрузка в память.
Форматы:
.xlsx.xls.csvСкорость: импорт за 5 секунд или 5 минут?
Обработка ошибок: при неверной строке — откат всего импорта или пропуск с логом?
Многопоточность: можно ли обрабатывать несколько файлов параллельно?
Реальный кейс: Один аналитик не спросил про размер, разработчик загружал файл целиком в память. При 500 МБ сервер упал с OOM. Переделали на потоковый импорт.
Вывод: Любое общее требование должно быть разбито на проверяемые компоненты. Это ключевая техника системного анализа.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
4844. Внешний сервис может присылать уведомления о событиях не мгновенно, а с задержкой до 5 минут. Какой способ получения событий обеспечит минимальную задержку?
Anonymous Quiz
5%
Polling каждую секунду
71%
Webhook (callback)
24%
Очередь сообщений с периодическим чтением
0%
Email-уведомления
Реальный пример: Платёжные системы (Stripe, PayPal) используют webhook для оповещения о статусе платежа. Ваш сервер получает уведомление через секунды после оплаты, а не через минуты при polling.
Вывод: Если внешний сервис поддерживает webhook, это лучший вариант для получения событий в реальном времени. Аналитик должен уметь сравнивать webhook и polling в требованиях к интеграции.
Please open Telegram to view this post
VIEW IN TELEGRAM
В мае стало очевидно: digital снова штормит. AI-выдача давит классический трафик, воронки проседают, и выигрывают не самые опытные — а самые быстрые.
В такой момент решает не количество информации, а её качество.
Мы собрали папку тех, кто уже адаптируется, работает с цифрами и делится тем, что реально даёт результат.
Без шума. Только практика.
Если ты в маркетинге / digital / IT — это способ не выпасть из рынка.
Сохранить папку себе 📨
В такой момент решает не количество информации, а её качество.
Мы собрали папку тех, кто уже адаптируется, работает с цифрами и делится тем, что реально даёт результат.
Без шума. Только практика.
Если ты в маркетинге / digital / IT — это способ не выпасть из рынка.
Сохранить папку себе 📨
4845. Проектируется каталог товаров, где у каждого товара разный набор атрибутов (телефоны: экран, память; книги: автор, издательство). Схема часто меняется. Какой тип БД предпочтителен?
Anonymous Quiz
24%
Реляционная с EAV (сущность-атрибут-значение)
62%
Документоориентированная NoSQL (MongoDB, Couchbase)
1%
Графовая БД
13%
Ключ-значение
Реальный пример: Интернет-магазины электроники используют MongoDB для каталога, чтобы легко добавлять новые характеристики (например, «наличие eSIM») без изменения схемы.
Вывод: Аналитик должен различать случаи: когда схема стабильна и известна — подходит SQL, когда схема часто меняется или вариативна — NoSQL.
Please open Telegram to view this post
VIEW IN TELEGRAM
4846. Заказчик говорит: «Система должна обрабатывать заказы очень быстро». Аналитик записывает это в требования. На приёмке заказчик недоволен, потому что заказ обрабатывается 2 секунды, а он ожидал 0.5 секунды. Что нужно было сделать аналитику?
Anonymous Quiz
0%
Передать требование архитектору
98%
Уточнить и зафиксировать цифры: время отклика, процентиль, объём данных
2%
Добавить в команду тестировщика производительности
0%
Попросить заказчика подождать следующей версии
«95% запросов на создание заказа должны выполняться не более 500 мс при нагрузке 1000 RPS».
Без цифр разработчик ориентируется на свой опыт, тестировщик не может проверить, а на приёмке начинаются споры. Хороший аналитик задаёт уточняющие вопросы:
Какое максимальное время допустимо?
Какой процент запросов должен укладываться в это время (процентиль)?
При какой нагрузке?
Реальный кейс: В одном проекте «быстрая выгрузка отчёта» означала для заказчика 10 секунд, а разработчик сделал 2 минуты (думая, что это быстро). После внедрения конкретных цифр время сократили до 5 секунд, и заказчик принял работу.
Вывод: Любое расплывчатое требование о качестве (быстрота, надёжность, удобство) нужно превращать в числовые метрики. Это экономит часы споров и переделок.
Please open Telegram to view this post
VIEW IN TELEGRAM
4847. Ежедневная ETL-выгрузка из CRM в DWH иногда дублирует строки из-за того, что загрузка прерывается и перезапускается. Какой механизм нужно добавить, чтобы избежать дублей даже при перезапуске?
Anonymous Quiz
2%
Очищать таблицу перед каждой загрузкой
98%
Использовать идемпотентную вставку (UPSERT / MERGE) с уникальным ключом
0%
Сортировать строки перед вставкой
0%
Увеличить таймаут соединения
Вы ведь уже задумывались о заработке в Telegram…
Сохраняли посты.
Читали советы.
Откладывали «на потом».
И вроде бы интерес есть…
но до действий так и не доходит.
Мозг выбирает самое простое — ничего не делать👉 https://t.me/addlist/BHoA9CZmCi5lM2Yy
Чтобы разорвать этот круг, не нужно сразу «делать идеально».
Достаточно просто дать себе понятную точку входа.
Мы собрали папку, где уже есть база:
— как расти в Telegram
— как привлекать людей
— как выстраивать систему
— как приходить к доходу
Подпишись и просто начни с малого
https://t.me/addlist/BHoA9CZmCi5lM2Yy
Иногда самое сложное — это первый шаг.
Записывайся в подборку🫶
Сохраняли посты.
Читали советы.
Откладывали «на потом».
И вроде бы интерес есть…
но до действий так и не доходит.
Мозг выбирает самое простое — ничего не делать
Чтобы разорвать этот круг, не нужно сразу «делать идеально».
Достаточно просто дать себе понятную точку входа.
Мы собрали папку, где уже есть база:
— как расти в Telegram
— как привлекать людей
— как выстраивать систему
— как приходить к доходу
Подпишись и просто начни с малого
https://t.me/addlist/BHoA9CZmCi5lM2Yy
Иногда самое сложное — это первый шаг.
Записывайся в подборку
Please open Telegram to view this post
VIEW IN TELEGRAM
Решение – использовать
MERGEINSERT ... ON CONFLICT DO UPDATEREPLACEorder_id + line_idПример кода:
sql
INSERT INTO dwh_orders (order_id, amount, loaded_at)
VALUES (123, 1000, NOW())
ON CONFLICT (order_id) DO UPDATE SET
amount = EXCLUDED.amount,
loaded_at = EXCLUDED.loaded_at;
Почему это важно для аналитика?
В требованиях к интеграции данных нужно явно указывать: «Загрузка должна быть идемпотентной. Повторный запуск того же пакета не должен порождать дубликатов». Без этого после каждого сбоя оператору придётся вручную чистить таблицу.
Реальный кейс: В крупном ретейлере из-за отсутствия идемпотентности при ночном сбое накопилось 15% дублей заказов. Отчётность встала на неделю.
Please open Telegram to view this post
VIEW IN TELEGRAM
4848. Заказчик говорит: «Личный кабинет должен открываться за 2 секунды». Это функциональное или нефункциональное требование? Почему?
Anonymous Quiz
3%
Функциональное, так как относится к конкретному экрану
97%
Нефункциональное (требование к производительности), так как описывает атрибут качества—время отклика
0%
Функциональное, так как можно написать тест-кейс
0%
Не относится ни к тем, ни к другим