Поведение функции с изменяемым аргументом по умолчанию
Будут напечатаны [10], затем [10, 10], затем [10, 10, 10]. Все вызовы без аргумента используют один список, созданный при определении функции.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Будут напечатаны [10], затем [10, 10], затем [10, 10, 10]. Все вызовы без аргумента используют один список, созданный при определении функции.
Читать ответСинтаксис допустим, но staticmethod ошибочно ожидает self, а property — лишний a. classmethod работает с именем self, хотя по соглашению его нужно назвать cls. Свойство читается без скобок.
Читать ответПосчитайте частоты в словаре и выберите ключ с максимальным счётчиком. Для примера это 4: он встречается четыре раза. При равенстве можно явно выбрать первый встретившийся элемент.
Читать ответДля конечного итерируемого объекта запоминайте элементы первого прохода, затем бесконечно повторяйте сохранённую последовательность. Пустой вход должен завершаться, иначе возникнет бесполезный бесконечный цикл.
Читать ответИспользуйте list(map(lambda value: value ** 2, nums)). lambda вычисляет квадрат каждого элемента, map применяет её к последовательности, а list собирает результат в новый список.
Читать ответТест должен проверять и изменённое содержимое исходного списка, и идентичность возвращённого объекта через assertIs. Одного сравнения значений недостаточно: копия тоже могла бы пройти его.
Читать ответОпределите правила слов, регистра и стоп-слов, затем прочитайте файл, подсчитайте частоты и выберите первые 3 или 5. Для файла около 1 МБ обычно достаточно стандартных средств Python.
Читать ответНужен обычный TCP-сокет SOCK_STREAM, не привилегированный SOCK_RAW. Сервер принимает соединение, читает HTTP-заголовки до CRLF CRLF, проверяет GET / и отправляет ответ с длиной тела в байтах.
Читать ответПрисваивание a[5] = 'b' вызовет TypeError, поскольку строки неизменяемы. Значение a останется 'Hello world!', если исключение будет перехвачено; без обработки выполнение остановится.
Читать ответВетка if не выполнится, а print(a) выведет 0. Пустой список ложен, поэтому or возвращает второй операнд — число 0, которое тоже ложно.
Читать ответПередавайте реализацию SendMessage в сервис через конструктор, а не создавайте SendMail внутри бизнес-метода. Тогда отправитель заменяется без изменения сценария, в том числе тестовым объектом.
Читать ответПроверяйте делимость на 6 первой, затем на 2 и на 3. Иначе кратные обоим числам попадут в более раннюю одиночную ветку и не получат Buzz.
Читать ответ