uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Python вопросы с собеседований

Python вопросы с собеседований

Відкрити в Telegram

Вопросы с собеседований по 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 950 підписників, посідаючи 5 326 місце в категорії Технології та додатки та 26 130 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 24 950 підписників.

За останніми даними від 28 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 81, а за останні 24 години на -5, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 5.88%. Протягом перших 24 годин після публікації контент зазвичай збирає 3.12% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 1 466 переглядів. Протягом першої доби публікація в середньому набирає 778 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 6.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як github, api, собеседование, git, docker.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd”

Завдяки високій частоті оновлень (останні дані отримано 29 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

24 950
Підписники
-524 години
-67 днів
+8130 днів
Архів дописів
Как сказать рутине STOP? Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Pyth
Как сказать рутине STOP? Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Python для инженеров» 👈 Это обучение, заточенное на инженеров — в нём нет ничего лишнего, только то, что необходимо именно вам. На курсе вы научитесь: 🔹 писать эффективный и поддерживаемый код; 🔹 писать Kubernetes-операторы и модули для Ansible; 🔹 создавать, использовать и тестировать свои API; 🔹 взаимодействовать с инструментами CI/CD, CVS и DevOps системами. Есть бесплатный демодоступ. Старт 11 августа. Занять своё место на курсе — по ссылке.

📖 Типовая задача на собеседование 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

🐍 Печатай переменные с их именами без повторов — с помощью f‑строк и := (walrus operator) Вместо этого:

print(f"x = {x}, y = {y}, z = {z}")
Пиши так:

print(f"{x=}, {y=}, {z=}")

x=42, y='hello', z=[1, 2, 3]
🔥 А ещё лучше — используем := (оператор моржа) для печати и присваивания одновременно:

print(f"{(n := len(mylist))=}")
✅ Это одновременно сохранит len(mylist) в n и выведет его:

n=5

Хочешь знать, что происходит внутри ИТ крупного банка? Команда ПСБ рассказывает о работе и жизни в блоке ИТ! 🔹 Знакомься с к
Хочешь знать, что происходит внутри ИТ крупного банка? Команда ПСБ рассказывает о работе и жизни в блоке ИТ!   🔹 Знакомься с командой, их проектами и хобби 🔹 Участвуй в активностях: митапы, конференции, спорт 🔹 Читай и комментируй экспертные статьи   Подписывайся на канал  ИТ ПСБ !

🐍 Задача: Реализация декоратора `@smart_cache` с интеллектуальным кэшированием 📌 Описание Реализуйте декоратор @smart_cache, который кэширует результаты функции с учетом следующих требований: 1. Интеллектуальная очистка кэша — автоматически удаляет старые записи при превышении лимита 2. Поддержка разных стратегий вытеснения — LRU, LFU, FIFO 3. Таймаут кэша — автоматическое удаление записей по времени 4. Метрики использования — сбор статистики по попаданиям/промахам 5. Потокобезопасность — корректная работа в многопоточной среде 6. Поддержка методов классов — корректная работа с self и cls 🧩 Пример использования

import time
from threading import Thread

@smart_cache(maxsize=100, strategy='LRU', ttl=300, collect_stats=True)
def fibonacci(n):
    if n < 2:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

class MathUtils:
    @smart_cache(maxsize=50, strategy='LFU', ttl=600)
    def expensive_calc(self, x, y):
        time.sleep(0.1)  # Имитация тяжелых вычислений
        return x ** y + y ** x

# Использование
print(fibonacci(10))  # Вычисление
print(fibonacci(10))  # Из кэша

# Получение статистики
stats = fibonacci.cache_stats()
print(f"Cache hits: {stats['hits']}, misses: {stats['misses']}")

# Принудительная очистка
fibonacci.cache_clear()

# Многопоточное использование
def worker():
    for i in range(5):
        fibonacci(i)

threads = [Thread(target=worker) for _ in range(3)]
for t in threads:
    t.start()
for t in threads:
    t.join()
🛠 Требования к реализации - Используйте только стандартную библиотеку Python - Поддержка Python 3.7+ - Все стратегии вытеснения должны быть реализованы (LRU, LFU, FIFO) - TTL должен работать как для отдельных записей, так и глобально - Статистика должна включать: hits, misses, evictions, current_size - Декоратор должен корректно работать с kwargs, *args - Потокобезопасность через threading.Lock или аналоги 🧪 Бонусное задание Реализуйте методы: - cache_info() — подробная информация о текущем состоянии кэша - cache_warmup(**kwargs) — предварительное заполнение кэша - cache_persist(filename) — сохранение кэша в файл - cache_load(filename) — загрузка кэша из файла @python_job_interview

⚡️ Почему лучшие разработчики всегда на шаг впереди? Потому что они знают, где брать настоящие инсайд! Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе. ИИ: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Devops: t.me/DevOPSitsec Базы данных: t.me/sqlhub Мл собес t.me/machinelearning_interview C++ t.me/cpluspluc Docker: t.me/DevopsDocker Хакинг: t.me/linuxkalii МЛ: t.me/machinelearning_ru Data Science: t.me/data_analysis_ml Javascript: t.me/javascriptv C#: t.me/csharp_ci Java: t.me/java_library Python собеседования: t.me/python_job_interview Мобильная разработка: t.me/mobdevelop Golang: t.me/Golang_google React: t.me/react_tg Rust: t.me/rust_code ИИ: t.me/vistehno PHP: t.me/phpshka Android: t.me/android_its Frontend: t.me/front Big Data: t.me/bigdatai МАТЕМАТИКА: t.me/data_math Kubernets: t.me/kubernetc Разработка игр: https://t.me/gamedev Физика: t.me/fizmat SQL: t.me/databases_tg Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy 🎓954ГБ ОПЕНСОРС КУРСОВ: @courses 😆ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: t.me/english_forprogrammers 🧠ИИ: t.me/vistehno 🖥 Chatgpt для кода в тг: @Chatgpturbobot - 📕Ит-книги: https://t.me/addlist/BkskQciUW_FhNjEy 💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi Подпишись, чтобы всегда знать, куда двигаться дальше!

⚡️ Прокачивайся через практику: лучшие ресурсы для пет-проектов Хочешь расти как разработчик — пиши код, а не только читай! Вот 4 крутых ресурса, где ты будешь учиться через реальные задачи: App Ideas Список проектов от джуна до про: калькуляторы, трекеры, приложения. Есть примеры и полезные ссылки. 👉 github.com/florinpop17/app-ideas Build Your Own X Хочешь создать свой Git, Redis, Docker или даже ОС? Тут есть всё: гайды, туториалы и код на разных языках. 👉 github.com/codecrafters-io/build-your-own-x Project-Based Learning Обучение в формате "берёшь проект — делаешь". Примеры с пошаговыми инструкциями для разных языков. 👉 github.com/practical-tutorials/project-based-learning Frontend Mentor Получаешь макет — верстаешь сам. Отлично тренирует HTML/CSS/JS. Идеально для портфолио. 👉 frontendmentor.io Пиши код, а не резюме. Эти ресурсы реально двигают вперёд.

Какое ключевое слово служит для объявления функции в Python? a) func b) function c) async d) def Пройдите тест из 5 вопросов,
Какое ключевое слово служит для объявления функции в Python? a) func b) function c) async d) def Пройдите тест из 5 вопросов, чтобы проверить свои знания в Python 💪

