ru
Feedback
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 822 подписчиков, занимая 5 258 место в категории Технологии и приложения и 26 472 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 24 822 подписчиков.

Согласно последним данным от 25 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -44, а за последние 24 часа — 0, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.01%. В первые 24 часа после публикации контент обычно набирает 2.76% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 1 492 просмотров. В течение первых суток публикация набирает 684 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 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 822
Подписчики
Нет данных24 часа
+637 дней
-4430 день
Архив постов
🖥 Python: вопросы и ответы с собеседований Держите 36 вопросов с ответами по Python + вопросы по Computer Science, Django, п
🖥 Python: вопросы и ответы с собеседований Держите 36 вопросов с ответами по Python + вопросы по Computer Science, Django, по базам данных и не только. Успешных собеседований) ▶️ Вопросы/ответы @python_job_interview

🖥 Вопросы для собеседования Python Junior Держите большой список из 98 вопросов по Python и немного по смежным штукам типо G
+2
🖥 Вопросы для собеседования Python Junior Держите большой список из 98 вопросов по Python и немного по смежным штукам типо Git, SQL. Вопросы есть простые и не очень, вот некоторые из них: • Чем файл .pyc отличается от .py • Что такое GIL • Будет ли возвращать что-то функция без return? • Что такое миксины • Сколько может быть родителей и наследников у класса • Что такое json, xml • Какой паттерн программирования реализует Django • Что такое JOIN и какой он может быть • Метаклассы в Python 📎 Вопросы и ответы @python_job_interview

🖥 Поиск значений в словаре неизвестной глубины Периодически на собеседованиях попадаются задачи с похожей формулировкой. 🟡П
🖥 Поиск значений в словаре неизвестной глубины Периодически на собеседованиях попадаются задачи с похожей формулировкой. 🟡Перебрать весь словарь неизвестной глубины и содержимого, включающие в себя вложенные словари, можно с помощью рекурсии. Для этого подойдет функция такого вида (кстати, здесь используются аннотации типов):
def find_all_keys(input_dict: dict) -> list:
    result = []
    for key, val in input_dict.items():
        if key.startswith('description'):
            result.append(val)
        if isinstance(val, dict):
            result.extend(find_all_keys(val))
    return result
Функция перебирает все элементы словаря и либо кладет его в новый словарь с результатами, если есть совпадение с искомым, либо запускает сама себя для элементов, представляющие собой так же словарь. На выходе получается массив найденных значений. 🟡Для запуска поиска нужно создать переменную под массив с результатам и вызвать созданную функцию, передав ей исходный словарь:
data = yaml.safe_load(Path(sys.argv[1]).read_text())
descriptions = find_all_keys(data)
Ну вот, теперь на одну проблемную задачу меньше) @python_job_interview

🖥 Как упаковать бинарные зависимости? Для упаковки бинарных зависимостей в проект следует использовать менеджеры пакетов. Для Python наиболее распространены pip и conda. Для Java - Maven или Gradle. Пример для Python с использованием pip: Установите необходимые библиотеки и зависимости в проекте: pip install requests numpy pandas Создайте файл requirements.txt с полным списком зависимостей: requests numpy pandas Упакуйте зависимости в архив: pip freeze > requirements.txt Можно передать файл requirements.txt другим пользователям вашего проекта, которые могут установить все зависимости одной командой: pip install -r requirements.txt Для упаковки бинарных зависимостей можно использовать инструмент wheel. Wheel-файлы - это zip-архивы, содержащие установочные файлы для Python-пакетов, и могут содержать бинарные расширения (например, скомпилированные модули C), которые необходимо собрать и установить на целевой машине. Для создания wheel-файла для Python-пакета можно использовать команду pip wheel. Например, если есть файл с требованиями requirements.txt, содержащий список зависимостей вашего проекта, можете создать wheel-файлы для всех зависимостей с помощью следующей команды: pip wheel -r requirements.txt Вы также можете установить wheel-файлы с помощью pip install, указав имя файла: pip install mypackage-1.0.0-py3-none-any.whl Таким образом, вы можете создавать и распространять бинарные зависимости в виде wheel-файлов и использовать их при установке пакетов на других устройствах. @python_job_interview

