Оптимизация и рефакторинг FastAPI‑сервиса
requests.get блокирует event loop внутри async-ручки. Используйте async HTTP-клиент либо сделайте ручку синхронной; добавьте timeout, валидацию пагинации и контролируемые ошибки.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
requests.get блокирует event loop внутри async-ручки. Используйте async HTTP-клиент либо сделайте ручку синхронной; добавьте timeout, валидацию пагинации и контролируемые ошибки.
Читать ответВывод — [1, 2, 3]. Умножение списка на 1 создаёт новый внешний список, поэтому замена data[0] не меняет new_data.
Читать ответДа, текущие экземпляры уже допустимы как ключи: хеш стабилен, а равенство унаследовано по идентичности. Постоянный hash=0 лишь создаёт множество коллизий.
Читать ответРезультат — ['beegeek', 'y', 'e', 's', 'no']. extend перебирает строку посимвольно, а append добавляет строку как один элемент.
Читать ответИзмерьте разницу time.perf_counter до и после вызова и умножьте на 1000. finally позволяет вывести длительность даже при исключении.
Читать ответОтбирайте объявления условием minimum <= price <= maximum. Проверьте обе границы, пустой вход, отсутствие совпадений и некорректный диапазон.
Читать ответЗамените () на o и (al) на al, оставив G неизменным. Такой вариант также сохранит уже готовую строку Goal из первого примера.
Читать ответНужны транзакция, копия входного словаря и возвращаемый book. Переменная objs сейчас не используется, а обложки создаются отдельными запросами.
Читать ответЖадно берите 2, 4, 6 и далее, пока остатка хватает на следующее число. Ненулевой остаток прибавьте к последней части; количество частей останется максимальным.
Читать ответВ примере отклонения равны 0, 5 и 10, общая сумма — 15. Указанные 75 и diff=40 ошибочны; сравнивать нужно суммы одного client_id.
Читать ответНичего не будет напечатано: первое значение range(5) равно 0, поэтому break выполняется раньше print.
Читать ответСкопируйте значение следующего узла в node и перенаправьте node.next через один узел. Это возможно благодаря гарантии, что node не последний.
Читать ответ