🧩 Задача:

funcs = []

for i in range(3):
    def f():
        return i
    funcs.append(f)

results = [func() for func in funcs]
print(results)
❓ Что будет выведено? Многие ожидают:


[0, 1, 2]
Но Python выведет:

[2, 2, 2]
🧠 Почему так? В Python функции не копируют значения переменных, а запоминают ссылки на них. Когда f() вызывается, она смотрит, чему равен i на момент вызова, а не на момент создания функции. Переменная i в цикле после завершения становится равной 2 — и все три функции ссылаются на одну и ту же переменную i. ✅ Как это исправить? Нужно «захватить» текущее значение i в локальной области видимости через аргумент по умолчанию:

funcs = []

for i in range(3):
    def f(i=i):
        return i
    funcs.append(f)

results = [func() for func in funcs]
print(results)  # [0, 1, 2]
🧠 Чему это учит: Как работают замыкания и области видимости в Python. Почему важно понимать, когда значения «захватываются», а когда — «ссылаются».

E-CUP возвращается. Реальные данные. Масштабные проекты. Большие призы Решайте ML-задачи в стиле Ozon Tech. Девять победителе
E-CUP возвращается. Реальные данные. Масштабные проекты. Большие призы Решайте ML-задачи в стиле Ozon Tech. Девять победителей разделят призовой фонд соревнования — 7 200 000 рублей 🔥 Тест-драйв работы в e-com бигтехе стартует здесь. 🗓 Регистрация: https://cnrlink.com/ecup25pyquestion 💻 Формат участия: онлайн 👥 Команда: от 1 до 5 человек 🎯 Для кого: Data Scientists, ML-специалисты, аналитики данных, дата-инженеры, специалисты Big Data и разработчики, которые интересуются ML/DS. Что вас ждёт: 🔹 Работа над проектом для миллионов пользователей на основе данных от ведущего e-com в России. 🔹 Обмен опытом с экспертами Ozon Tech. 🔹 Эксклюзивный мерч для победителей и подарки для самых активных участников. 🔹 Питчинг — 13 сентября на конференции E-CODE. Ozon Tech предоставит финалистам билеты и оплатит поездку. Три трека E-CUP: 1️⃣ Рекомендации: предсказание следующей покупки пользователя 2️⃣ Логистика: автопланирование курьеров 3️⃣ Контроль качества: автоматическое выявление поддельных товаров Регистрация на платформе Codenrock: https://cnrlink.com/ecup25pyquestion