Программирование сейчас - один из немногих социальных лифтов, доступных всем! Лучший способ начать свой путь в IT - изучать Python. Этот язык не такой сложный для изучения, однако на нем создают сайты, чат-боты и даже искусственный интеллект. Например, Netflix, YouTube и Google написаны на этом языке. С нуля стать опытным разработчиком со средней зарплатой в 180 000 рублей можно в онлайн-школе Product Star на курсе “Профессия: Python-разработчик”. Курс создан специалистами из топовых компаний с реальным опытом в индустрии, благодаря чему в процессе обучения вы будете погружаться в реальные кейсы. После обучения ваше портфолио пополнится проектами, которые будет не стыдно показать любому работодателю. И самое главное: Product Star гарантируют трудоустройство, а если в процессе поймете, что специальность не для вас, вам вернут деньги. Станьте Python-разработчиком вместе с ProductStar. Скидка до 57% и техническое собеседование с топовым разработчиком в подарок - https://go.productstar.ru/tt6fn8?erid=LjN8KUre4 Реклама. ООО "ТРИВИУМ". ИНН 7806297293.

🔎 С помощью каких инструментов можно выполнить статический анализ кода? Для статического анализа кода есть несколько инструментов: Pylint - это инструмент, который анализирует исходный код на соответствие PEP8, а также предупреждает о потенциальных ошибках в коде. Flake8 - это комбинированный инструмент, который объединяет в себе Pylint, PyFlakes и множество других правил, обеспечивающих соответствие стиля написания кода и обнаруживающих ошибки в исходном коде. Mypy - это статический типизатор для Python, который позволяет находить ошибки в типах переменных в исходном коде. Bandit - это инструмент для поиска уязвимостей в исходном коде Python. Black - это инструмент для автоматического форматирования кода Python, который придерживается только одного стиля написания кода. Pycodestyle — это простая консольная утилита для анализа кода Python, а именно для проверки кода на соответствие PEP8. Один из старейших анализаторов кода, до 2016 года носил название pep8, но был переименован по просьбе создателя языка Python Гвидо ван Россума. Vulture — это небольшая утилита для поиска “мертвого” кода в программах Python. Она использует модуль ast стандартной библиотеки и создает абстрактные синтаксические деревья для всех файлов исходного кода в проекте. Далее осуществляется поиск всех объектов, которые были определены, но не используются. Vulture полезно применять для очистки и нахождения ошибок в больших базовых кодах. Эти инструменты могут улучшить качество кода, облегчить его чтение и поддержку, а также помочь избежать ошибок, связанных с типами переменных и уязвимостями безопасности. Пишите в комментариях, какие инструменты анализа кода используете вы 👇 @python_job_interview

Расти от рядового разработчика до архитектора: Слёрм набирает 5 поток курса по архитектуре приложений 🌀 Что такого крутого у
Расти от рядового разработчика до архитектора: Слёрм набирает 5 поток курса по архитектуре приложений 🌀 Что такого крутого умеет делать архитектор? Он пишет чистые и управляемые проекты, создает поддерживаемые системы и может организовывать код. И всему этому Слёрм учит на курсе «Архитектура приложений». Стартуем 29 апреля, записаться можно здесь Чему вы сможете научиться на курсе: 🟠Вы последовательно пройдете от основ до полноценных архитектурных диаграмм, 🟠Будете рефакторить код, проводить архитектурные границы, анализировать системы. ➕ В Слёрме не просто учат инструментам: здесь помогают выработать мышление архитектора. Спикеры курса: Александр Вагнер, Senior Software Engineer в Bidease Более 10 лет в IT, построил с нуля компанию и платформу Torrow. Вячеслав Гагарин, Старший разработчик ПО в Retail Rocket, Более 7 лет опыта в IT. Этот курс для тех, кто хочет систематизировать свои знания и готов выйти на новый профессиональный уровень: не просто заниматься разработкой, но и проектировать архитектуру. Курс длится 3 месяца. Вы будете работать с реальными практическими заданиями и разбирать технические моменты. Эксперты курса будут отвечать на все вопросы по обучению: и в групповом чате, и на 3 онлайн-встречах. ➡️ Подробную программу смотрите на сайте Реклама ООО «Слёрм» ИНН 3652901451

🖥 В чем разница между итератором и генератором? В Python и итераторы, и генераторы позволяют перебирать элементы коллекций, но работают немного по-разному. 🔘Итераторы — это объекты, которые реализуют методы __iter__() и __next__(). Метод __iter__() возвращает сам итератор, а __next__() — следующий элемент коллекции. Если элементы заканчиваются, __next__() должен вызвать исключение StopIteration. Итераторы позволяют явно перебирать элементы коллекции, не требуя, чтобы все элементы были доступны в памяти одновременно. 🔘Генераторы — это специальный способ реализации итераторов. Они создаются при помощи функций с ключевым словом yield. Главное отличие генератора заключается в том, что значения генерируются по требованию. Каждый раз, когда генератор достигает yield, он возвращает значение и «замирает», сохраняя своё состояние до следующего вызова. Это позволяет использовать меньше памяти при итерации по длинным последовательностям. #вопросы_с_собеседований

