Data Engineer
Как работает MapReduce, в частности стадия Reduce?
Чем бы Вы хотели заниматься в нашей команде?
В чём разница между WHERE и HAVING?
Какие бывают физические соединения (join methods)?
Какие виды алгоритмов JOIN существуют в PostgreSQL и чем отличается Hash Join от Nested Loop Join? В каких случаях Hash Join неприменим?
Доля трафика от ботов Команда антифрода разработала механизм определения трафика от ботов на сайт магазина — при входе бота на сайт в параметры его URL добавляется подстрока "bot" (без учета регистра). Если user_id хотя бы один раз был определен как бот в декабре, то он всегда должен определяться как бот. Изучите датасет с визитами пользователей на сайт и посчитайте долю ботов от общего числа пользователей в декабре 2024 года (округлите ее до одного знака после запятой). Формат ввода Таблица visits: - event_date (date) — дата визита - user_id (int) — уникальный идентификатор пользователя - url (string) — ссылка, по которой был осуществлен переход Данные не содержат пропусков или некорректных значений. Формат вывода Запрос должен вернуть таблицу с полями: - share (float) — доля ботов от общего числа пользователей в декабре, округленная до одного знака после запятой.
Как работает Merge Join (соединение с сортировкой)?
Есть ли у вас вопросы по команде и роли?
Нам нужен pipeline engine — механизм, который позволит очень быстро создавать потоки путем подачи на вход контрактов и параметров. Как бы ты это реализовал на верхнем уровне?
Вы строите представление, которое показывает всех пользователей и, если есть, их последние заказы. Таблицы: users(id, name) и orders(id, user_id, created_at). Какой тип соединения нужно использовать, чтобы в выборку попали и те пользователи, у которых нет заказов? CROSS JOIN RIGHT JOIN INNER JOIN FULL JOIN LEFT JOIN
Трассировка показывает только REST-запросы или что-то ещё?
Что такое утиная типизация (duck typing)?
По Python: насколько углублённые знания, какие библиотеки использовал?
На CTE много идет памяти — когда у нас идет большое потребление памяти, что происходит с данными?
Какими стратегиями инкрементальной загрузки в dbt пользовался?
В таблице records(id) создан обычный B-tree индекс по id. Почему следующий запрос не будет использовать индекс? select * from records where id % 2 = 0 - Для id нужен индекс типа GIN - Индексы не работают с выражениями в WHERE - % — это операция сравнения, а не фильтрации - limit и offset обязательны для оптимизации с индексом - Запрос обращается к числовому полю, а не строковому
Что происходит при параллелизации запросов в однонодовом Postgres?
Дана строка order задающая желаемый порядок на символах. Требуется в строке unsorted_str переставить символы так, чтобы порядок был согласован со строкой order. Обе строки состоят из символов английского алфавита в нижнем регистре, все символы в строке order различны. Порядок символов в строке unsorted_str называется согласованным со строкой order, если из того, что символ x стоит раньше символа y в order следует, что любое вхождение x в строке unsorted_str должно быть раньше любого вхождения y. Допустимы ситуации, когда в order нет символов из unsorted_str и наоборот. Верните любую из допустимых перестановок. unsorted_str = "abcd" order = "cba" answer = "dcba" ("cdba", "cbda", "cbad") def CustomSort(unsorted_str: str, order: str) -> str: # code here
Как работает ClickHouse и чем он отличается от PostgreSQL?
Есть ли у вас опыт работы с библиотекой Langchain? Какие задачи вы решали с её помощью?