Python вопросы с собеседований
25.1K subscribers
527 photos
22 videos
17 files
422 links
Вопросы с собеседований по Python

@workakkk - админ

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

@pro_python_code - Python

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

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

РКН: clck.ru/3FmrFd
Download Telegram
📖 Типовая задача на собеседование Python

Условие задачи:
Напишите функцию, которая возвращает n-ое число Фибоначчи. Числа Фибоначчи определяются следующим образом:
— F(0) = 0
— F(1) = 1
— F(n) = F(n-1) + F(n-2) для n > 1

Примеры:
— Для n = 10 ожидается результат 55
— Для n = 15 — 610

Решение:
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b

# Тестирование
print(fibonacci(10)) # 55
print(fibonacci(15)) # 610


Пояснение:
1️⃣ При n = 0 и n = 1 функция возвращает предопределённые значения 0 и 1 соответственно.
2️⃣ Для n > 1 используются две переменные a и b, которые хранят предыдущие числа Фибоначчи. На каждом шаге цикла они обновляются: a принимает значение b; b — сумму a + b. После завершения цикла возвращается b, содержащее искомое число.
3️⃣ Время работы: O(n), так как требуется n итераций. Память: O(1), потому что используются только две переменные.


Пишите свои варианты решения в комментариях 👇

@python_job_interview
👍63🔥2
🖥 Python Developer Stack — вся мощь Python-разработки в одном посте

Хочешь понять, какие инструменты реально нужны Python-разработчику? Лови универсальную шпаргалку по лучшим библиотекам и технологиям — от новичка до синьора.

📦 Управление пакетами
pip, conda, poetry — устанавливай, обновляй, фиксируй зависимости без боли.

🧠 AI & ML
TensorFlow, PyTorch, Scikit-learn — машинное обучение и нейросети.
NumPy, Pandas, Matplotlib, Seaborn — анализ и визуализация данных.

⚙️ Автоматизация и AI-агенты
LangGraph, CrewAI — создание LLM-агентов и пайплайнов.
Airflow, Celery, Luigi — ETL, очереди задач и планировщики.

🌐 Веб-фреймворки
Django, Flask, FastAPI — под любой масштаб.
Tornado, Pyramid — для сложных архитектур.

📊 Базы данных
PostgreSQL, MySQL, MongoDB, SQLite, Redis, Cassandra — SQL и NoSQL.

✍️ Тестирование
Pytest, Unittest, nose2 — пишем надёжный и протестированный код.

🔍 Web Scraping
BeautifulSoup, Scrapy, Selenium, Playwright — вытаскиваем данные даже с "закрытых" сайтов.

🤓 DevOps и деплой
Docker, Kubernetes, AWS, Heroku, GCP, Azure — всё для продакшн-сборок.

⌨️ IDE и редакторы
VS Code, PyCharm, Jupyter, Spyder — выбирай, где удобнее кодить.

💡 Git и CI/CD
Git, GitHub, GitLab, Bitbucket — контроль версий и автоматизация сборок.

🔥 Это не просто список. Это твой ориентир в мире Python. Сохрани, чтобы не искать дважды.

#python #разработка #шпаргалка #devtools #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥21🐳1
🔥 Полный гайд по подготовке к собеседованиям по программированию в 2025 году

Подготовка к собеседованиям по программированию постоянно развивается. Компании используют всё более сложные задачи, включающие алгоритмы, структуры данных, проектирование систем и вопросы о поведении кандидата.

В 2025 году собеседования остаются серьёзным испытанием: от вас ждут не только знания, но и умение объяснять свои мысли, работать с ограниченным временем и применять системный подход.

В этом руководстве мы собрали лучшие практики подготовки, советы по решению сложных задач и примеры вопросов, чтобы вы смогли уверенно подойти к собеседованию.

🔜 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 УСКОРЕНИЕ КОДА ЗА СЧЁТ ЛОКАЛЬНЫХ ПЕРЕМЕННЫХ

💡 Используй локальные переменные внутри циклов — это может ускорить выполнение на 20–30%, особенно в критичных по времени участках.

Почему это работает?
В Python доступ к локальной переменной быстрее, чем к глобальной или объектной, потому что локальные хранятся в массиве, а не в словаре.

Пример:


# Медленно: обращение к свойствам объекта в цикле
class Processor:
def __init__(self, data):
self.data = data

def compute(self):
total = 0
for item in self.data:
total += item * item
return total



# Быстрее: кэшируем ссылку на data как локальную переменную
class Processor:
def __init__(self, data):
self.data = data

def compute(self):
data = self.data # локальная переменная
total = 0
for item in data:
total += item * item
return total

# Прирост в скорости особенно заметен при больших объёмах данных```
👍15🤯106👎2🔥2
🧠 Почему asyncio вызывает боль? Потому что даже простая ошибка может сломать всю цепочку задач.

🐍 tinyio — это минималистичный event loop для Python (всего ~200 строк), который работает через yield, а не await, и делает асинхронность прозрачной.

Что умеет:
yield вместо await: проще отлаживать и понимать
• Параллельный запуск: yield [task1(), task2()]
• Фоновые задачи: yield {task1(), task2()}
• Прерывание всех задач при одной ошибке
• Встроенные Lock, Semaphore, Event, timeout

Пример:

def slow_add(x):
yield tinyio.sleep(1)
return x + 1

def main():
a, b = yield [slow_add(1), slow_add(2)]
return a + b

Loop().run(main()) # → 5


Когда нужно просто и понятно — tinyio делает то, что должен. Никакой магии.

🔗 https://github.com/patrick-kidger/tinyio

@python_job_interview
👎93👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Нужно временно отключить все принты — например, в проде или при юнит-тестах?

Этот трюк нужен, чтобы временно отключить принты не удаляя и не комментируя строки вручную.

На экране простой способ сделать это через контекстный менеджер — без сторонних библиотек и без комментирования строк.


import sys, os
from contextlib import contextmanager

@contextmanager
def suppress_print():
saved = sys.stdout
sys.stdout = open(os.devnull, 'w')
yield
sys.stdout.close()
sys.stdout = saved

Пример:

print("Это видно")
with suppress_print():
print("А это — нет")
print("Снова видно")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥91🥰1