🚀 Python Митап: Django VS Litestar, Токены отмены, Liveconfigs и многое другое! Модератор — Григорий Петров, Devrel Evrone Э
🚀 Python Митап: Django VS Litestar, Токены отмены, Liveconfigs и многое другое! Модератор — Григорий Петров, Devrel Evrone Эксперт - Никита Соболев, независимый open-source разработчик 🔥 Темы и спикеры: ✔️ Django VS Litestar: кто круче? — Александр Гончаров, Reef Technologies Рассмотрим относительно новый фреймворк Litestar и сравним его с гигантом Django, чтобы понять, что в новинке круто, а чего не хватает ✔️ Токены отмены: паттерн и тулинг — Евгений Блинов, VK Узнайте о токенах отмены, элегантном способе описания ограничений в коде и их отмене извне для улучшения тестируемости и читаемости. ✔️ Управляем кодом из админки с помощью Liveconfigs — Денис Дудник, Factory5 Погрузитесь в мир кастомных настроек алгоритмов и бизнес-правил в Django-проектах. Узнайте о django-liveconfigs и его преимуществах перед классическими подходами. ✔️ Доверяй, но проверяй — Алексей Жиряков, KION Данные основа современного мира, на них обучаются нейросети и другой МЛ, через их призму видят пользователя в продукте, принимают решения по внедрению и поддержке фич, выбирают направления развития. ➖➖➖ 🗓 24 апреля, начало в 19:00 мск, Среда 🌐 ОНЛАЙН Регистрация на мероприятие Реклама, ООО "Эвроне.ру", ИНН 3663057399

🖥 Проверка на верное количество парных скобок [{()}] ▶️Популярная задача с собеседований: написать код для проверки, верно л
+1
🖥 Проверка на верное количество парных скобок [{()}] ▶️Популярная задача с собеседований: написать код для проверки, верно ли расставлены скобки в выражении (для каждой открывающей должна быть закрывающая скобка). Как можно написать этот код? ▶️Оптимальным решением будет использование стека и постоянное удаление элементов в нем, если скобки открывающаяся и закрывающаяся совпадают, то они очищаются из стека и так до тех пор, пока он не окажется пустым:
def check(string):
    brackets_open = ('(', '[', '{', '<')
    brackets_closed = (')', ']', '}', '>')
    stack = []
    for i in string:
        if i in brackets_open:
            stack.append(i)
        if i in brackets_closed:    
            if len(stack) == 0:
                return False
            index = brackets_closed.index(i)
            open_bracket = brackets_open[index]
            if stack[-1] == open_bracket:
                stack = stack[:-1]  
            else: return False  
    return (not stack)
Проверяем, как работает:
str1 = '[{([[[<>]]])(<>)(){}}]' 
str2 = ']()(){<>}[[()]]' 

print(check(str1))  #True
print(check(str2))  #False
🟡Ну а если хочется вызвать особые чувства у собеседующего — используйте Regex (второе изображение) @python_job_interview

Систематизируете и углубите знания бэкенд-разработки на Python на курсе Яндекс Практикума за 6 месяцев. Преимущества курса: —
Систематизируете и углубите знания бэкенд-разработки на Python на курсе Яндекс Практикума за 6 месяцев. Преимущества курса: — актуальная программа, которая постоянно обновляется; — много практики, лайвкодинг и хакатон; — возможность совмещать с другой учёбой или работой; — наставники из Яндекса и не только; — помощь с трудоустройством. ◾️Погружайтесь в Python, нарабатывайте нужные навыки и осваивайте инструменты для работы. Начните курс бесплатно, а если понравится, платите как удобно: в рассрочку или целиком. Начать бесплатно

🖥 Задача о дубликатах в списке Итак, задача: напишите функцию, которая принимает на вход несортированный связный список и уд
🖥 Задача о дубликатах в списке Итак, задача: напишите функцию, которая принимает на вход несортированный связный список и удаляет из него все дубликаты. Задачу можно решить как минимум 2 способами 🟡Движение по списку с использованием двух указателей

def remove_duplicates(first):
   if not first:
       return

   nextone = first

   while nextone:
       runner = nextone
       while runner.next:
           if runner.next.val == nextone.val:
               runner.next = runner.next.next
           else:
               runner = runner.next
       nextone = nextone.next

   return first
