JuniorDevOps Engineer > Контейнеры и доставка > Сети Docker
Короткий ответ bridge (режим по умолчанию) создаёт изолированную виртуальную сеть с NAT на хост; host отключает сетевую изоляцию, и контейнер напрямую использует сетевой стек хоста; none отключает сеть вовсе, кроме локального loopback-интерфейса. Как это работает подробнее bridge создаёт виртуальный сетевой мост на хосте, к которому подключаются контейнеры, получая собственный IP во внутренней подсети; доступ снаружи требует явной публикации портов (-p). host убирает сетевой namespace контейнера — он напрямую слушает порты хоста, без NAT и без изоляции портов от других процессов хоста. none не подключает контейнер ни к одному сетевому интерфейсу, кроме loopback — используется для процессов, которым сеть вовсе не нужна, либо для максимальной изоляции. Пример кода Что использовать на практике Практика. bridge — безопасный выбор по умолчанию для большинства сервисов; host иногда применяют там, где критична сетевая производительность или нужен доступ к сетевым интерфейсам хоста напрямую (с пониманием, что контейн
containersdocker
JuniorDevOps Engineer > Контейнеры и доставка > Надёжность и инцидент-менеджмент
Короткий ответ Базовый набор — это так называемые "четыре золотых сигнала": latency (задержка ответа), traffic (нагрузка/число запросов), errors (доля ошибок) и saturation (насыщение ресурсов — CPU, память, диск, очереди). Как это работает подробнее эти метрики вместе дают полную картину здоровья сервиса — рост latency при стабильном traffic может говорить о насыщении ресурсов, а рост errors при нормальном traffic — о проблеме в коде или зависимости. По отдельности каждая метрика может быть нормальной, но в совокупности выявлять начинающуюся проблему. Пример / кейс Ожидаемое поведение: при нормальной работе значение держится около нуля; рост до нескольких процентов должен вызвать алерт задолго до того, как доля ошибок станет заметна пользователям в виде массовых жалоб. Пример кода Что использовать на практике Практический подход. Метрики собирают с помощью систем мониторинга (например, Prometheus) и визуализируют на дашбордах с историческими трендами, чтобы отличать аномалию от обычных суточных/недельных коле
database-reliabilitygraceful-degradation
JuniorSMM Manager > Общее > Брендбук и Tone of Voice
Короткий ответ Минимальный набор: обращение к аудитории (ты/вы), уровень формальности, допустимость юмора и эмоций, список слов-табу и рекомендуемых слов, правила использования эмодзи, примеры «хорошо» и «плохо». Как это работает подробнее каждый пункт сокращает пространство выбора для автора текста, делая стиль предсказуемым и воспроизводимым разными людьми. Что использовать на практике Подход. гайдлайн проверяют на конкретных черновиках — если два разных копирайтера по одному гайдлайну пишут тексты, которые читаются «одним голосом», документ достаточно полный; если тексты сильно расходятся, не хватает примеров или правил. Пример. Чек-лист для нового автора перед первым постом: обращение — «ты»; эмодзи — максимум 2 на пост; табу-слова — «кликбейт», «срочно купи»; пример хорошего заголовка — «Как выбрать подарок, если совсем нет времени»; пример плохого — «СРОЧНО! Такого вы еще не видели!!!». Проверка — редактор сверяет черновик по этому списку перед публикацией. Подводные камни Ошибка. ограничиться общими сл
brand-guidelinesbrand-management
JuniorDevOps Engineer > Контейнеры и доставка > Мониторинг, логирование и observability
Короткий ответ Counter — монотонно растущий счётчик (например, число запросов), gauge — значение, которое может расти и падать (например, текущая память), histogram — распределение значений по заранее заданным бакетам (например, latency), summary — похож на histogram, но считает квантили на стороне клиента, а не на сервере. Как это работает подробнее counter увеличивается только вверх и может сбрасываться в 0 при перезапуске процесса — поэтому для него используют функции rate()/increase(), а не читают "сырое" значение напрямую. Gauge — это просто текущее число без накопления. Histogram хранит несколько counter'ов-бакетов (le="0.1", le="0.5" и т.д.) плюс _sum и _count, из которых на сервере можно посчитать квантиль через histogram_quantile(). Summary считает квантили внутри клиентской библиотеки и отдаёт уже готовые значения, но их нельзя агрегировать между инстансами. Пример кода Что использовать на практике Практика. для latency в production почти всегда выбирают histogram, а не summary, потому что histogram
metricsmonitoring
JuniorPython Developer > Основы Python > HTTP-семантика
Короткий ответ 1xx — информационные, 2xx — успех, 3xx — перенаправление, 4xx — ошибка клиента, 5xx — ошибка сервера. 401 означает, что клиент не прошёл аутентификацию (не предоставил или предоставил неверные учётные данные), 403 — что клиент аутентифицирован, но у него нет прав на действие. Как это работает подробнее статус-код — часть HTTP-ответа, которая говорит клиенту, как интерпретировать результат без парсинга тела. 401 Unauthorized по спецификации обязан сопровождаться заголовком WWW-Authenticate, указывающим, как авторизоваться. Пример кода Что использовать на практике Рекомендация. 401 возвращают, когда токен отсутствует, просрочен или некорректен; 403 — когда токен валиден, но роли/права не позволяют выполнить операцию (например, обычный пользователь пытается удалить чужой ресурс). Разделение важно для клиентов: при 401 стоит предложить повторный логин, при 403 — показать сообщение об отсутствии прав, а не предлагать перелогиниться. Подводные камни Риски. возвращать 401 вместо 403 (или наоборот), чт
authenticationauthorization
JuniorSMM Manager > Общее > SMM-аналитика и метрики
Короткий ответ Это лайки, комментарии, репосты/шеры, сохранения, а на некоторых площадках также клики по ссылке, ответы в Stories и реакции — набор конкретных действий зависит от платформы и её API. Как это работает подробнее каждая платформа (Instagram, VK, TikTok, Telegram) определяет свой набор «engagement»-действий в нативной статистике; обычно это как минимум реакции и комментарии, часто плюс репосты/сохранения. В отчёте по Instagram указано «Вовлечённость: 1200» — нужно уточнить в Insights, что именно туда вошло (лайки+комментарии+сохранения+шеры или только часть). Проверка: сравнить сумму отдельных метрик (лайки, комментарии, сохранения, шеры) с итоговым числом «engagement» в выгрузке. Что использовать на практике Практический подход. перед сравнением вовлечённости разных площадок нужно проверить, какие действия платформа включает в свою метрику «engagement», иначе сравнение будет некорректным — например, одна платформа может не учитывать сохранения так, как другая. Подводные камни Частые ошибки. счита
engagement-ratemetrics
JuniorData Analyst > SQL и данные > Python для анализа данных
Короткий ответ Пропуски заполняют через fillna() значением, статистикой (mean, median) или методом распространения соседних значений (ffill/bfill); выбор зависит от природы данных и причины пропуска. Как это работает подробнее fillna(value) подставляет заданное значение везде, где NaN; fillna(df['col'].median()) подставляет медиану столбца; ffill/bfill берут последнее известное или следующее значение, что уместно для временных рядов. Пример кода Что использовать на практике На практике: среднее подходит для симметричных распределений без сильных выбросов, медиана устойчивее к выбросам и асимметрии; константу (например, 0 или "unknown") используют, когда пропуск сам по себе содержателен (например, скидки не было); перед выбором метода стоит понять, почему значение отсутствует. Проверка: заполнение медианой даст более разумное значение (около 125), тогда как заполнение средним будет сильно искажено выбросом 90000. Подводные камни Частые ошибки: автоматически заполняют все числовые пропуски средним без проверки
fillnaimputation
JuniorSMM Manager > Общее > Репутация и кризис-коммуникации
Короткий ответ Удалению или скрытию подлежат спам, оскорбления, разжигание ненависти, чужие персональные данные и нарушения правил площадки; обычная критика продукта или сервиса без таких нарушений должна оставаться видимой. Как это работает подробнее у большинства площадок есть правила сообщества, и модерация должна опираться на эти правила, а не на то, нравится ли бренду комментарий. Под постом вымышленного бренда «КнижныйДвор» один комментарий — «Доставка опять задержалась на 3 дня, расстроена» (оставить, это обычная критика), другой — ссылка на сторонний сайт с розыгрышем призов от имени бренда (удалить как мошеннический спам). Проверка: наличие письменной политики модерации, по которой любой участник команды принял бы то же решение. Что использовать на практике Практический подход. нужна простая матрица «тип комментария → действие» (конкретный список зависит от политики бренда и правил площадки) и единый критерий применения для всех модераторов, чтобы не было избирательного удаления только неприятных отз
comment-moderationcommunity-management
SeniorPython Developer > Основы Python > Согласованность и репликация
Короткий ответ При сетевом партиционировании система должна выбрать между продолжением обслуживания запросов с риском несогласованных данных (AP) или отказом части запросов ради гарантии согласованности (CP) — выбор принимается для конкретной операции и бизнес-контекста, и разные операции одной системы могут выбирать по-разному. Как это работает подробнее CAP-теорема утверждает, что при реальном разрыве сети между узлами нельзя одновременно гарантировать полную согласованность и полную доступность для всех операций — нужно выбрать, какую ослабить именно в момент партиционирования. Выбор CP означает отказ обслуживания части запросов во время партиционирования, что бьёт по доступности, но исключает несогласованные данные; выбор AP сохраняет видимую доступность, но требует продуманного механизма разрешения конфликтов после восстановления связи, что само по себе источник сложности. Критерий выбора — для каждой конкретной операции нужно явно оценить, что хуже для бизнеса: отказ или несогласованность. Пример кода Ч
cap-theoremconsistency
SeniorData Analyst > SQL и данные > Статистика и теория вероятностей
Короткий ответ Разница разностей (DiD) сравнивает изменение метрики до/после между затронутой и незатронутой группой; синтетический контроль строит взвешенную комбинацию контрольных единиц, имитирующую поведение затронутой до вмешательства; инструментальные переменные используют внешний фактор, влияющий на причину, но не напрямую на следствие — каждый метод требует своих, зачастую непроверяемых напрямую допущений, и единственно верного выбора метода без рандомизации не существует. Как это работает подробнее DiD предполагает "параллельные тренды" — без вмешательства метрики затронутой и контрольной группы менялись бы одинаково; синтетический контроль ослабляет это требование, подбирая веса для комбинации нескольких контрольных единиц так, чтобы синтетическая копия хорошо повторяла предысторию затронутой единицы; инструментальные переменные решают проблему, когда есть подозрение на обратную причинность или скрытый конфаундер, но требуют переменной-инструмента, которая правдоподобно влияет на исход только через
causal-inferencedifference-in-differences