Python вопросы с собеседований
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
Show more📈 Analytical overview of Telegram channel Python вопросы с собеседований
Channel Python вопросы с собеседований (@python_job_interview) in the Russian language segment is an active participant. Currently, the community unites 24 960 subscribers, ranking 5 498 in the Technologies & Applications category and 26 831 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 24 960 subscribers.
According to the latest data from 06 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -143 over the last 30 days and by -5 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 6.02%. Within the first 24 hours after publication, content typically collects 2.99% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 502 views. Within the first day, a publication typically gains 746 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 8.
- Thematic interests: Content is focused on key topics such as github, api, собеседование, git, docker.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Вопросы с собеседований по Python
@workakkk - админ
@machinelearning_interview - вопросы с собесдований по Ml
@pro_python_code - Python
@data_analysis_ml - анализ данных на Python
@itchannels_telegram - 🔥 главное в ит
РКН: clck.ru/3FmrFd”
Thanks to the high frequency of updates (latest data received on 08 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
.pyc отличается от .py
• Что такое GIL
• Будет ли возвращать что-то функция без return?
• Что такое миксины
• Сколько может быть родителей и наследников у класса
• Что такое json, xml
• Какой паттерн программирования реализует Django
• Что такое JOIN и какой он может быть
• Метаклассы в Python
📎 Вопросы и ответы
@python_job_interviewdef 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_interviewpip 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__iter__() и __next__(). Метод __iter__() возвращает сам итератор, а __next__() — следующий элемент коллекции. Если элементы заканчиваются, __next__() должен вызвать исключение StopIteration. Итераторы позволяют явно перебирать элементы коллекции, не требуя, чтобы все элементы были доступны в памяти одновременно.
🔘Генераторы — это специальный способ реализации итераторов. Они создаются при помощи функций с ключевым словом yield. Главное отличие генератора заключается в том, что значения генерируются по требованию. Каждый раз, когда генератор достигает yield, он возвращает значение и «замирает», сохраняя своё состояние до следующего вызова. Это позволяет использовать меньше памяти при итерации по длинным последовательностям.
#вопросы_с_собеседований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
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_interviewexpr_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
Available now! Telegram Research 2025 — the year's key insights 
