Python вопросы с собеседований
25.3K subscribers
550 photos
28 videos
17 files
440 links
Вопросы с собеседований по Python

@workakkk - админ

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

@pro_python_code - Python

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

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

РКН: clck.ru/3FmrFd
加入频道
👩‍💻 Полный курс по FastAPI в Python!

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

#курс #python

freecourses
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🧠 Python-хитрая задача + решение

🖍️ Условие:
У тебя есть список логов (user, login/logout).
Найди тех, кто зашел, но не вышел.

📜 Пример:

logs = [
("alice", "login"),
("bob", "login"),
("alice", "logout"),
("dave", "login"),
("bob", "logout"),
("carol", "login"),
("dave", "logout")
]


________
💻 Решение:

from collections import defaultdict

def find_stuck_users(logs):
counter = defaultdict(int)
for user, action in logs:
if action == "login":
counter[user] += 1
elif action == "logout":
counter[user] -= 1
return sorted([user for user, count in counter.items() if count > 0])


🛠Ответ: "carol"

#Python #Challenge #DevPuzzle

@python_job_interview
👍143🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Что выведет этот Python код ? #junior #python

Задача для новичков.

s = set()
a = [1, 2, 3]
s.add(tuple(a))
print(s)


Списки изменяемы и не могут быть элементами множества, но кортежи — неизменяемы и хэшируемы, поэтому кортеж из списка успешно добавится во множество.
👍43🔥2🥰1
🖥 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
5👍3🔥21🐳1
This media is not supported in your browser
VIEW IN TELEGRAM
Python-трюк: быстрая группировка данных

Хотите сгруппировать элементы по ключу без лишних циклов?
Используйте itertools.groupby — но не забудьте предварительно отсортировать данные по этому ключу, иначе группы будут неправильными.


from itertools import groupby
from operator import itemgetter

data = [
{"user": "alice", "score": 8},
{"user": "bob", "score": 5},
{"user": "alice", "score": 7},
{"user": "bob", "score": 9},
]

# Сортируем по ключу
data.sort(key=itemgetter("user"))

# Группируем и считаем средний балл
for user, items in groupby(data, key=itemgetter("user")):
scores = [i["score"] for i in items]
print(user, "avg score:", sum(scores) / len(scores))



#Python #itertools #groupby #lifehack
👍87🔥3
🐍 Python + Ruff: сложность кода под контролем

На скрине — функция validate_product, которая проходит несколько вложенных проверок.
Линтер Ruff с правилом C901 (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5.

📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки.

⚠️ Почему это важно:
• Снижение читаемости
• Рост вероятности багов
• Трудности при тестировании

💡 Решение:
1. Разбить функцию на несколько маленьких с понятными именами
2. Использовать ранние выходы (`return`) вместо вложенных if
3. Упрощать логику с помощью вспомогательных функций или структур данных

#Python #Ruff #CleanCode #Refactoring #McCabeComplexity
👍1