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

Написать мне: @aylin_gee
Download Telegram
вайбы на неделю такие🥰
196511
Мне тут скинули пост из канала, админом которого я была раньше, и он навёл меня на некоторые мысли.

Я не буду писать про гендерный дисбаланс, предубеждения, стеклянный потолок и так далее — всё это уже обсуждалось миллион раз, и потому говорить об этом сейчас неинтересно и бесполезно. Скажу о другом: если вы принадлежите к какой-то непривилегированной группе, цепляйтесь за каждую возможность.

Вам говорят, что вас взяли только потому, что вы женщина? Вспомните, сколько раз это было причиной отказа.

Учитесь по стипендии для женщин в STEM? Вспомните, когда у женщин вообще появилась возможность получать высшее образование.

Руководители проявляют к вам больше лояльности? Вспомните, сколько раз вас называли “сукой” за любое проявление эмоций и с каким количеством предубеждений вы сталкивались раньше.

Справедливости в капитализме нет. Вы либо победитель, либо лузер, а первых, как известно, не судят.
291265😭111
Forwarded from Ебаные идеи для топов
Джун скинул мем. Не понял. Он из этих, поколение альфа банка
8😁8411
This media is not supported in your browser
VIEW IN TELEGRAM
мешают только, какие-то апдейты по задачам ждут…
9😁75211
Хотела написать пост о том, почему у американцев нет накрутчиков
Уточнила у знакомой, а у них тоже самое…

Назаров может начинать строить международную карьеру🤡
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