Функция remove_duplicates принимает на вход один аргумент first, в который мы передаем начало списка. Далее создаем переменную nextone, которая инициализируется значением first. nextone используем для перемещения по списку, она указывает на текущий элемент. То есть эта переменная является первым указателем. Переменная runner — второй указатель. 🟡Метод с использованием хеш-таблицы Этот подход к удалению дубликатов в связанном списке использует хеш-таблицу, чтобы отслеживать пройденные уникальные значения.

def remove_duplicates(list_head):  
    if not list_head:  
        return  
  
    seen = set()  
    current = list_head  
    prev = None  
  
    while current:  
        if current.val in seen:  
            prev.next = current.next  
        else:  
            seen.add(current.val)  
            prev = current  
        current = current.next  
  
    return list_head
Функция remove_duplicates принимает на вход один аргумент list_head, в который мы передаем начало списка. Она проверяет, пуст ли список. Если да, она возвращает результат и завершает работу. Если в списке содержится хотя бы один элемент, функция начинает их обрабатывать. Далее создаем множество seen, которое будем использовать для отслеживания уникальных значений связанного списка. 📎 Подробнее @python_job_interview

🖥 Как преобразовать строчное значение в список? ⏩Есть строка: expr_str = "[1, 2, 3, 4]" Как эту строку можно преобразовать в
🖥 Как преобразовать строчное значение в список? ⏩Есть строка: expr_str = "[1, 2, 3, 4]" Как эту строку можно преобразовать в список? Вот, аж целых четыре способа 🟡Вариант 1

from ast import literal_eval

res = literal_eval(expr_str)
🟡Вариант 2

import json

res = json.loads(expr_str)
🟡Вариант 3

import yaml

res = yaml.safe_load(expr_str)
🟡Вариант 4

res = [int(i) for i in re.findall('\d+', expr_str)]
@python_job_interview

⚡Очное обучение Python в НИУ ВШЭ Освойте Python и научитесь применять его для анализа данных на курсе «Python для автоматизац
Очное обучение Python в НИУ ВШЭ Освойте Python и научитесь применять его для анализа данных на курсе «Python для автоматизации и анализа данных» от Центра непрерывного образования ФКН НИУ ВШЭ. Подойдет как начинающим, так и тем, у кого уже есть опыт в программировании. Обучение очное в кампусе НИУ ВШЭ в Москве. Старт: 16 апреля. Стоимость: 70 000₽. Оплату можно разделить на 2 части. Полная программа и регистрация: по ссылке. Реклама. НИУ ВШЭ. ИНН 7714030726 Erid: 2SDnjcfzWk9

👩‍💻 Как вы будете проверять утечку памяти в Linux? Для проверки утечки памяти в Linux можно использовать утилиту Valgrind. Она предназначена для отладки программ, написанных на C, C++ и других языках, и позволяет обнаруживать утечки памяти, ошибки использования указателей и другие проблемы. Для использования Valgrind в Python необходимо установить пакет memcheck-3.4.1 (или более новую версию) и запустить интерпретатор Python с помощью утилиты Valgrind. Например: valgrind --tool=memcheck --leak-check=yes python myscript.py Это запустит скрипт myscript.py под управлением Valgrind и выведет отчет о возможных утечках памяти и других проблемах. Также можно использовать модуль Python tracemalloc, который позволяет отслеживать использование памяти в Python и выводить отладочную информацию. Пример использования:

import tracemalloc
tracemalloc.start()  # начало трассировки памяти

# ваш код

snapshot = tracemalloc.take_snapshot()  # текущее состояние памяти
top_stats = snapshot.statistics('lineno')

print("[ Top 10 ]")
for stat in top_stats[:10]:
    print(stat)
Это выведет топ-10 участков кода с наибольшим использованием памяти. Однако, обратите внимание, что использование tracemalloc может снизить производительность программы и требует дополнительной обработки кода. @linuxacademiya

