Дата-инженерские заметки – Telegram
Дата-инженерские заметки
1.47K subscribers
70 photos
18 videos
7 files
55 links
Пытаюсь выжить в корпоративных реалиях, делюсь вопросами с дата-инженерских собеседований и ссылочками для подготовки к ним

Написать мне: @aylin_gee
Download Telegram
Хотела написать пост о том, почему у американцев нет накрутчиков
Уточнила у знакомой, а у них тоже самое…

Назаров может начинать строить международную карьеру🤡
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1963😭1
Задачки в букмекерку на вакансию инженера данных(Java)

Вилка: 7000-8000$

ЗАДАЧА1-----------------------
Book:
id, noscript, denoscription
Дано:
Spark DataFrame, имеющий схему id: Int, noscript: String
Напиши функцию, которая принимает DataFrame и возвращает одной строкой все уникальные названия книг, соединенные #~# в любом порядке
Пример:
Input:
id noscript
1 The Lion King
2 Programming architecture
3 The Lion King
4 Scala vs Java
Output: Programming architecture#~#The Lion King#~#Scala vs Java
-----------------------
ЗАДАЧА 2
-----------------------
Есть Spark DataFrame заказов:
Схема: order_id, user_id, timestamp, item_bought
Нужно вернуть DataFrame с последними 100 заказами для каждого пользователя с полями в отсортированном виде по timestamp.
Input: df: DataFrame (schema: order_id, user_id, timestamp, item_bought)
Output: DataFrame (schema: order_id, user_id, timestamp, item_bought) отсортированный по user_id, timestamp
-----------------------
ЗАДАЧА 3
-----------------------
Given an integer array nums of unique elements, return all possible subsets (the power set).
The solution set must not contain duplicate subsets. Return the solution in any order.
Input: nums = [1,2,3]
Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
Input: nums = [0]
Output: [[],[0]]
-----------------------
12🏆5🔥32
В первый день трудоустройства в Альфу просят реквизиты карты, кидаю им реквизиты сбера

Спустя время понимаю, что получать зп на карту сбера, будучи сотрудником Альфы, кринж

В течение 7! дней уговариваю сделать мне зарплатную карту, и в течение 7 дней hr меня посылают🤡

я самый трушный фанат Сбера.
Please open Telegram to view this post
VIEW IN TELEGRAM
179🔥7
Я не знаю, что за обсессия у интервьюеров на эти NULL'ы, но here we go again🙏

Посмотрим, как работают джойны по условию t1.key = t2.key на примере этих таблиц:
Таблица t1    Таблица t2
+------+ +------+
| col1 | | col1 |
|------| |------|
| 1 | | 1 |
| 2 | | 1 |
| 4 | | 3 |
| NULL | | NULL |
+------+ | NULL |
+------+

Джойн происходит, когда условие возвращает TRUE, NULL=NULL же возвращает Unknown, поэтому условие не выполнится.
Писала ранее тут.

🩵Вот как отработает LEFT JOIN:
+------+             +------+        
| t1.col1 t2.col1 |
|------ ------|
| 1 1 |
| 1 1 |
| 2 NULL |
| 4 NULL |
| NULL NULL |


🩵 и вот так INNER JOIN:
+------+             +------+        
| t1.col1 t2.col1 |
|------ ------|
| 1 1 |
| 1 1 |


Искренне надеюсь, что нам с вами это не попадется
Please open Telegram to view this post
VIEW IN TELEGRAM
2221
Задачи тех скрининга в Купер:

🩵 Даны 2 списка длины n и m, содержащие целые числа.
Выведите на экран элементы, которые встречаются в обоих.

🩵 Перечисли все виды джоинов таблиц и результат джоина таблиц по условию t1.key = t2.key;

Ссылка на буст канала
Please open Telegram to view this post
VIEW IN TELEGRAM
542
рекрутеров заменил ИИ
дальше мы?)
168😁21😭1
проснулась с желанием работать

стоит сходить к терапевту?
2112108
Оффер в Сбер Инвестиции на 284 net за 3 часа.

🍋‍🟩Ссылка на вакансию

Подразделение занимается инвестициями для физ. и юр. лиц. В команде 5 человек: DE, devops, аналитики. Ищут дата-инженера, так как предыдущий не прошел испыталку.

Собесит продакт, но это его 50ое собеседование, поэтому в технологиях относительно разбирается.
В технической части спрашивали про MPP, про работу со Spark, спросили о спарк конфигурациях при использовании toPandas. Уточнили был ли опыт с k8s.

Было много софт-вопросов из серии "Если бы вы оказались на необитаемом острове, что бы взяли с собой?", "Опиши себя тремя эпитетами", "Какой твой любимый российский фильм или сериал после 2000 года?", "Какой алкогольный напиток предпочитаешь?"
❗️(если честно кринж, но кто я чтоб судить)

О положительном результате сказали прям на собеседовании, оффер оформили через несколько часов.

В целом прошло хорошо, откликайтесь🩵🌟
Please open Telegram to view this post
VIEW IN TELEGRAM
24962🔥1
почему вы лайкаете кринж и не лайкаете полезное?

объясните, пожалуйста!!
😁261094🏆21
настоящая роскошь сейчас не про тотал miu miu луки, луивитоны, отпуска и дорогую технику.

