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
加入频道
Удаление дубликатов из отсортированного связного списка

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

Условие задачи: Дан указатель на начало отсортированного связного списка, необходимо удалить все дублируемые значения в списке. Надо вернуть связный список, также отсортированный.

Пример:

Ввод:
head = [1,2,3,3,4,4,5]
Вывод: [1,2,5]

Ввод: head = [1,1,1,2,3]
Вывод: [2,3]

Решение задачи

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

@python_job_interview
💡Задача: Максимальное среднее подмассива

Условие: дается целочисленный массив nums, состоящий из n элементов и целого числа k.

Найдите непрерывный подмассив, длина которого равна k, который имеет максимальное среднее значение, и верните это значение. Будет принят любой ответ с ошибкой вычисления менее 10-5.

Пример:

Ввод:
nums = [1,12,-5,-6,50,3], k = 4
Вывод: 12.75000
Объяснение:

Ввод:
nums = [5], k = 1
Вывод: 5.00000

Решение

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💡Задача: Двумерный бинарный поиск

Условие: дана 2-мерная матрица чисел, в которой числа упорядочены по возрастанию сверху-вниз и слева-направо. Надо определить, есть ли в матрице целевое значение.

Пример:

Ввод:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
Вывод:
True

Ввод:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
Вывод:
Fasle

Решение

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Разбор задач с Python собеседований

Задача с реального Python собеседования middle разработчика. Рекурсивная сумма. - https://www.youtube.com/watch?v=euoN2zO7zao&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=1&t=2s&pp=iAQB


Разбор задачи с собеседования Data Science. Подготовка на практике - https://www.youtube.com/watch?v=iLzA0H0Ao6o&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=6&t=946s&pp=iAQB

Устраиваемся на работу. Решаем тестовое задание на позицию Python Junior - https://www.youtube.com/watch?v=_-xenbYkazA&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=9&t=18s&pp=iAQB

Совет Python разработчикам - реши задачу Chain sum с реального собеседования - https://www.youtube.com/watch?v=edJSJWEDS0Y&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=10&pp=iAQB

Эти фишки сделают твой Python код лучше - https://www.youtube.com/watch?v=dOD1591Bp_o

Хитрая задача с собеседования #Python - https://www.youtube.com/watch?v=qzbmxG7sYa4&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=2

Решение непростой задачи с Leetcode, часто всплывает на собеседования #pythontutorial - https://www.youtube.com/watch?v=2tqieMDTA4w&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=3

Задача, которая очень часто встречается на собеседованиях #python - https://www.youtube.com/watch?v=VWEFo37RP44&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=4

Cобеседование #Python топовый банк Goldman Sachs Associate на 12000 $ - https://www.youtube.com/watch?v=U2MWw6f-bKc&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=5

Facebook задача с собеседования на #Python на 120000 рублей -
https://www.youtube.com/watch?v=3g3kx08C0uE&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=8

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Задача: Смена операции

Условие: дается целое число, нужно переконвертировать данное число в сумму, слагаемых должно быть не менее двух. А само разложение должно осуществляться таким образом, что произведение слагаемых будет максимальным.

В результате необходимо получить это самое произведение.

Пример:

Ввод:
n = 2
Вывод: 1
Объяснение: 2 = 1 + 1, 1 × 1 = 1.

Ввод: n = 10
Вывод: 36
Объяснение: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36.

📌 Решение

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Нахождение первой и последние позиций в отсортированном массиве

Сложность: Medium

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

Если целевого элемента нет в массиве, то надо вывести [-1; 1].

Алгоритм должен быть не медленнее, чем O(log n) по времени.

Пример:

Ввод:
nums = [5,7,7,8,8,10], target = 8
Вывод: [3,4]
Объяснение:

Ввод:
nums = [5,7,7,8,8,10], target = 6
Вывод: [-1,-1]

📌 Решение

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Итератор бинарного дерева

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

Условие задачи: Вам нужно реализовать класс BSTIterator, представляющий из себя итератор вдоль бинарного дерева, сцепленного по правилу: левый потомок, корень, правый потомок.

Класс должен содержать в себе следующие методы:

- BSTIterator(TreeNode root). Данный метод инициализирует объект класса. root передаются в конструктор в качестве входного аргумента. Указатель должен быть инициализирован несуществующим числом, которое меньше любого из элементов бинарного дерева;

- boolean hasNext(). Возвращает true в случае если существует потомок у правого поддерева. В ином случае возвращает false;

- int next(). Перемещает указатель в правую ветвь, возвращая число в указателе.

При инициализации указатель на несуществующий наименьший элемент, вызывая метод next(), будет возвращать наименьший элемент бинарного дерева.

Пример:

Ввод:

["BSTIterator", "next", "next", "hasNext", "next", "hasNext", "next", "hasNext", "next", "hasNext"]
[[[7, 3, 15, null, null, 9, 20]], [], [], [], [], [], [], [], [], []]
Вывод: [null, 3, 7, true, 9, true, 15, true, 20, false]

