Python вопросы с собеседований
24.7K subscribers
508 photos
15 videos
17 files
404 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
加入频道
🖥 В этой статье представлено подробное руководство для начинающих по работе с шаблонами в Django!

🌟 Автор объясняет, что такое шаблоны Django, их преимущества и как они позволяют отделить визуальное представление сайта от логики приложения. Шаблоны содержат статические части HTML и специальный синтаксис для вставки динамического контента, что способствует созданию чистого и поддерживаемого кода.

🔗 Ссылка: *клик*

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 AnyIO — это библиотека для асинхронного программирования в Python, обеспечивающая единый интерфейс для работы с различными фреймворками, такими как asyncio и trio!

🌟 Она предоставляет высокоуровневые инструменты для конкурентного выполнения задач и сетевого взаимодействия, позволяя разработчикам писать код, совместимый с разными асинхронными библиотеками без изменений.

🔐 Лицензия: MIT

🖥 Github

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Растите сильную команду. Топ-5 курсов Яндекс Практикума для IT

👾 Технологии меняются каждый день — проверено Яндексом.


Мы ощущаем перемены на своих проектах. Постоянные вызовы, новые инструменты, штормы на рынках. Знаем, как важно, чтобы команда быстро развивалась и адаптировалась к изменениям. Поэтому создаём актуальное обучение, которое соответствует реальным задачам IT-сферы.

Нам доверяют: 5000+ компаний уже обучили 36 000+ сотрудников в Яндекс Практикуме.

👉 Вот топ-5 курсов, которые выбирали компании для развития IT-команд в 2025 году:

— SQL для работы с данными и аналитики
— DevOps для эксплуатации и разработки
— Python-разработчик
— Архитектура программного обеспечения
— Управление командой разработки
— Навыки аргументации

👉Подобрать курс

Реклама, АНО ДПО “Образовательные технологии Яндекса”, ИНН 7704282033, erid: 2VtzqvnqQ5w
🖥 Swifter — это библиотека Python с открытым исходным кодом, предназначенная для оптимизации применения функций к объектам DataFrame и Series в библиотеке pandas!

🌟 Она автоматически определяет наиболее эффективный способ выполнения операции, будь то векторизация, параллельная обработка с использованием Dask или стандартный метод apply.

🔐 Лицензия: MIT

🖥 Github

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
🧠 Python-задача на внимательность и знание подводных камней

Что выведет этот код?


def make_funcs():
funcs = []
for i in range(3):
def wrapper(x=i):
return lambda: x
funcs.append(wrapper())
return funcs

a, b, c = make_funcs()
print(a(), b(), c())


Варианты ответа:

A)0 1 2
В) 2 2 2
C)0 0 0
D)Ошибка на этапе выполнения

Ответ: 0 1 2

📘 Объяснение:
🔹 Цикл for i in range(3) проходит по значениям 0, 1, 2.

🔹 В каждой итерации вызывается wrapper(x=i) — это копирует текущее значение i в локальную переменную x.

🔹 Затем возвращается lambda: x, которая запоминает это конкретное значение x.

🔹 В итоге:

a() → 0

b() → 1

c() → 2

Если бы мы не использовали x=i по умолчанию, а писали просто lambda: i, все функции замкнули бы одну и ту же переменную i, и на момент вызова она бы уже была равна 3.


@pythonl
🖥 Создание секретного токена с помощью Python!

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Сложная задача по Python для опытных разработчиков

Что выведет следующий код?


def func(a, L=[]):
L.append(a)
return L

print(func(1))
print(func(2))
print(func(3))


Варианты ответа:
A)

[2]
[3]

B)

[1, 2]
[1, 2, 3]

C)

[1]
[1]

D)

[2]
[3]


---

Правильный ответ: B

Почему:
Списки по умолчанию (
L=[]) в Python инициализируются один раз при определении функции, а не каждый раз при вызове. Поэтому изменения сохраняются между вызовами func. Это классическая "ловушка" со значениями по умолчанию!

@python_job_interview
🖥 simplejson — это библиотека для Python, обеспечивающая простое, быстрое и расширяемое кодирование и декодирование JSON!

🌟 Она полностью написана на Python и не имеет внешних зависимостей, но включает необязательное C-расширение для повышения производительности. Поддерживает Python версии 3.3 и выше, а также имеет обратную совместимость с Python 2.5+.

🔐 Лицензия: MIT

🖥 Github

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет этот код на Python?


def append_to(element, to=[]):
to.append(element)
return to

