🐍 Задачи на Python, которую любят давать на собеседовании

Если говорим про задачи на Python, то они делятся на несколько типов, которые можно разложить:

1. Алгоритмы. Их спрашивают в некоторых бигтехах, зачастую что-то простое на идею. Если идею не знаешь, то можешь засесть глубоко. Когда мне скидывали этапы интервью для аналитиков в ❤️, там были приведены следующие примеры задач. Еще обожаю саму концепцию "а можно еще оптимальней?" 😂

1. Сжатие RLE строки... Пример: на вход подается aaabbbc вывести 3a3b1c 2. Бинарный поиск (классическая идея), оптимизация сложности 3. Алгоритмы сортировки

Здесь могу посоветовать проходить курс по алгоритмам от Яндекса, раньше проходил. Планирую по второму кругу проходить 🥺2. Pandas, Numpy. Легкий вариант, как по мне. Он может проверять на наличие знания методов. Но тут нужно понимать, что не все могут его знать, не все с ним работали в том срезе, в котором ожидает услышать нанимающий 🐼

1. Как заменить пустые значения в столбце? 2. Как объединить несколько таблиц (merge, join)? 3. Как привести типы данных к нужным (astype, to_datetime)? 4. Как отсортировать таблицу по столбцу по возрастанию / убыванию? 5. Как сделать аналог CASE WHEN в Pandas? (np.where, .apply, pd.cut и т.д.)

Если раньше работали — не составит труда, достаточно просто. Если нет, то можно забрать шпаргалки тут

3. Блиц по Python. Такой вид тоже встречается. Ожидается формат ответа в одном предложении 🍪🍪

1. Какие типы данных изменяемые, а какие нет? 2. Чем список отличается от кортежа? 3. Что такое list comprehension? 4. Что вообще делали в Python?

Такое любят давать обычно HR, но на технической секции такие вопросы тоже могут встречаться, если в приоритете узнать про другое. Например, про продуктовое мышление, SQL и др. Потренить можно тут 🔽 Кстати, прикрепляю интересную задачу с собеса, интересно будет прочитать ваши решения, давали ее на финалах 🔽 🎲 ЗАДАЧА. У вас есть словарь, в котором каждому элементу соответствует вес — вероятность его появления при случайном выборе weights = { "Moscow": 0.5, "SPB": 0.2, "Novosibirsk": 0.2, "Kazan": 0.1 } def generate_by_weights(weights: dict, n: int) -> list: ...

🥳 Функция должна вернуть список из n элементов, выбранных случайным образом, причём вероятность появления каждого элемента пропорциональна его весу.

📉 Возможный вывод ['Moscow', 'SPB', 'Moscow', 'Moscow', 'Novosibirsk', 'Moscow', 'Kazan', 'SPB', 'Moscow', 'Novosibirsk']

Ставьте 🕺****, если пост зашел, пишите решение в комментах, только под спойлером. Вот так 🎄🎄🎄 Если у вас есть Premium, вы можете бустануть канал — это бесплатно и занимает 3 секунды. Нам совсем чуть-чуть осталось до 10 уровня, хочу поставить НОВОГОДНИЕ ОБОИ

@zasql_python


В этом посте были ссылки, но мы их удалили по правилам Сетки