Подготовка к интервью

Вопросы на собеседовании по ClickHouse

119 вопросов по ClickHouse с технических собеседований

119 вопросов 1634 компании 353 технологии

Что проверяют на интервью

Как устроена подборка

На странице собраны вопросы по ClickHouse — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: clickhouse, database, sql.

Каталог

Результаты поиска

Найдено: 119
Теория

[имя] спросил: Поле 'нашли ли рейсы' имеет только два значения (да/нет). Как его лучше представить в ClickHouse? Какой тип данных используется под капотом для Bool?

Для признака «нашлись рейсы» подходит Bool; в ClickHouse он хранится как UInt8 со значениями 0 и 1. Если возможна неизвестность, используйте Nullable(Bool).

Читать ответ
System Design

Есть большая PostgreSQL-таблица, в которую постоянно приходят новые записи с монотонно растущим первичным ключом. Как организовать загрузку данных в ClickHouse?

Для надёжной загрузки используйте согласованный начальный снимок и CDC по WAL. Простой курсор id > last_id может пропустить поздно закоммиченную строку.

Читать ответ
System Design

У нас на сайте пользователи ищут авиабилеты. Нужно складывать события поиска в ClickHouse, чтобы аналитики могли считать популярные направления и конверсию в покупку. Спроектируй таблицу и напиши DDL

Для поисковых событий подойдёт MergeTree с месячными партициями, ключом под частые аналитические фильтры и TTL два года. Конверсию связывают с отдельными событиями покупки.

Читать ответ
Теория

Для каких задач ClickHouse подходит плохо, и что бы вы выбрали вместо него?

ClickHouse обычно не лучший выбор для классического OLTP с частыми точечными изменениями и строгими транзакциями над связанными сущностями. Для этого часто подходит PostgreSQL.

Читать ответ
Теория

Дистрибутивная таблица в ClickHouse — данные хранятся в ней? Если нет, то где?

Distributed не хранит основную таблицу данных: чтение направляется к таблицам на шардах. При асинхронной вставке на инициаторе могут временно храниться файлы очереди.

Читать ответ
Теория

Представь, что Data Vault недоступен и есть две широкие таблицы, которые нужно поджойнить. Как бы ты это оптимизировал в Greenplum? А если бы это было в ClickHouse?

Сначала сократите обе таблицы до нужных строк и колонок. В Greenplum проверьте распределение и Motion, в ClickHouse — алгоритм JOIN, память и объём правой стороны.

Читать ответ