Python вопросы с собеседований
25.7K subscribers
583 photos
36 videos
17 files
465 links
Вопросы с собеседований по Python

@workakkk - админ

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

@pro_python_code - Python

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

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

РКН: clck.ru/3FmrFd
Download Telegram
📚 Знакомьтесь, хендбуки от Яндекс Образования


Бесплатные интерактивные учебники для студентов и начинающих специалистов по Python, C++ и машинному обучению. Теория, которая пригодится в решении реальных задач.

Погружайтесь в дисциплину с нуля или выбирайте отдельные темы, выполняйте задания и следите за прогрессом. Хенбуки помогут закрыть пробелы в знаниях, подготовиться к экзаменам или собеседованиям.

👉Учиться по хендбукам
👍5
🌟 Рисуем шахматную доску с помощью Matplot!

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python trick: группировка с помощью itertools.groupby

Иногда при работе с коллекциями в пайтон нужно быстро сгруппировать данные по ключу и при этом не писать громоздкий цикл с проверками. В таких случаях можно использовать модуль итэртулз и функцию группбай. Она позволяет превратить список в словарь с удобной структурой, где каждый ключ сразу содержит все связанные элементы. Это сильно экономит строки кода и делает его чище.



from itertools import groupby
from operator import itemgetter

data = [
{"category": "A", "value": 10},
{"category": "B", "value": 20},
{"category": "A", "value": 30},
{"category": "B", "value": 40},
]

сортировка обязательна перед groupby
data.sort(key=itemgetter("category"))

grouped = {
key: list(group) for key, group in groupby(data, key=itemgetter("category"))
}

print(grouped)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
This media is not supported in your browser
VIEW IN TELEGRAM
🔥Продвинутый совет по ускорению Python-кода

Один из скрытых тормозов Python — частые вызовы маленьких функций внутри циклов. Каждый вызов вносит оверхед интерпретатора. Если функция простая, её можно «инлайнить» (встроить прямо в цикл), или использовать NumPy vectorization и Numba JIT, чтобы убрать лишние вызовы.

Например, вместо того чтобы вызывать функцию миллионы раз, можно скомпилировать её через @njit из Numba — и Python-код превратится в машинный, работая в десятки раз быстрее. Это особенно эффективно для численных расчётов, работы с массивами и больших циклов.

Хочешь больше таких фишек? Подписывайся на нас и каждый день получай свежие и нестандартные советы, которые реально прокачают твои навыки разработчика!


import numpy as np
from numba import njit

# Обычная Python-функция — будет работать медленно на больших данных
def transform(x):
return x * x + x % 7

# JIT-компиляция убирает интерпретационный оверхед
@njit
def fast_transform(arr):
res = np.empty_like(arr)
for i in range(arr.size):
res[i] = arr[i] * arr[i] + arr[i] % 7
return res

data = np.arange(10_000_000, dtype=np.int64)

# Медленный вариант: Python-функция внутри list comprehension
res1 = [transform(x) for x in data]

# Быстрый вариант: Numba скомпилировала цикл в машинный код
res2 = fast_transform(data)

print(res1[:5], res2[:5])
🔥43
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Проверка сетевых сервисов в Python через socket

В Python можно быстро проверить, доступен ли сетевой сервис и как быстро он отвечает, не прибегая к сложным утилитам.
Это помогает опытным разработчикам, когда нужно оперативно убедиться, что API или база данных действительно доступны и не "подвисают".

Через socket можно реализовать мини-проверку состояния сети и времени отклика.


import socket
import time

def check_service(host: str, port: int, timeout: float = 2.0):
try:
start = time.perf_counter()
with socket.create_connection((host, port), timeout=timeout):
elapsed = time.perf_counter() - start
print(f"[OK] {host}:{port} доступен, ответ за {elapsed:.3f} сек")
except Exception as e:
print(f"[FAIL] {host}:{port} недоступен — {e}")

пример: проверка доступности Google DNS и локального сервиса

check_service("8.8.8.8", 53)
check_service("localhost", 5432)
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
🤖 PharosTestnet Bot: Автоматизация для криптоактивов

PharosTestnet-bot — это Python-бот для автоматизации различных операций с криптовалютами на тестовой сети. Он поддерживает множество функций, включая автоматический вход, управление ликвидностью и работу с прокси. Идеален для трейдеров, желающих оптимизировать свои действия.

🚀Основные моменты:
- Автоматический ежедневный вход
- Поддержка всех типов прокси
- Многопоточность для повышения производительности
- Автообмен и управление ликвидностью
- Получение статистики по аккаунтам

📌 GitHub: https://github.com/haspread/PharosTestnet-bot

#python
4👍1