Python вопросы на собеседовании с ответами – Telegram
Python вопросы на собеседовании с ответами
7.71K subscribers
22 photos
322 links
Подготовка к собеседованию на Junior Python Developer. В этом канале никакой воды, только вопросы с собеседований и ответы на них.

@aldrson

По вопросам рекламы : @anothertechrock
Download Telegram
Решайте тесты по питону тут: @pythonquestions
#вопрос101

Напишите функцию для деления числа. Она должна принимать любое целое число (в т.ч. отрицательное) и возвращать список из двух половинок этого числа. Если входящее число нечетное, в списке должно быть большим второе число.

Примеры
number_split(4) ➞ [2, 2]
number_split(10) ➞ [5, 5]
number_split(11) ➞ [5, 6]
number_split(-9) ➞ [-5, -4]
Если вам интересны статьи и туториалы по Python, подписывайтесь на @pythonist_ru.

У нас:
1. Книги
2. Переводы статей на русский
3. Фишки питона и Django

@pythonist_ru
#вопрос102

Создайте функцию, которая будет при помощи битов четности проверять, валидна ли двоичная строка.

Рабочий пример
validate_binary("10110010") ➞ True
# Последняя цифра - бит четности.
# 0 - последняя цифра.
# 0 означает, что число единиц должно быть четным.
# Здесь 4 единицы.
# Возвращаем True.


Другие примеры
validate_binary("00101101") ➞ True
validate_binary("11000000") ➞ True
validate_binary("11000001") ➞ False


Примечание: в инпуте всегда будет 8 символов (байт).
#вопрос103

Есть план этажа здания. На этом этаже 4 комнаты (1, 2, 3, 4), все выходят в общий коридор. Комнаты не сообщаются между собой: чтобы перейти из одной комнаты в любую другую, нужно пройти через коридор (см. картинку после вопроса).

Создайте функцию, которая будет проверять, возможен ли переданный ей путь по комнатам. Коридор будет обозначаться буквой «H» (Hall).

Примеры
possible_path([1, "H", 2, "H", 3, "H", 4]) ➞ True
possible_path(["H", 3, "H"]) ➞ True
possible_path([1, 2, "H", 3]) ➞ False

Примечания
•Путь может начинаться или кончаться в коридоре.
•В качестве инпута будут передаваться только цифры 1-4 и/или буква «H».
•Комнаты не будут повторяться.
#вопрос104

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

Примечания
•2D-сетка всегда имеет форму прямоугольника или квадрата.
•Возвращать нужно именно список списков, за исключением ситуации, когда элементов просто нет. В таком случае нужно вернуть пустой список.
Тест по Machine Learning.

Кол-во вопросов: 10
Темы: Data Science.

Пройти тест: https://otus.pw/Vv2B/

P.S Сможете сдать — пройдёте на продвинутый курс для Machine Learning по специальной цене.
#вопрос105

При импорте объектов из модуля в Python обычно используется следующий синтаксис:
from module_name import object

Напишите функцию, которая будет принимать неверно составленную инструкцию импорта и возвращать правильную. Передаваться в функцию будут исключительно неправильно составленные инструкции.
👍1
#вопрос106

Как обычно, ваша задача — написать функцию. Функция будет принимать любое число. Из цифр этого числа нужно будет составить пары и сложить получившиеся числа. Функция должна вернуть сумму чисел, составленных из пар цифр.
Для составления пары берем первую и последнюю цифру числа, продвигаясь от краев к центру.

Пример с разбором
closing_in_sum(2520) ➞ 72
# Первая и последняя цифры - 2 и 0.
# Из цифр 2 и 0 составляем число 20.
# Вторая и предпоследняя цифра - 5 и 2.
# Из цифр 5 и 2 составляем число 52.
# 20 + 52 = 72


Другие примеры
closing_in_sum(121) ➞ 13
# 11 + 2
closing_in_sum(1039) ➞ 22
# 19 + 3
closing_in_sum(22225555) ➞ 100
# 25 + 25 + 25 + 25


Примечания
• Если передано число с нечетным количеством цифр, центральную цифру просто прибавляем к общей сумме (см. пример 1).
• Нуль тоже считаем отдельной цифрой (см. пример 2).
#вопрос107

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

Примеры
pluralize(["cow", "pig", "cow", "cow"]) ➞ { "cows", "pig" }
pluralize(["table", "table", "table"]) ➞ { "tables" }
pluralize(["chair", "pencil", "arm"]) ➞ { "chair", "pencil", "arm" }


Примечания
• Передаваться будут только слова на английском языке.
• Для упрощения будем считать, что множественное число всегда образуется путем добавления окончания s.