SOLID‑рефакторинг: переработка класса FileStats
Разделите подсчёт метрик, выбор метрик для формата и представление результата. Агрегатор не должен знать, какие расширения поддерживают строки или столбцы.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Разделите подсчёт метрик, выбор метрик для формата и представление результата. Агрегатор не должен знать, какие расширения поддерживают строки или столбцы.
Читать ответУнаследуйте вызываемый объект от int и возвращайте новый экземпляр при каждом вызове. Так прежние суммы остаются переиспользуемыми; sum_two * 10 равно 20, не 1824.
Читать ответБудет выведено 10. g_val — глобальная переменная, outer_val принадлежит outer_function, inner_val локальна для inner_function.
Читать ответВынесите повторяющийся ввод положительного целого в функцию, обработайте ValueError и исправьте текст результата на Work done.
Читать ответСоздайте общий Parser.parse и две реализации: DecimalParser проверяет всю строку, JsonParser читает целочисленное поле value. Нераспознанные значения возвращают None.
Читать ответБудет выведено {3: 'pineapple', 4: 'pear'}. enumerate выдаёт исходные индексы, а фильтрация не перенумеровывает выбранные элементы.
Читать ответПередавать ORM-объект в Celery некорректно для обычного JSON-сериализатора. Также APIView не предоставляет get_serializer/create-контракт, а отправка письма не согласована с записью статуса.
Читать ответДля нормализованной связи многие-ко-многим помимо teachers и programs нужна третья связующая таблица teacher_program с уникальной парой идентификаторов.
Читать ответХраните уже встреченные числа и ищите дополнение target − value. Первый пример ошибочен: 8 + 3 = 11, а пары с суммой 12 в нём вообще нет.
Читать ответСгруппируйте книги по автору и выберите группы с COUNT(*) > 1, возвращая fullname. Группировка должна включать id, а не только имя.
Читать ответСформируйте пары через zip, затем словарь и пересоберите его по отсортированным ключам. Для разной длины явно выберите правило обработки лишних элементов.
Читать ответИспользуйте бинарный поиск по отсортированному массиву. bisect_left находит первую возможную позицию, после чего нужно проверить совпадение значения.
Читать ответ