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

@aldrson

По вопросам рекламы : @anothertechrock
Download Telegram
Если вам интересны статьи и туториалы по 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.
#вопрос108

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

Примеры:
1. get_missing_letters("abcdefgpqrstuvwxyz") ➞ "hijklmno"
2. get_missing_letters("zyxwvutsrq") ➞ "abcdefghijklmnop"
3. get_missing_letters("abc") ➞ "defghijklmnopqrstuvwxyz"
4. get_missing_letters("abcdefghijklmnopqrstuvwxyz") ➞ ""

Примечания
• Подразумевается использование английского алфавита. Всего в двух строках должно быть 26 букв.
• Все буквы будут в нижнем регистре.
#вопрос109

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

Примеры:
1.dolla_dolla_bills(10) ➞ "$10.00"
2.dolla_dolla_bills(1000000) ➞ "$1,000,000.00"
3.dolla_dolla_bills(-314159.2653) ➞ "-$314,159.27"
4.dolla_dolla_bills(-56.99) ➞ "-$56.99"

Примечания:
• Нужно обязательно округлять дробную часть числа до сотых.
• Обратите внимание, что дробная часть числа в денежном формате отделяется точкой, а тысячи разделяются запятыми.
• В функцию могут передаваться как положительные, так и отрицательные числа.
#вопрос110

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

Примеры:
1.time_to_finish(
"And so brings my conclusion to its conclusion.",
"And so brings my conclusion to its conclus"
) ➞ 2

2.time_to_finish(
"As a result, my point is still valid.",
"As a result, my"
) ➞ 9

3.time_to_finish(
"Thank you for reading my essay.",
"T"
) ➞ 12.5