print(append_to(1))
print(append_to(2))
print(append_to(3, []))
print(append_to(4))


🔢 Варианты ответа:

A)

[2]
[3]
[4]


B)

[1, 2]
[3]
[1, 2, 4]


C)

[1, 2]
[1, 2, 3]
[1, 2, 3, 4]


D)

[1, 2]
[3]
[4]


Правильный ответ: B

💡 Почему?

В Python дефолтные аргументы вычисляются один раз — при определении функции.
Список
to=[] сохраняется и используется повторно, если явно не передан другой.
Поэтому
append_to(1), append_to(2) и append_to(4) работают с одним и тем же списком.
Хотите освоить программирование или сменить работу в IT?
А вы готовы всего за час создать и опубликовать целое приложение?

Отлично! Тогда присоединяйтесь к онлайн-конференции «Как создать первый проект на Python и Java с нуля»!

Новички в IT узнают:
- какой язык программирования лучше выбрать для старта
- как быстро создать и развернуть приложение
- как работают Python и Java на практике
- как размещать код на GitHub и работать с репозиториями
- какие дополнительные инструменты использовать для профессионального роста

Программисты на других языках, и те, кто ищет новые возможности в IT:
- поймёте, какие IT-технологии сейчас востребованы
- узнаете, какие навыки прокачивать для успешной смены деятельности
- отработаете навыки быстрой сборки и быстрого развёртывания проекта
- узнаете о новых возможностях для обучения и развития

Также вас ждёт квиз с призами!

Спикеры:
Сурен Хоренян: бэкенд-разработчик на Python, руководитель команды в «VK Рекламе»
Сергей Прощаев: Java-разработчик
Бонус! Скидка 7% на любой курс OTUS и полезные материалы в подарок!

18 апреля, 19:00 МСК
Бесплатно

Записаться на событие - https://otus.pw/hO1Y/?erid=2W5zFG4xtxx

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Что выведет этот код на Python?


x = [1, 2, 3]
y = x
x += [4]

print(x)
print(y)


🔢 Варианты ответа:

A)

[1, 2, 3]


B)

[1, 2, 3, 4]


C)

[1, 2, 3, 4]


D)

[1, 2, 3]


Правильный ответ: B

💡 Почему?
-
x = [1, 2, 3] и y = x — ссылка на один и тот же список.
-
x += [4] модифицирует список на месте.
- Поэтому
y тоже видит изменение.
🧠 Подвох — в
+=, который работает не как x = x + [...].
🚀 SQLModel — удобное решение для работы с базами данных в Python, объединяющее силу SQLAlchemy и валидацию Pydantic. Проект устраняет главную боль разработчиков: необходимость дублировать модели для БД и API.

Инструмент имеет синтаксис на основе аннотаций типов. Один класс одновременно описывает таблицу в БД и схему для FastAPI, а встроенная поддержка IDE сразу подсказывает поля и выявляет ошибки. Например, модель Hero с полями name и secret_name готова к использованию и в миграциях, и в эндпоинтах без лишнего кода.

🤖 GitHub

@python_job_interview
👩‍💻 Docker — лучший канал для ускоренного обучения DevOps.

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

Прокачать скиллы: t.me/DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 Задача с подвохом: Что выведет код?


def extendList(val, list=[]):
list.append(val)
return list

list1 = extendList(10)
list2 = extendList(123, [])
list3 = extendList('a')

print("list1 =", list1)
print("list2 =", list2)
print("list3 =", list3)


Варианты ответа:

A.

list2 = [123]
list3 = ['a']


B.

list2 = [123]
list3 = [10, 'a']


C.

list2 = [123]
list3 = [10, 'a']


D.

list2 = [123]
list3 = ['a']


Как думаешь, какой ответ правильный и почему?

Подвох: аргументы по умолчанию в Python вычисляются один раз — при определении функции.
🔸 В extendList(val, list=[]) — этот list=[] сохраняется один и тот же объект списка для всех вызовов функции, где не передаётся list.



Что происходит:
list1 = extendList(10)
→ list=[] по умолчанию
→ list = [10]
→ list1 → [10]

list2 = extendList(123, [])
→ передали новый список
→ list = [123]
→ list2 → [123]

list3 = extendList('a')
→ снова использован тот же список, что и в list1
→ list = [10, 'a']
→ list3 → [10, 'a']
→ и list1 тоже теперь [10, 'a'], потому что это один и тот же объект

Вывод будет:

list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']