Python вопросы с собеседований
24.7K subscribers
508 photos
15 videos
17 files
403 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
加入频道
💡 Топ 150 задач c собеседований.

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

Задачи, которые покрывают 90% задач, структур данных, алгоритмов которые спрашивают на собеседованиях.

📂 Список

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📉 Текущая длительность котировок

Сложность: Средняя

Условие задачи: напишите алгоритм, который сохраняет котировки некоторой акции текущего дня и осуществляет подсчёт, сколько дней до этого стоимость бумаг была меньше или равна цена на текущий день (включая текущий день).

Пример:

Ввод:
["StockSpanner", "next", "next", "next", "next", "next", "next", "next"]
[[], [100], [80], [60], [70], [60], [75], [85]]
Вывод: [null, 1, 1, 1, 2, 1, 4, 6]

Объяснение:
StockSpanner stockSpanner = new StockSpanner();
stockSpanner.next(100); // return 1
stockSpanner.next(80); // return 1
stockSpanner.next(60); // return 1
stockSpanner.next(70); // return 2
stockSpanner.next(60); // return 1
stockSpanner.next(75); // return 4, так как цены за четыре предыдущих дня (включая сегодняшний) были меньше или равны;
stockSpanner.next(85); // return 6

📌 Решение

Пишите свое решение в комментариях👇

@python_job_interview
🔤Вопрос: как работает распаковка (*) в Python?
Что происходит, скажем, в случае такого генераторного выражения?
gen = (num for num in range(10))
print(*gen)



🔜Всё проще, чем кажется.
*args и **kwargs — это способы передачи переменного количества аргументов в функцию. Другими словами, они "распаковывают" значения из массива/словаря/множества и т.п. и передают эти значения в функцию.

🔜Пример использования *args:
def test(a, b): # Принимаем параметры a и b
print(a + b) # Выводим их сложение

array = [1, 2] # Создаём массив из двух чисел

test(*array) # Вывод: 3

При записи *array значения для функции были преобразованы в test(1, 2)

🔜Пример использования **kwargs:
def test(a,b): # Принимаем параметры a и b
print(a + b) # Выводим их сложение

dct = {'a':1, 'b':2} # Создаём словарь и записываем ключ-значение
test(**dct) # Вывод: 3

При записи **dct значения для функции были преобразованы в test(a=1, b=2)

🔜Таким же образом можно преобразовать данные в обратном направлении:
def test1(*var): # Принимаем параметры в виде множества
print(var)

test1(1, 2, 3) # Вывод: (1, 2, 3)

def test2(**var): # Принимаем параметры в виде словаря
print(var)

test2(a=1, b=2) # Вывод: {'a': 1, 'b': 2}


Такие вот дела 🖥

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Каким будет результат выполнения кода?
Anonymous Quiz
5%
Adult
2%
13
59%
Not adult
0%
18
2%
None
19%
Error
12%
Узнать ответ
Forwarded from Python/ django
🖥 Полезная статья по алгоритмам и структурам данных 🔥

В статье описаны такие структуры данных как:
— Массив (Array)
— Динамический массив (Dynamic array)
— Связный список (Linked list)
— Стек (Stack)
— Очередь (Queue)
— Множество (Set)
— Карта (Map)
— Двоичное дерево поиска (Binary search tree)
— Префиксное дерево (Trie)
— Граф (Graph)

Параллельно рассказывается про самые популярные алгоритмы и ещё много всего)

📎 Ссылка на статью
📎 Ещё статья в тему на русском

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Крутейшая подборка для Дата Саентиста. Лучшие бесплатные курсы, книга, разбор вопросов с собеседований, roadmap, полезные материалы по Python, Go, Linux и многое другое.

100 вопросов для подготовки к собесу Data Science
Видео

100 вопросов для подготовки к собесу Python
Вопросы Middle
Видео

Вливаемся в Data Science: подробный roadmap что и где изучать

Machine Learning инженер: что/где/как изучать, чтобы въехать

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы

40 Полезных инструментов Дата Саентиста

Go — 100 вопросов/заданий с собеседований
Видео

Где изучать Linux в 2024. Бесплатные курсы, книги и ресурсы
Видео

Бесплатные курсы для изучения искусственного интеллекта в 2024 году

NumPy: оттачивайте навыки Data Science на практике
Numpy полный бесплатный курс

Где изучать Python в 2024. Бесплатные курсы, книги и ресурсы
Видео

Где искать работу Дата Саентисту в 2024 году

Ресурсы для поиска работы Python разработчикам

Бесплатные курсы по большим языковым моделям для дата-сайентистов

@python_job_interview
Подсчет узлов бинарного дерева

Сложность: Средняя

Условие задачи: Дан корень дерева, удовлетворяющего термину "полнота", надо посчитать количество узлов в дереве.

Полным дерево считается в случае, если на каждом уровне (возможно за исключением последнего) у каждого родителя имеется пара потомков.

Необходимо разработать алгоритм с временной сложностью менее O(n).

Пример:

Ввод:
root = [1,2,3,4,5,6]
Вывод: 6
Объяснение: *во вложении

Подробнее про двоичное дерево
Решение

Пишите свое решение в комментариях👇

@python_job_interview