JuniorPerformance Marketer > Google Ads > Рекламные платформы и форматы
Короткий ответ В Meta Ads кампания задаёт цель, ad set определяет аудиторию, размещения, расписание и оптимизацию, а объявление содержит креатив и текст. Ad set нужен для настройки доставки и сравнения сегментов в рамках одной цели. Как это работает подробнее В кампании можно создать несколько ad set с разными аудиториями, сохраняя общую цель. Каждый набор получает собственные сигналы оптимизации, поэтому чрезмерное дробление бюджета замедляет накопление данных. Роль ad set. Он задаёт, кому и где показывать рекламу и какое событие оптимизировать. Обучение. Мелким наборам может не хватить объёма конверсий для стабильной доставки. Что использовать на практике Группируй аудитории по осмысленным гипотезам и выделяй каждой достаточно бюджета для обучения. Подводные камни Не создавай ad set для каждой микросегментации без причины: бюджет распыляется и сравнение становится ненадёжным.
ad-setaudience-targeting
MiddleDevOps Engineer > Контейнеры и доставка > Dockerfile и сборка
Короткий ответ Docker кэширует каждый слой по хешу инструкции и её входных данных; если слой и все предыдущие совпадают с кэшем, сборка переиспользует готовый слой без повторного выполнения — поэтому редко меняющиеся шаги (установку зависимостей) нужно располагать раньше часто меняющегося кода. Как это работает подробнее для каждой инструкции сборщик вычисляет ключ кэша на основе самой команды и (для COPY/ADD) содержимого копируемых файлов. Если ключ совпадает с ранее сохранённым слоем и все предыдущие слои тоже были взяты из кэша, инструкция не выполняется повторно — используется готовый слой. Как только один слой в цепочке меняется, все последующие слои инвалидируются и пересобираются с нуля, даже если их входные данные не менялись. Пример кода Что использовать на практике Практика. классический паттерн для Node.js/Python/Go — сначала копировать только файл с описанием зависимостей (package.json, requirements.txt, go.mod), выполнить установку зависимостей, и только потом копировать весь исходный код. Тогда
build-cachecontainer-images
MiddlePython Developer > Основы Python > Индексы и производительность
Короткий ответ EXPLAIN ANALYZE реально выполняет запрос и показывает дерево операций с оценённой и фактической стоимостью/временем/числом строк для каждого узла; Seq Scan читает всю таблицу страницами подряд, а Index Scan использует индекс, чтобы обратиться только к нужным строкам. Как это работает подробнее План строится снизу вверх — листовые узлы (сканы) передают строки родительским узлам (Join, Sort, Aggregate); планировщик выбирает стратегию на основе статистики (ANALYZE таблицы). Расхождение между estimated и actual rows часто сигнализирует об устаревшей статистике. Пример кода Что использовать на практике Практика. При анализе медленного запроса смотрят на узлы с наибольшим actual time и на то, совпадает ли план с ожиданием; BUFFERS в EXPLAIN (ANALYZE, BUFFERS) дополнительно показывает хиты/промахи кэша страниц. Подводные камни Ошибка. Смотрят только на EXPLAIN без ANALYZE и путают оценочную стоимость с реальным временем; не замечают, что планировщик иногда осознанно выбирает Seq Scan вместо Index Scan
explain-analyzeindexes
JuniorDevOps Engineer > Контейнеры и доставка > Права доступа Linux
Короткий ответ Строка прав вида -rwxr-xr-- делится на владельца, группу и остальных по три символа каждая: r — чтение, w — запись, x — выполнение (для каталога x означает право заходить внутрь); первый символ указывает тип файла (- обычный, d каталог, l symlink). Как это работает подробнее Ядро проверяет права при каждой попытке доступа к файлу, сопоставляя UID/GID процесса с владельцем и группой файла и выбирая соответствующий набор из трёх бит; для каталогов x разрешает выполнение cd и доступ к содержащимся файлам по имени, а r разрешает листинг содержимого. Пример кода Что использовать на практике Практика. при диагностике Permission denied всегда проверяют оба уровня: права самого файла и права всех родительских каталогов на пути к нему (нужен x на каждый уровень), а не только финальный файл. Подводные камни Риск. Частая ошибка — дать файлу право на чтение (r), забыв, что без x на родительском каталоге пользователь всё равно не сможет до него добраться по полному пути.
access-controlfile-modes
MiddleData Analyst > SQL и данные > SQL
Короткий ответ Нужно читать план выполнения «снизу вверх» (от самых глубоких узлов к верхним), сравнивать оценку числа строк (rows) с фактическим числом (actual rows) на каждом шаге и искать узел с наибольшим фактическим временем — это и есть основная точка замедления. Как это работает подробнее Как это работает: PostgreSQL выполняет план как дерево операций (сканирование таблиц, соединения, сортировки, агрегации); каждый узел в EXPLAIN ANALYZE показывает actual time (включает время всех дочерних узлов) и actual rows. Большое расхождение между оценкой (rows=... в плане) и фактическим числом строк часто говорит об устаревшей статистике таблицы. Пример кода Что использовать на практике На практике: типичные «красные флаги» — Seq Scan на крупной таблице там, где ожидался индексный доступ, Nested Loop с большим количеством итераций по внешней таблице без индекса на внутренней, а также отдельный заметный по времени узел Sort или Hash, который может говорить о нехватке work_mem и уходе сортировки на диск. Проверка:
explainindexes
MiddleData Analyst > SQL и данные > Python для анализа данных
Короткий ответ Файл читают по частям через pd.read_csv(..., chunksize=N), обрабатывая и агрегируя каждый фрагмент отдельно, либо сразу ограничивают используемые столбцы (usecols) и типы данных (dtype), чтобы снизить объём потребляемой памяти. Как это работает подробнее chunksize превращает read_csv в итератор, возвращающий DataFrame фиксированного размера по частям; это позволяет обрабатывать файл потоково, сохраняя только промежуточные агрегаты (например, частичные суммы по группам), а не весь файл целиком в памяти. Пример кода Что использовать на практике Практика. если нужна простая агрегация (сумма, количество по категориям), её можно посчитать накопительно по чанкам и объединить в конце; если задача требует операций над всем набором данных сразу (например, глобальная сортировка или сложный merge), чанкование усложняет логику и может потребовать иных инструментов (например, баз данных или движков типа DuckDB/polars). Проверка. сумма по каждой категории в totals должна совпадать с результатом groupby, посч
chunksizecsv
JuniorPython Developer > Основы Python > Django и DRF
Короткий ответ Django проходит список шаблонов urlpatterns сверху вниз и вызывает view, соответствующий первому совпавшему пути; порядок правил в urls.py важен. Как это работает подробнее При старте Django загружает модуль ROOT_URLCONF. На каждый запрос путь (без домена и query-string) сравнивается с path()/re_path() по порядку сверху вниз; первое совпадение вызывает связанный view, остальные правила не проверяются. Пример кода Что использовать на практике Практика. Более специфичные пути нужно располагать выше общих (например, admin/ и articles//edit/ — выше articles//), иначе общий шаблон «перехватит» запрос раньше. Для разделения на модули используют include(). Подводные камни Риск. Разработчики забывают, что порядок правил критичен, и удивляются, почему вызывается «не тот» view; также путают path() (простой синтаксис конвертеров) с re_path() (regex).
djangopython
JuniorSMM Manager > Общее > Репутация и кризис-коммуникации
Короткий ответ Нужна единая таблица или тикет-система с полями: площадка, ссылка на комментарий, суть жалобы, статус, ответственный и срок реакции — чтобы информация не терялась при передаче между отделами. Как это работает подробнее без структурированного учёта обращения теряются при смене сотрудника, и один и тот же клиент может получить противоречивые ответы от разных людей. В таблице учёта вымышленного бренда «ЭкоДом» строка: «15.03, Instagram, ссылка на комментарий, жалоба на треснувший горшок, передано в отдел качества, статус: в работе, срок ответа клиенту — 2 дня». Проверка: наличие статуса «закрыто» с датой и ссылкой на финальный ответ клиенту в рамках заявленного срока. Что использовать на практике Практический подход. таблицу обычно ведут в Notion, таблицах или таск-трекере; важно фиксировать прямую ссылку на комментарий, а не пересказ, чтобы поддержка видела оригинал. Подводные камни Частые ошибки. пересказывать жалобу своими словами без ссылки на источник, не указывать срок и ответственного, забы
comment-moderationcommunity-management
JuniorSMM Manager > Общее > Контент-стратегия
Короткий ответ На базовом уровне смотрят охват (сколько людей увидели контент), вовлечённость (лайки, комментарии, репосты относительно охвата) и рост подписчиков; это разные метрики, и рост одной из них не означает автоматического роста других или продаж. Как это работает подробнее охват показывает, сколько людей увидели публикацию, вовлечённость — насколько контент был интересен тем, кто его увидел, прирост подписчиков — долгосрочный эффект на размер аудитории. Что использовать на практике На практике. эти метрики сверяют по каждой рубрике контент-плана, чтобы понять, какие темы и форматы работают лучше, и скорректировать план на следующий период. Пример. Рубрика «Советы» даёт охват 5000 и 150 реакций (ER ≈ 3%), рубрика «Розыгрыш» — охват 8000 и 400 реакций (ER = 5%), но не даёт подписок. Проверка: сравнение ER и прироста подписчиков по рубрикам за месяц в таблице отчёта. Подводные камни Частые ошибки. делать вывод об успехе контент-плана только по одному показателю (например, лайкам одного вирального поста
content-analyticscontent-planning
JuniorPerformance Marketer > Google Ads > Специфика рекламных площадок и каналов
Короткий ответ Базовые метрики — показы, клики, CTR, расход, заказы и ДРР (доля рекламных расходов) — отношение расхода на рекламу к выручке от рекламы, выраженное в процентах; чем ниже ДРР при сохранении объёма продаж, тем эффективнее реклама. Как это работает подробнее внутренние рекламные инструменты маркетплейсов (продвижение в поиске, баннеры в каталоге, карточка товара) показывают объявления внутри самой площадки и считают конверсию в заказ напрямую по данным платформы, поэтому ДРР рассчитывается как (расход / выручка от рекламы) × 100%, аналогично ROAS, но в обратной форме. Что использовать на практике На практике. ДРР нужно сравнивать с маржинальностью товара — для товара с низкой маржой допустимый ДРР намного ниже, чем для товара с высокой маржой; метрику полезно смотреть не только по кампании в целом, но и по отдельным товарам (SKU), так как эффективность сильно различается внутри одной кампании. Пример. Кампания продвижения в поиске Ozon с расходом 10 000 ₽ принесла выручку от рекламы 50 000 ₽ → ДР
cpcdrr