**Компания:** ВК
**Контекст:** Продуктовая команда запускает новый раздел приложения. Нужно спроектировать схему для хранения событий (event tracking), которая будет:
- Гибкой: новые события добавляются без миграций
- Быстрой: аналитики часто фильтруют по event_type и дате
- Расширяемой: у каждого события свой набор параметров
**Задание:**
1. Спроектируйте DDL таблицы событий с учётом требований
2. Создайте индексы для типичных аналитических запросов
3. Напишите примеры вставки событий разных типов и аналитического запроса
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE events (
event_id BIGINT GENERATED ALWAYS AS IDENTITY,
-- Общие поля (типизированные, индексируемые)
event_type VARCHAR(100) NOT NULL,
user_id BIGINT NOT NULL,
session_id VARCHAR(64),
platform VARCHAR(20), -- ios, android, web
app_version VARCHAR(20),
-- Гибкие параметры
properties JSONB DEFAULT '{}',
-- Временные метки
event_ts TIMESTAMP NOT NULL, -- время на клиенте
server_ts TIMESTAMP DEFAULT NOW(),
-- Партиционирование
event_date DATE GENERATED ALWAYS AS (event_ts::date) STORED
) PARTITION BY RANGE (event_date);
-- Индексы
CREATE INDEX idx_events_type_date ON events (event_type, event_date);
CREATE INDEX idx_events_user_date ON events (user_id, event_date);
CREATE INDEX idx_events_properties ON events USING GIN (properties);
event tracking DDL схема JSONB проектирование
Это задание для уровня medium. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.
Подобные задания в категории «data_engineering» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: event tracking, DDL, схема, JSONB, проектирование.
На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть другие задания в категории «data_engineering», продуктовые кейсы, справочник метрик, AI мок-собеседование с разбором ваших ответов.
← Все задания