Объяснение:
BSTIterator bSTIterator = new BSTIterator([7, 3, 15, null, null, 9, 20]);
bSTIterator.next(); // return 3
bSTIterator.next(); // return 7
bSTIterator.hasNext(); // return True
bSTIterator.next(); // return 9
bSTIterator.hasNext(); // return True
bSTIterator.next(); // return 15
bSTIterator.hasNext(); // return True
bSTIterator.next(); // return 20
bSTIterator.hasNext(); // return False


🔗 Решение

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

@python_job_interview
🖥 Комбинация сумм II

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

Условие задачи: На входе имеем список возможных кандидатов и целевое значение суммы, необходимо вывести все комбинации, которыми можно получить целевое значение.

Каждое число из списка кандидатов должно содержаться в конечном подсписке из ответов ровно один раз.

Результирующий ответ не должен содержать в себе дубликатов.

Пример:

Ввод:
candidates = [10,1,2,7,6,1,5], target = 8
Вывод: [
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]

Ввод: candidates = [2,5,2,1,2], target = 5
Вывод: [
[1,2,2],
[5]
]

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

🔗 Решение
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Возрастающая подпоследовательность наибольшей длины

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

Условие задачи: Дан массив, необходимо вычислить наибольшую длину строго возрастающей подпоследовательности.

Пример:

Ввод:
nums = [10,9,2,5,3,7,101,18]
Вывод: 4
Объяснение:
подпоследовательность [2,3,7,101] имеет наибольшую длину.

Решение

Пишите свое решение в комментариях👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👉 Полезный сборник задач по программированию

На codeabbey, вы можете не только оттачивать навыки разработчика, решая задачи разного уровня, но и повысить свой уровень программирования.

На ресурсе есть возможность выиграть сертификаты, подтверждающие ваш уровень. Сборник включает в себя почти 300 задач по различным темам.

https://www.codeabbey.com/

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💡Задача: Идеальное число

Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.

Необходимо проверить входное число на идеальность.

Пример:

Ввод:
num = 28
Вывод: true
Объяснение: 28 = 1 + 2 + 4 + 7 + 14

Ввод: num = 7
Вывод: false

Решение

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

@python_job_interview
🖥 100 вопросов с собеседований Python. Полный разбор реальных вопросов.

Часть1
Часть2

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 100 вопросов для подготовки к собесу Python

https://uproger.com/bolee-100-voprosov-s-sobesedovaniya-python-razbor-realnyh-voprosov/

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Задача: Отрезки пересечения отрезков

Даны два массива, каждый элемент в котором представлен отрезком, значения которого соответствуют соответственно началу и концу.

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

Пример:

Ввод:
firstList = [[0,2],[5,10],[13,23],[24,25]], secondList = [[1,5],[8,12],[15,24],[25,26]]
Вывод: [[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]]

Ввод: firstList = [[1,3],[5,9]], secondList = []
Вывод: [ ]

👉 Решение

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Задача: Ряд клавиатуры

Условие: дается массив из строк, необходимо вернуть те строки из массива, которые могут быть набраны лишь при использовании знаков из одного ряда.

Пример:

Ввод: words = ["Hello","Alaska","Dad","Peace"]
Вывод: ["Alaska","Dad"]
Объяснение:

Ввод: words = ["omk"]
Вывод: [ ]

📌 Решение

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Задача: Ежедневная температура

Условие: дается массив, в котором содержатся на температуры за определенный день. Необходимо вернуть массив, такой что будет содержать на i-ой позиции количество дней, которое необходимо выждать, чтобы наступил день теплее. Если такой ситуации не случается, то на i-ой позиции установить 0.

Пример:

Ввод:
temperatures = [73,74,75,71,69,72,76,73]
Вывод: [1,1,4,2,1,1,0,0]

Ввод: temperatures = [30,40,50,60]
Вывод: [1,1,1,0]

Решение

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Разность по потомкам

Сложность: Лёгкая

Условие задачи: Дан корень двоичного дерева, верните сумму наклона каждого узла дерева.

Наклон узла дерева - это абсолютная разница между суммой всех значений узла левого поддерева и всех значений узла правого поддерева. Если узел не имеет левого дочернего элемента, то сумма значений узла левого поддерева обрабатывается как 0. Правило аналогично, если у узла нет правого дочернего элемента.

Пример:

Ввод:
root = [1,2,3]
Вывод: 1

Ввод:
root = [4,2,9,3,5,null,7]
Вывод: 15

📌 Решение задачи

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ 100 вопросов с собеседований Data Science

Habr: https://habr.com/ru/articles/783766/

Видео: https://www.youtube.com/watch?v=6Pk4OgdNxXQ
Please open Telegram to view this post
VIEW IN TELEGRAM