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 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”
Завдяки високій частоті оновлень (останні дані отримано 30 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
10
5
7
• Вывод
1. Петя
2. Толя
3. Вася
• Код:
Пишите свое решение в комментариях👇
#junior
@python_job_interview“boolean expected”, если передан другой тип переменной.”
Пример:
reverse(True) ➞ False
reverse(False) ➞ True
reverse(0) ➞ "boolean expected"
reverse(None) ➞ "boolean expected"
Пишите ваши варианты решения в комментах.
Пишите свое решение в комментариях👇
#junior
@python_job_interviewO(log n). Такой структурой данных может быть, например, декартово дерево, дерево Фенвика, . Перед выполнением алгоритма для решения задачи сложим в нашу структуру координаты всех правых концов отрезков.
Теперь, чтобы узнать сколько из нерассмотренных отрезков имеют правый конец левее правого конца рассматриваемого отрезка, достаточно просто осуществить запрос к структуре данных «сколько чисел в тебе меньше, чем координата правого конца рассматриваемого отрезка». Ответ на этот запрос и будет ответом для рассматриваемого на данный момент нами отрезка. После запроса необходимо убрать координату правого конца отрезка из структуры данных, чтобы ответы для всех следующих отрезков были корректны: ведь левый конец рассматриваемого отрезка левее (благодаря отсортированности) левый концов всех еще нерасмотренных отрезков.
Докажем, что данное решение работает за О(n log n). Сортировка всех отрезков происходит за O(n log n), складывание всех правых концов отрезков в структуру данных за O(n log n), на стадии вычисления ответов мы рассмотрим n отрезков, для каждого из которых осуществим два запроса, оба из которых выполнятся за О(log n). Таким образом, вычисляем все ответы мы за O(n log n) с препроцессингом за O(n log n), а значит, и асимптотика всего решения O(n log n).
Пишите свое решение в комментариях👇
@python_job_interview["MyStack", "push", "push", "top", "pop", "empty"]
[[], [1], [2], [], [], []]
Вывод: [null, null, null, 2, 2, false]
Объяснение:
MyStack myStack = new MyStack();
myStack.push(1);
myStack.push(2);
myStack.top(); // return 2
myStack.pop(); // return 2
myStack.empty(); // return False
Решение:
class MyStack:
def __init__(self):
self.stack=[]
def push(self, x: int) -> None:
self.stack.append(x)
def pop(self) -> int:
return self.stack.pop()
def top(self) -> int:
return self.stack[-1]
def empty(self) -> bool:
if self.stack==[]:
return True
return False
# Your MyStack object will be instantiated and called as such:
# obj = MyStack()
# obj.push(x)
# param_2 = obj.pop()
# param_3 = obj.top()
# param_4 = obj.empty()
Пишите свое решение в комментариях👇
@python_job_interviewk[encoded_string], где k - число повторений зашифрованной строки. Необходимо вывести результирующую строку, которая соответствует расшифровке исходной строки.
Пример:
Ввод: s = "3[a]2[bc]"
Вывод: "aaabcbc"
Ввод: s = "3[a2[c]]"
Вывод: "accaccacc"
Решение:
class Solution:
def decodeString(self, s: str) -> str:
stack = []
cur = ""
k = 0
for c in s:
if c == "[":
stack.append((cur, k))
cur, k = "", 0 # reset global vars
elif c == "]":
enc, n = stack.pop()
cur = enc + n * cur
elif c.isdigit():
k = k * 10 + int(c) # for two and three digit numbers
else:
cur += c # track the lower case letters
return cur
Пишите свое решение в комментариях👇
@python_job_interview nums = [1,1,1,2,2,3], k = 2
Вывод: [1,2]
Ввод: nums = [1], k = 1
Вывод: [1]
Решение:
class Solution:
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
return [key for key, _ in Counter(nums).most_common(k)]
Пишите свое решение в комментариях👇
@python_job_interviewnums = [-2,1,-3,4,-1,2,1,-5,4]
Вывод: 6
Объяснение: 4,-1,2,1] имеет наибольшую сумму 6.
Ввод: nums = [5,4,-1,7,8]
Вывод: 23
Решение:
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
Max = nums[0]
Sum = 0
for num in nums:
Sum += num
Max = max(Max, Sum)
if Sum<0:
Sum = 0
return Max
Пишите свое решение в комментариях👇
@python_job_interviewdef decomp(n):
ans = []
d = 2
while d * d <= n:
if n % d == 0:
ans.append(d)
n //= d
else:
d += 1
if n > 1:
ans.append(n)
return ans
x = int(input())
if x == 1:
print(1)
else:
a = list(set(decomp(x)))
b = decomp(x)
y = 1
for i in range(len(a)):
y *= a[i]
k = 1
n = k*y
if a[0] != x:
for i in range(40):
t = (i+1)*y
if pow(t, t, x) == 0:
print((i+1) * y)
break
else:
print(a[0])
Пишите свое решение в комментариях👇
@python_job_interviewtrue, если строка палиндром, false - в противном случае.
Пример:
Ввод: s = "A man, a plan, a canal: Panama"
Вывод: true
Объяснение: "amanaplanacanalpanama" является палиндромом.
Ввод: s = "race a car"
Вывод: false
Объяснение: "raceacar" не является палиндромом.
Ввод: s = " "
Вывод: true
Объяснение: s - пустая строка "" после удаления всех знаков препинания и пробелов.
Так как пустая строка читается одинаково в обоих направлениях, то она является палиндромом.
Решение с использвоанием регулярного выражения
import re
class Solution(object):
def isPalindrome(self, s):
new_s = re.sub(r"[^a-zA-Z0-9\\s+]", "", s).lower()
return new_s == new_s[::-1]
re.sub(pattern, replaceString): все совпадающие вхождения указанного шаблона заменяются, указанной строкой (здесь пустая строка, так как мы хотим удалить).
Давайте объясним шаблон:
[^ ]: Сопоставляет один символ, не присутствующий в списке ниже.
a-zA-Z: Сопоставляет все буквы верхнего и нижнего регистров.
0-9: совпадает с цифрами.
\s+: Сопоставляет строку символов, не являющихся пробелами.
Добавляем \, первый из которых "просит" Python не интерпретировать последующие.
Наконец, шаблон совпадает со всеми неалфавитными символами, а re.sub() позволяет нам удалить все встречающиеся символы из строки.
new_s[::-1] используется для переворачивания строки.
Пишите свое решение в комментариях👇
@python_job_interview