Python вопросы с собеседований
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
Больше📈 Аналитический обзор Telegram-канала Python вопросы с собеседований
Канал Python вопросы с собеседований (@python_job_interview) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 24 967 подписчиков, занимая 5 489 место в категории Технологии и приложения и 26 805 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 24 967 подписчиков.
Согласно последним данным от 04 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -145, а за последние 24 часа — -13, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.29%. В первые 24 часа после публикации контент обычно набирает 3.00% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 570 просмотров. В течение первых суток публикация набирает 750 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 8.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как github, api, собеседование, git, docker.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Вопросы с собеседований по Python
@workakkk - админ
@machinelearning_interview - вопросы с собесдований по Ml
@pro_python_code - Python
@data_analysis_ml - анализ данных на Python
@itchannels_telegram - 🔥 главное в ит
РКН: clck.ru/3FmrFd”
Благодаря высокой частоте обновлений (последние данные получены 05 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
import random
rng_train = random.Random(42) # отдельный генератор для train
rng_test = random.Random(99) # отдельный генератор для test
print(rng_train.randint(1, 100))
print(rng_test.randint(1, 100))
https://www.youtube.com/shorts/TLNqDK6qQmU
matrix = [[0] * 3] * 3
matrix[0][0] = 1
matrix[1].append(9)
print(matrix)
print(len(matrix))
print(len(matrix[0]))
Интуитивно кажется, что это создаёт независимые строки матрицы.
Но на самом деле Python копирует ссылки - все три строки указывают на один и тот же список.
🔍 Поэтому изменение matrix[0][0] или append() влияет сразу на все строки.
🧠 Вывод программы:
[[1, 0, 0, 9],
[1, 0, 0, 9],
[1, 0, 0, 9]]
3
4
✔️ Как правильно создавать матрицу с независимыми строками:
matrix = [[0] * 3 for _ in range(3)]
Теперь каждая строка - отдельный список, и изменения не “протекают” по всей матрице.
class ManagedFile:
def __init__(self, filename, mode):
self.filename = filename
self.mode = mode
self.file = None
def __enter__(self):
self.file = open(self.filename, self.mode)
return self.file
def __exit__(self, exc_type, exc_val, exc_tb):
if self.file:
self.file.close()
with ManagedFile('example.txt', 'w') as f:
f.write('Hello, Custom Context!')List[int] и Optional[str].
Главные идеи:
✔️ TypeGuard и новый TypeIs позволяют писать функции, которые доказательно сужают типы - например, проверка превращает Any в конкретный тип для дальнейшего кода.
✔️ assert_never из typing помогает ловить случаи, когда ты забыл обработать один из вариантов, что особенно важно в match и сложных условных ветках.
✔️ Python 3.13+ добавляет улучшенный вывод типов и строгие проверки, чтобы типизированный код стал надёжнее.
✔️ Поддержка typed function overloading - теперь можно описывать разные сигнатуры для одной функции, и анализаторы понимают их корректно.
📌 Вывод из статьи - Python типизация уже стала инструментом для архитектуры и предотвращения ошибок, особенно в больших проектах. Но большинство разработчиков использует только её простейший слой.
Кому полезно:
• работаешь с крупными кодовыми базами
• пишешь библиотеки
• хочешь меньше скрытых багов и более предсказуемые refactor-ы
Источник: martynassubonis.substack.com/p/advanced-overlooked-python-typing
nums = [1, 4, 7, 9, 15, 20, 33, 42]
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return True
if arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return False
print(binary_search(nums, 33))
print(binary_search(nums, 100))
# нельзя так делать — lambda с изменением состояния
data = [1, 2, 3]
logs = []
# опасный антипаттерн
process = lambda x: logs.append(f"processed {x}") or (x * 10)
result = [process(n) for n in data]
print("RESULT:", result)
print("LOGS:", logs)
Плохо: индекс по email НЕ используется
SELECT *
FROM users
WHERE LOWER(email) = 'user@example.com';
-- Хорошо: нормализуем значение заранее
SELECT *
FROM users
WHERE email = 'user@example.com';
-- Или создаём функциональный индекс (PostgreSQL)
CREATE INDEX idx_users_email_lower ON users (LOWER(email));
https://www.youtube.com/shorts/AyiAslOeJFA
print("Старт")
time.sleep(2) # простая задержка
print("Пауза 2 секунды завершена")
#2 вариант
import asyncio
async def main():
print("Асинхронный старт")
await asyncio.sleep(1.5) # не блокирует поток
print("Прошла асинхронная задержка 1.5 сек")
asyncio.run(main())
#3 вариант
import time
start = time.perf_counter()
while time.perf_counter() - start < 1: # точная контрольная задержка ~1 сек
pass
print("Прошла точная задержка без sleep")
funcs = []
for i in range(5):
# Ошибка - все функции запомнят i=4
funcs.append(lambda: i)
print([f() for f in funcs]) # [4,4,4,4,4]
funcs_safe = []
for i in range(5):
# Правильно - захватываем текущее значение
funcs_safe.append(lambda i=i: i)
print([f() for f in funcs_safe]) # [0,1,2,3,4]
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
