Канал главного разработчика Data Lake крупного банка.
База знаний для джунов, разбор собесов, задачи (jun/mid/sen) с решениями, полезные материалы, обзоры технологий и архитектур.
По вопросам и менторству писать @it_pengwin
Post #273
426
Обзор первичного скрининга с Ozon tech
Этапы отбора: hr->тех скрининг->основной тех собес->собес с руководителем
Блок Python
Блок SQL
Блок Apache Spark
Блок Apache Airflow
Блок Apache Kafka
Итог:
Отказ на последнем этапе, там задушили техническими тонкостями по спарку
—————————
Скрининг ozon потнее чем все собесы в сбере 🍴
it пингвин | data engineer 🐧
#собеседование #менти
Этапы отбора: hr->тех скрининг->основной тех собес->собес с руководителем
Блок Python
Какие типы данных существуют в Питоне?
Чем отличается set от списка (list)?
За какое время идет поиск в списке? (Например, если мы поищем число 5 в списке чисел)
Почему поиск во множестве работает быстрее? Как там поиск проводится из-под капота?
Задача 1 Необходимо написать функцию с переменным количеством аргументов (*args и kwargs). Приведи пример работы — что она может в себя «съесть»?
Если я хочу добавить в kwargs именованные аргументы при вызове, как это записать?
Какие типы данных представляют собой args и kwargs внутри функции, если их вывести на экран?
С паттернами ООП сталкивался вообще? Можешь какие-нибудь назвать и вспомнить?
Помнишь ли ты паттерн Singleton? Как это вообще работает?
Если я создам глобальную переменную и буду к ней обращаться, это ведь тоже по сути один экземпляр. В чем разница между Singleton и подходом с глобальной переменной?
Задача 2 Что будет результатом сравнения двух независимых экземпляров класса без переопределенных методов (a == b и a is b)?
Что будет результатом сравнения двух пустых списков по значению (a == b) и по ссылке (a is b)?
Блок SQL
Задача 3 Посмотри на две таблицы. Сколько строк вернет соединение при использовании INNER JOIN, LEFT JOIN и CROSS JOIN?
Задача 4 Дана таблица my_numbers. Как написать запрос, который найдет максимальное число, встречающееся строго в 1 экземпляре? (Если таких чисел нет, нужно вывести NULL)
Блок Apache Spark
Со Спарком работал вообще?
Если внутри Spark-джобы шаг с джоином двух табличек идет неадекватно долго, как вообще это продебажить и какие типовые проблемы могли привести к этому?
Почему Spark может выбрать SortMergeJoin вместо Broadcast Join?
Из двух таблиц какую лучше выбрать для бродкаста? Как определить, какую именно забродкастить?
Блок Apache Airflow
В Airflow работал?
Что такое DAG?
Допустим, я взял и определил в DAG две таски a и b и завязал их друг на друга (создал ручной цикл). Что будет?
Расскажи о параметрах, которые мы передаем DAG'у, когда создаем и объявляем его в коде.
Допустим, мы указали start_date завтрашним числом (например, 16 июля), а schedule_interval поставили на 10:00 утра. Когда первый раз запустится DAG? Когда будет первое исполнение?
Что такое операторы в Airflow и как они работают?
Какие у них есть параметры?
Блок Apache Kafka
В Кафке есть такие понятия как «топик» и «партиция». В чем вообще разница?
Соблюдается ли First In First Out (FIFO) на уровне топика или только на уровне партиции?
Если мы отправляем сообщения в топик с несколькими партициями, как определяется, в какую именно партицию попадет message?
Зачем нужна логика распределения сообщений по ключам?
Допустим, я хочу реализовать отправку сообщений без ключей. Как ты будешь раскидывать сообщения, чтобы нагрузка была примерно равномерной?
Что означает алгоритм Round Robin?
Если бы ты сам реализовывал распределение без использования Round Robin, каким еще простым способом ты бы раскидывал сообщения, чтобы было примерно равномерно?
Итог:
Отказ на последнем этапе, там задушили техническими тонкостями по спарку
—————————
Скрининг ozon потнее чем все собесы в сбере 🍴
it пингвин | data engineer 🐧
#собеседование #менти
- ✍ 7
- ❤ 4
- 👍 2
- 🔥 2