🖥 Как проверить содержится ли в строке какое-то слово из списка? ▶️Например есть список: words = ["Авто", "Велосипед", "Само
🖥 Как проверить содержится ли в строке какое-то слово из списка? ▶️Например есть список:
words = ["Авто", "Велосипед", "Самолет"]
И такая строка:
st = "Быстрый автомобиль"
Нужно вернуть True, т.к. в строке есть слово "авто" из списка. ▶️Можно вот так:
def is_part_in_list(st, words):
    for word in words:
        if word.lower() in st.lower():
            return True
    return False
    
print(is_part_in_list(st, words))    
*️⃣Изящный вариант в одну строку:
print(any(word.lower() in st.lower() for word in words))
*️⃣Или можно вот так с маппингом вместо цикла для разнообразия:
print(any(map(text.lower().__contains__, map(st.lower, words))))
@python_job_interview

📌Система контроля версий git. Первый проект на GitHub Есть то, что объединяет всех разработчиков, неважно, на Python вы пиши
📌Система контроля версий git. Первый проект на GitHub Есть то, что объединяет всех разработчиков, неважно, на Python вы пишите или на чём-то ещё — это понимание git 🤓 Держите мощный туториал по системе контроля версий git и о его реализации на примере GitHub. Самое то, если только разбираетесь с этим, да и для GitHub-гуру подойдёт, освежить основные понятия не помешает. Некоторые факты из статьи: ⏩Ветвление по умолчанию может быть "main" или "master" в зависимости от версии Git и настроек окружения. ⏩Создание новой ветки помогает изолировать изменения от основного кода и решать проблемы. ⏩Конфликты могут возникнуть при слиянии изменений из разных веток, и их разрешение требует проверки состояния репозитория и внесения необходимых изменений в файлы. ⏩Работа с удаленными репозиториями на GitHub включает создание аккаунта, создание удаленного репозитория, связывание локального репозитория с удаленным и отправку изменений на GitHub. ⏩Pull Requests (запросы на внесение изменений) используются на платформе GitHub для предложения изменений в код проекта и интеграции их в основную кодовую базу. 🖥 Туториал @python_job_interview

👩‍💻 Как найти PID процесса и как узнать, сколько ресурсов занимает процесс в Linux? В Linux можно найти идентификатор процесса (PID) с помощью утилиты ps. Вы можете использовать команду ps aux | grep process_name для поиска процесса по его имени и показа его PID. Например: ps aux | grep firefox Это покажет все запущенные процессы Firefox, их PID и другую информацию. Вы также можете использовать утилиту top, чтобы увидеть запущенные процессы и их PID. Команда top покажет текущую нагрузку на систему и список всех процессов, запущенных в данный момент. Она также отображает информацию о каждом процессе, включая его PID, процент использования процессора и использование памяти. Чтобы узнать, сколько ресурсов занимает процесс, вы можете использовать утилиту ps. Команда ps отображает информацию о процессах, включая использование памяти. Вы можете использовать команду ps -p pid -o %cpu,%mem для показа процессорного и памятевого использования определенного процесса. Например: ps -p 1234 -o %cpu,%mem Это вернет процент использования процессора и памяти для процесса с PID 1234. Если вы хотите увидеть более подробную информацию о процессах, вы можете использовать команду top. В top вы можете сортировать процессы по использованию процессора или памяти, чтобы найти наиболее интенсивно использующий ресурсы процесс. @python_job_interview

erid: LjN8KQr5U Deep Learning это буквально суперсила, которая работает подобно человеческому мозгу. Специалисты этой сферы с
erid: LjN8KQr5U Deep Learning это буквально суперсила, которая работает подобно человеческому мозгу.  Специалисты этой сферы создают нейросети и находятся на стыке анализа данных и разработки. Рекомендации фильмов, переводчики или генерация ответов на вопросы как от Siri - это все их работа. Deep Learning Инженеров нанимают крупные компании, а начальная зарплата варьируется от 120 000 рублей в месяц. Создавать и обучать такие нейросети вы научитесь в онлайн-школе Data Science KARPOV.COURSES.  Учиться вы будете у практикующих специалистов - поэтому за 4 месяца вы получите все знания и навыки, которые пригодятся в реальной работе. Школа поможет вам с трудоустройством - 89% студентов уже нашли работу благодаря карьерному сопровождению.  Научитесь создавать нейросети: https://clc.to/b0ICuw  По промокоду PYTHONJI получите скидку 5000 рублей до 24.04.2024  Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627.

🖥 Что такое Method Resolution Order (MRO)? Method Resolution Order (MRO) — это порядок, в котором интерпретатор ищет методы при множественном наследовании. MRO описывает, как Python разрешает методы, вызываемые по наследству. Он определяет порядок, в котором функции и методы с одинаковыми именами в базовых классах располагаются при поиске. По умолчанию Python использует алгоритм C3 линеаризации, чтобы вычислить MRO. Этот алгоритм гарантирует, что при следовании MRO будут учитываться все исходные порядки, сохраняя при этом их локальный порядок. MRO является важной концепцией множественного наследования в Python, и его понимание необходимо для эффективного использования этого языка. @python_job_interview