Сбербанк · октябрь 2025

Тех собес на middle-senior Data Инженер в Сбербанк

middle-senior Тех собес 1 вопрос 3 задачи
1

1 этап: Техническое интервью (Python и SQL)

1. Задача: Найти k ближайших элементов в отсортированном списке к заданному по индексу

Дан отсортированный по неубыванию список целых чисел a, индекс элемента index и целое число k.
Необходимо вернуть в любом порядке k чисел из списка, которые являются ближайшими по значению к элементу a[index].

Ограничения:
- Размер списка 1 <= N <= 10^6 ;
- Элементы списка: -10^9 <= a[i] <= 10^9 ;
- Число 0 <= k <= N ;
- Индекс элемента 0 <= index < N .

Примеры:
find_k_closest(a=[2, 3, 5, 7, 11], index=3, k=2) -> [5, 7]
find_k_closest(a=[4, 12, 15, 15, 24], index=1, k=3) -> [12, 15, 15]
find_k_closest(a=[2, 3, 5, 7, 11], index=2, k=2) -> [3, 5] или [5, 7]
Ответ

2. Что вернут функции count для таблицы с NULL значениями?

id
---
1
2
3
4
5
NULL
NULL
Ответ

3. Задача: Получить топ 10 водителей по количеству заказов в каждом городе

create table orders (
driver_id varchar,
city      varchar,
order_id  varchar
);
Ответ

4. Задача: Написать SQL-запрос для расчета разности между поступлениями и расходами по лицевым счетам за каждый день

----------------------------------------------------------
| ACC_ID | номер лицевого счета
| DT     | дата транзакции
| AMNT   | сумма транзакции (всегда положительная)
----------------------------------------------------------
Ответ