🧪 Pytest-BDD — фреймворк для Behavior Driven Development на Python. Инструмент позволяет писать тесты в формате Gherkin, исп
🧪 Pytest-BDD — фреймворк для Behavior Driven Development на Python. Инструмент позволяет писать тесты в формате Gherkin, используя привычный pytest. Он обладает возможность комбинировать BDD-сценарии с обычными pytest-тестами и фикстурами, что упрощает переход от unit-к интеграционным тестам. Проект поддерживает параметризацию сценариев, различные парсеры аргументов и интеграцию с другими pytest-плагинами. Подходит для проектов, где важно совмещать технические и бизнес-требования в тестах. 🤖 GitHub @python_job_interview

Когда я впервые начал искать работу в IT, у меня уже были пет-проекты, немного знаний и огромное желание попасть в профессию. Но, если честно, я не понимал, с чего начинать. Как составить резюме? Что писать, если нет коммерческого опыта? Как вообще попасть на собеседование? Много времени ушло на догадки, ошибки и отклики на вакансии, которые остались без ответа. Сейчас я бы с радостью сэкономил себе эти месяцы — и начал с четкой стратегии. 🧭 Такой план как раз подготовил Яндекс Практикум.   Они выпустили понятный гайд по стратегии поиска работы: шаг за шагом разбирают, как устроен найм сегодня, что реально важно работодателям, и как новичку не потеряться в этом процессе. 📌 Что чаще всего непонятно новичку: — Как составить резюме, если нет коммерческого опыта?   — Что писать, кроме «учился на курсах» и «делал пет-проекты»?   — Где искать вакансии, чтобы не тратить месяцы впустую?   — Как пройти первое техническое интервью и не провалиться от волнения? Всё это — не про код, а про стратегию. И хорошая новость в том, что её можно выстроить заранее. 📹 В дополнение — подборка видео от карьерных экспертов:   → как выделиться среди кандидатов,   → как составить резюме без опыта,   → как пройти собеседование и получить оффер. Гайд можно скачать прямо под этим постом — в нём простыми словами, по делу и без воды объясняют, с чего начать путь к первой работе. Забирай гайд “Как построить стратегию поиска работы” и смотри видео с экспертами, чтобы выделиться среди кандидатов и быстрее получить оффер. Реклама, АНО ДПО “Образовательные технологии Яндекса”, ИНН 7704282033