настоящая роскошь это проводить время с семьей, создавать свою семью до 30, это про спокойную и безопасную жизнь.

реалистично пока целиться в первое, но стремимся ко второму🙏
32118
Сгонять на алгособес в Яндекс ради контента?
Anonymous Poll
76%
Да, плиз
24%
Нет, зачем нам работать в айти концлагере?
22
Тех скрининг в Лигу Цифровой Экономики:

🩵 Для произвольных N и M сформировать целочисленную матрицу A размером N*M и заполнить её числами
# Пример для N = 2, M = 3:
# [[1, 2, 3],
# [4, 5, 6]]

🤍 Описание таблиц
users (user_id, lastname, firstname, birthdate)
sales (sale_id, user_id, num, date_, sum)

🤍Вывести всех пользователей с указанием количества покупок, сделанных в 2025 году

🤍Вывести пользователей, не сделавших ни одной покупки в 2025 году

🤍Вывести всех пользователей с именем Дмитрий

🤍Вывести всех пользователей, которые делают только покупки стоимостью только свыше 1000 денег

🌟напоминаю ставить лайки, кидать бусты и респекты!
Please open Telegram to view this post
VIEW IN TELEGRAM
20134
пока отложила прием, жду триггера от Sensor’a
😁21752🏆1
Тех скрининг на позицию DE в Lamoda Tech💛

🤍 Как вывести содержимое файла logs и затем отфильтровать его содержимое по наличию в строках ключевого слова foo?
cat logs | grep "foo"

🤍 Опиши что происходит в каждой строке:
def foo(): # название функции и нет входых аргументов 
for i in range(1, 10): # цикл, i присваивается значение от 1 до 9
value = str(i) * i # для 1: ['1']*1
value = "".join(value) # '1' # '22' # '333'
yield value
p = set(i for i in foo())
print(p) # {'1', '22', '333', ..., '999999999'}

🤍 Как вывести план запроса в СУБД?

Explain, Explain analyze

🤍 Правильно ли составлен следующий запрос? Если нет, то как исправить?

Хотим выбрать уникальные имена кастомеров из sales1 с total_sum больше 500 и всех из sales2,
отсортировать по customer_name
SELECT total_sum, customer_name  FROM sales1  
HAVING total_sum >= 500
ORDER BY customer_name
Union all
SELECT customer_name FROM sales2
ORDER BY customer_name

ответ:
select customer_name
from sales1
where total_sum >= 500
union
select customer_name
from sales2
order by customer_name


🤍 Дана Таблица_А, содержащая 10 записей и Таблица_Б, содержащая 100 записей.
Какое минимальное и максимальное количество записей может получиться в результате FULL OUTER JOIN этих таблиц?


a = 10 строк
b = 100 строк

min case = 100 str
max case = 110 str
при одинаковых значениях - 1000

🤍 Какие виды физических джойнов есть в Spark?

1. broadcast
2. nested loop
3. sort merge join
4. hash join
5. cartesian product

🤍 Опиши ситуацию при которой возможен перекос данных?

жду ваш ответ в комментах☺️

🤍Количество партиций по умолчанию?

200

🤍 Можно ли увидеть на физическом плане запроса операцию Hash Join на запросе:

SELECT t1. ip
FROM Table1 t1 JOIN Table2 T2
on t1.ip >= t2.ip_from AND t1.ip <= t2.ip_to

🤍Что стоит исправить в коде:

users = spark.table("users")
men = users.filter(col("gender") == "MAN")

men
.filter(…)
.write.mode().parquet(…)

men
.filter(…)
.write(…)
Please open Telegram to view this post
VIEW IN TELEGRAM
281031
3 ий раз пытаемся созвониться

и каждый раз в назначенное время начинает игнорить🤡
Please open Telegram to view this post
VIEW IN TELEGRAM
😭2243
достигла абсолютного эмоционального дна — задачи, которые на самом деле можно закрыть за часа 4, кажутся непосильными, идея сходить на собес кажется сумасшедшей.

сегодня взяла отпуск на две недели. планирую все время бить ракеткой о мяч, кормить уточек, читать сестер бронте.

еще есть идея сходить к корпоративному психологу и весь сеанс затирать ей о капитализме, ИИ и зле корпораций.

после отпуска надеюсь вернуться самым покладистым корпоративным рабом
39😭14🏆7😁3🔥2
У людей есть ложное мнение, что дата-инженер с каналом = крутой дата-инженер.

Учитывая, что вы активно покупаете учебные материалы и менторство, вот на что я лично бы обратила внимание:

🩵 человек открыто говорит о своем карьерном пути

🩵 в резюме компании и/или учебные организации с высоким порогом входа(например указан шад, работа в каком-нибудь констракторе, интересные проекты)

🩵 был или есть карьерный рост внутри одной организации (расти внутри намного сложнее, чем апать грейд сменой работы)

🩵 у вас есть позитивные отзывы от знакомых о продукте/менторстве

🩵 у вас схожий карьерный путь. Например, вы оба сменили работу, вы начинали карьеру в схожих компаниях, вам просто близок человек по вайбу и ценностям(этот пункт относится именно к менторству)

все это, конечно, не гарантирует успех, но как по мне увеличивает его вероятность
Please open Telegram to view this post
VIEW IN TELEGRAM
1412
я junior cdo тогда🤡
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2832