Data Analyst
Проблем: хиляда потребители правят по една поръчка и си тръгват — как това се вижда в метриките и какво да правим?
SQL: напишете заявка за броене на броя на абонатите на всеки блогър (таблица с блогъри и абонати).
Разкажете за опита си, за някой проект или задача, с която се гордеете
Имате ли опит с изкуствен интелект? Опит в внедряването на AI в системи за управление на IT услуги?
Какви интеграции сте реализирали и какво точно сте правили? (Kafka, REST, RabbitMQ, синхронни/асинхронни)
Разкажете за подходите към изграждането на DWH: Data Vault 2.0 срещу снежинка/звезда — основни същности, предимства и недостатъци.
Защо все още има смисъл да стандартизираме формата на отговора в бенчмарка, дори ако това ограничава модела?
Псевдокод sum_series(a={{1, 2}, {5, 1}}, b={{2, 4}, {3, 6}, {9, 7}}) -> {{1, 2}, {2, 6}, {3, 8}, {5, 7}, {9, 8}} def sum_series(a, b): result = [] i , j = 0, 0 val_a, val_b = 0, 0 while i < len(a) or j < len(b): a_next = a[i][0] if i < len(a) else float('inf') b_next = b[j][0] if j < len(b) else float('inf') if a_next <= b_next: val_a = a[i][1] t = a[i][0] i += 1 else: val_b = b[j][1] t = b[j][0] j += 1 result.append((t, val_a + val_b)) return result
Защо връщанията на пари към клиентите са се увеличили с 50%? Какви оперативни рискове са възможни тук?
Разкажи за трудностите и грешките в проекта.
Дайте пример, когато сам сте иницирали промени в DWH, pipeline или модел на данни.
val_a, val_b = 0, 0 t = None докато i < дължината на a или j < дължината на b: a_next = a[i][0] ако i < дължината на a иначе float('inf') b_next = b[j][0] ако j < дължината на b иначе float('inf') ако a_next < b_next: val_a = a[i][1] t = a[i][0] i += 1 elif b_next < a_next: val_b = b[j][1] t = b[j][0] j += 1 иначе: val_a = a[i][1] val_b = b[j][1] t = a[i][0] i += 1 j += 1 result.append((t, val_a + val_b)) return result
// При актуализиране на поръчка, трябва да изпратим данните за поръчката към няколко услуги (трети страни) // броят на услугите расте (може да са хиляди+) // написахме кода, в началото всичко работеше добре, но с времето нашата услуга започна да консумира много ресурси // Трябва да оптимизираме този код, за да работи ефективно при голям брой услуги func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Представете си, че това е дълго мрежово повикване response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "неуспешно изпращане", err) return } s.logger.Info(ctx, "успех", response) }() } }
SQL: покажете всички продукти, чиято цена е по-висока от средната цена в тяхната категория (таблица products с полета product_id, category, price).
Сравнете две версии на приложение, използвайки ключови изрази (задача: сравнете старата и новата версия на YouTube)
Кейс за продукт: вие сте продуктов анализатор в услуга за споделяне на автомобили. Как да оцените бизнеса и какво е необходимо за растеж? Какви метрики да следите?
Разкажи за индексите в ClickHouse.
Как да събираме ground truth отговори за бенчмарка по геометрия?
Задача 1. Броене на клиенти по статус Изискване: Напишете заявка, която показва броя на клиентите във всеки статус (активен, неактивен, блокиран и т.н.). Резултатът трябва да съдържа две колони: статус и cnt.
Как се получава крайната прогноза в бустинга от трите итерации?