🍀 Большая шпаргалка по всем основам Python для подготовки к собеседованию @python_job_interview
+1
🍀 Большая шпаргалка по всем основам Python для подготовки к собеседованию @python_job_interview

🚀 Изучаем Python с нуля до уверенного уровня за 3 месяца — нашли лучший репозиторий для новичков. 📚 Что внутри: • Чёткая ст
🚀 Изучаем Python с нуля до уверенного уровня за 3 месяца — нашли лучший репозиторий для новичков. 📚 Что внутри: • Чёткая структура по темам — от синтаксиса до ООП, без воды • Сотни понятных примеров — меняй под себя и учись на практике • Всё объяснено простым языком — даже если ты никогда не кодил • Удобный формат Jupyter Notebook — легко читать и запускать • И главное — абсолютно бесплатно Начни разбираться в Python уже сегодня: 🔗 github.com/AllenDowney/ThinkPython @python_job_interview

📦 Pydantic Extra Types — коллекция дополнительных типов данных для Pydantic, которые не вошли в основную библиотеку. Проект
📦 Pydantic Extra Types — коллекция дополнительных типов данных для Pydantic, которые не вошли в основную библиотеку. Проект расширяет возможности валидации данных, предлагая специфические форматы и проверки. Типы подключаются как опциональные зависимости, позволяя выбирать только нужные компоненты. Например, можно добавить поддержку pendulum для работы с временными зонами. 🤖 GitHub @python_job_interview

🚀 Как оптимизировать Python‑код уже на старте — советы для новичков Не нужно быть профи, чтобы писать быстрый и аккуратный к
🚀 Как оптимизировать Python‑код уже на старте — советы для новичков Не нужно быть профи, чтобы писать быстрый и аккуратный код. Вот 7 простых приёмов, которые реально помогают: 1. Используй профайлеры (cProfile, Py‑Spy) Перед оптимизацией — измерь время. Часто больше всего тормозят совсем неожиданные места. 2. Перестрой алгоритмы и структуры данных Выбор между списком, множеством или словарём может кардинально изменить сложность: O(1) вместо O(n) при поиске. 3. Выбирай встроенные функции map, max, join — всё это написано на C и работает быстрее ручных циклов. 4. Пиши list/dict comprehensions и используй zip, enumerate Это компактнее, читабельнее и часто быстрее классических for-циклов. 5. Генераторы вместо списков, где не нужен весь набор сразу Снижают потребление памяти и ускоряют обработку. 6. Переход на PyPy или JIT‑ускорители PyPy, Numba и Cython могут дать прирост производительности в 2–100 раз для тяжёлых вычислений. 7. Избегай преждевременной оптимизации Оптимизируй только то, что реально тормозит. Профайлер покажет, где именно. 🧩 Быстрый чек-лист: • Измерил ли я время выполнения? • Подходящие ли структуры данных? • Используются ли встроенные функции? • Применены ли comprehensions и генераторы? • Рассматривал ли я PyPy или JIT? • Код по-прежнему читаемый? ✅ Вывод: даже новичок может писать быстрый и понятный Python-код. Главное — думать, замерять и улучшать без фанатизма. ▶️ Подробности с кодом

