Python вопросы с собеседований
25.7K subscribers
581 photos
33 videos
17 files
464 links
Вопросы с собеседований по Python

@workakkk - админ

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

@pro_python_code - Python

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

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

РКН: clck.ru/3FmrFd
Download Telegram
Каким будет вывод этого кода?
Anonymous Quiz
4%
[1, 4, 5 ]
14%
Ошибка
8%
[-2, -3]
58%
[1, -2, -3]
15%
Узнать ответ
🤔8👍6
🖥 Полный гайд: защита от SQL-инъекций для разработчиков

SQL-инъекции остаются одной из самых частых и опасных уязвимостей в веб-приложениях. Ошибка в одном запросе — и злоумышленник получает доступ к базе данных, паролям и пользовательским данным.

В этом материале — полный практический разбор:
как именно происходят SQL-инъекции, какие ошибки разработчиков к ним приводят, как их распознать в коде и главное — как защититься.

Разберём реальные примеры на Python, PHP и Go, посмотрим, как атакующий «взламывает» запрос, и научимся писать безопасный код с параметризованными запросами и ORM.

Это не теория, а руководство, которое поможет понять уязвимость изнутри и навсегда закрыть её в своих проектах.

👉 Читать гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥1
🖥 Практический гайд по автоматизации процессов на Python

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

✔️ Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
🧠 Создайте своего ChatGPT с nanochat

nanochat — это минималистичный фреймворк для создания LLM, аналогичного ChatGPT, с возможностью запуска на одном узле. Он включает все этапы от токенизации до веб-сервиса с простым интерфейсом, позволяя взаимодействовать с вашим собственным языковым моделью.

🚀Основные моменты:
- Полный стек для создания LLM в одном коде.
- Легкий в использовании и настройке.
- Поддержка различных моделей с разными затратами.
- Возможность оценки и анализа производительности.

📌 GitHub: https://github.com/karpathy/nanochat

#python
5👎2👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Один One Day Offer вам или целых три — всем? 😉

25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇

✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.

✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.

One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
One Day Offer для Research и Deep Learning Engineers.

Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
2👍1
🧩 sync-with-uv

Небольшой, но полезный пакет, который автоматизирует синхронизацию версий между uv.lock и .pre-commit-config.yaml.

Зачем это нужно:
- Часто версии инструментов (black, ruff, mypy и др.) расходятся: одно указано в lock-файле, другое — в pre-commit.
- В итоге могут воспроизводиться разные окружения и непредсказуемые ошибки.

Что делает sync-with-uv:
- Автоматически подтягивает версии из uv.lock в .pre-commit-config.yaml.
- Интегрируется как pre-commit hook.
- Поддерживает частичную синхронизацию — не затрагивает инструменты, для которых версии не заданы.

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

🔗 Репозиторий: https://github.com/tsvikas/sync-with-uv
👍52
🔥Свежий курс со Stepik: Linux: полный апгрейд твоих скиллов

Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?

Без глубокого знания базы ты не инженер - ты просто пользователь.

🔹 В курсе ты:

- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.

💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.

🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.

🚀 Сейчас действуют скидка целых - 30%, не упусти реальный шанс прокачаться.

👉 Забирай место на курсе со скидкой
2🔥2👍1👎1
🐍 Хитрая задача с собеседования по Python

> Что выведет этот код и почему?


def extend_list(val, lst=[]):
lst.append(val)
return lst

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

print(list1, list2, list3)


Вопрос: Почему list1 и list3 одинаковы?

🔍 Разбор:

Аргументы по умолчанию в Python вычисляются один раз — в момент определения функции, а не при каждом вызове.

Поэтому lst=[] создаётся один раз и сохраняется между вызовами, если вы не передали свой список явно.

🧠 Что произойдет:

- extend_list(10) → использует общий список [], теперь он [10]

- extend_list(123, []) → создаёт новый список [123]

- extend_list('a') → снова использует общий список → [10, 'a']

👉 Результат:

[10, 'a'] [123] [10, 'a']

Как исправить:

Если вы хотите, чтобы по умолчанию создавался новый список при каждом вызове, делайте так:


def extend_list(val, lst=None):
if lst is None:
lst = []
lst.append(val)
return lst


Это классическая ловушка Python-интервью - mutable default arguments.

Проверяет, понимаешь ли ты, как работают значения по умолчанию и область памяти.
🔥8