🧠 Хитрая задача по Python — *ловушка с изменяемыми значениями по умолчанию* Вопрос: Что выведет следующий код?

def append_to_list(value, my_list=[]):
    my_list.append(value)
    return my_list

print(append_to_list(1))
print(append_to_list(2))
print(append_to_list(3))
Ваш ответ? 🤔 Многие ожидают:

[1]
[2]
[3]
Но фактически вывод будет:
python 
[1]
[1, 2]
[1, 2, 3]
🔍 Почему так происходит? Параметр my_list=[] создаётся один раз — при определении функции. И он сохраняется между вызовами. То есть все вызовы функции используют один и тот же список по умолчанию. Это одна из самых частых ошибок в продакшене. ✅ Правильный способ — использовать None как значение по умолчанию:


def append_to_list(value, my_list=None):
    if my_list is None:
        my_list = []
    my_list.append(value)
    return my_list
Теперь:
[1]
[2]
[3]
Каждый вызов получает новый список. ⚠️ Если вы работаете с функциями, которые принимают списки или словари — всегда проверяйте, не мутируется ли значение между вызовами.

🧠 Ускорь import в Python-проектах с помощью lazy loading — без изменения логики Если у тебя проект с тяжёлыми модулями (`pandas`, torch, tensorflow`), но они не всегда нужны — не загружай их зря. Python позволяет **отложить импорт до первого использования**, через встроённый `importlib. Вот как это выглядит на практике:


import importlib

# Обёртка для ленивого импорта
def lazy_import(name):
    return importlib.util.LazyLoader(importlib.import_module(name))

# Использование
np = lazy_import('numpy')
# numpy ещё не загружен

# Теперь загрузится:
print(np.array([1, 2, 3]))

Repost from Python/ django
👾 GREMLLM — теперь у ваших багов есть сознание GREMLLM — это необычный Python-класс, в котором все методы и свойства создают
👾 GREMLLM — теперь у ваших багов есть сознание GREMLLM — это необычный Python-класс, в котором все методы и свойства создаются динамически с помощью LLM. Вы описываете, *что за объект вы хотите*, и дальше GREMLLM сам решает, что должно происходить при вызове методов или обращении к полям. 📦 Установка:

pip install gremllm
🔧 Пример:


from gremllm import Gremllm

counter = Gremllm('counter')
counter.value = 5
counter.increment()
print(counter.value)               # → 6?
print(counter.to_roman_numerals())  # → VI?
🧩 Возможности: – Динамическое поведение: всё определяется "на лету" с помощью LLM – Поддержка OpenAI, Claude, Gemini, и локальных моделей – Wet Mode: можно строить цепочки вызовов (методы возвращают объекты) – Verbose Mode: выводит, какой код был сгенерирован – Умная обработка ошибок и настройка через наследование ⚠️ Это экспериментальный инструмент. Не для продакшена. Но очень интересен для изучения LLM-интеграций в Python-код. 🔗 Репозиторий: https://github.com/ur-whitelab/gremllm @pythonl

🐍 Совет дня для опытных Python-разработчиков 📌 Используй декораторы с параметрами — мощный приём для логирования, контроля, кэширования и кастомных проверок. Пример: логгер, у которого можно задать уровень логирования через аргумент:

import functools
import logging

def log(level=logging.INFO):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kwargs):
            logging.log(level, f"Вызов {func.__name__} с args={args}, kwargs={kwargs}")
            return func(*args, **kwargs)
        return wrapper
    return decorator

@log(logging.DEBUG)
def compute(x, y):
    return x + y
✅ Зачем это нужно: Декоратор гибко настраивается; Подходит для трассировки в проде и отладки в деве; Сохраняет сигнатуру и docstring благодаря @functools.wraps. ⚠️ Совет: избегай вложенности >2 уровней и всегда пиши тесты на поведение декоратора. Python даёт инструменты, которые выглядят магией, но работают стабильно — если знаешь, как ими пользоваться.