Python вопросы с собеседований
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
نمایش بیشتر📈 تحلیل کانال تلگرام Python вопросы с собеседований
کانال Python вопросы с собеседований (@python_job_interview) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 24 948 مشترک است و جایگاه 5 488 را در دسته فناوری و برنامهها و رتبه 26 827 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 24 948 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 08 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -147 و در ۲۴ ساعت گذشته برابر -7 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 5.90% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 3.07% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 1 472 بازدید دریافت میکند. در اولین روز معمولاً 765 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 8 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند github, api, собеседование, git, docker تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Вопросы с собеседований по Python
@workakkk - админ
@machinelearning_interview - вопросы с собесдований по Ml
@pro_python_code - Python
@data_analysis_ml - анализ данных на Python
@itchannels_telegram - 🔥 главное в ит
РКН: clck.ru/3FmrFd”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 09 ژوئن, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
occurence(), которая принимает строку s и заменяет последовательные вхождения символа x на (n, x). Результат выведите на экран.
Примечание: все символы строки s являются целыми числами от 0 до 9.
Пример:
Входные данные:
s = '1222311'
Вывод:
(1, 1) (3, 2) (1, 3) (2, 1)
Пояснение: вначале 1 встречается только один раз. Меняем на (1, 1). Затем, 2 появляется три раза и заменяется на (3, 2) и так далее.
Важно: не забудьте пробелы между скобками.
Пишите свое решение в комментариях👇
@python_job_interviewn человек, рост i-го из них равен ai условных единиц. Вы тоже собираетесь встать в эту шеренгу, при чем вам хочется встать на такую позицию p, чтобы f(p) = [количество людей левее вас того же роста, что и вы] умножить на [количество людей правее вас ростом, не равным росту вас] было максимально. Для этого вы можете встать в начало шеренги, в её конец, или между любыми 2мя соседними людьми. К сожалению вы не можете точно вспомнить ваш рост, у вас есть только m предположений о том, каким он может быть, и для каждого из них вы хотели бы знать оптимальную позицию, на которую вам стоило бы встать.
Решение:
Cчитаем сразу для нулевой позиции, сколько в списке не вашего роста для каждой гипотезы. А потом на каждом шаге изменяем кол-во равных слева и неравных справа по текущему значению списка
equal = [0 for i in range(len(m))]
notequal = [len(list(filter(lambda x: x != m[i], n))) for i in range(len(m))]
valsave = [0 for i in range(len(m))]
possave = [0 for i in range(len(m))]
for i in range(len(n)):
for x in range(len(m)):
if n[i] == m[x]:
equal[x] += 1
if n[i] != m[x]:
notequal[x] -= 1
val = equal[x] * notequal[x]
if val > valsave[x]:
valsave[x] = val
possave[x] = i+1
print(possave)
Пишите свое решение в комментариях👇
@python_job_interviewfunc1(1, 2)
> Ничего не выводится
func1(2, 1)
> Ничего не выводится
func1(3, 1)
> Ничего не выводится
func1(1, 2)
# Функция с такими аргументами уже запускалась!
func2(1, 2)
> Ничего не выводится, т.к. функция другая
func2(1, 2)
# Функция с такими аргументами уже запускалась!
Пишите свое решение в комментариях👇
@python_job_interviewdef func(...):
...
print('Я закончила работать!')
func()
# Затрачено 0.5 секунд
# Я закончила работать!
Пишите свое решение в комментариях👇
@python_job_interviewarr = [1, 5, 2, 3, 6]
Ответ: 3
Пример:
arr = [100, 5, 2, 4, 3, 6]
Ответ: 4.5
Примечание: Если в выборке четное число элементов, то за медиану нужно взять среднее между центральными элементами (после упорядочивания).
Дополнительная информация
Обратите внимание, что шаблон решения представлен в виде (на примере языка Python):
class Answer:
def function(self, arg1, arg2):
# напишите свой код ниже
return res
Здесь function - функция, которую вам нужно написать (от задачи к задаче ее имя меняется), а arg1, arg2 - аргументы этой функции.
Чтобы решить задачу, напишите свой код между комментарием и выражением return ....
print(Answer().function(arg1, arg2))
Если вам нужно импортировать какой-то модуль, указывайте модуль до class Answer. Например:
import mymodule
class Answer:
...
Полный пример:
# импортируем модуль
import collections
class Answer:
def problemSolve(self, n, m):
# напишите свой код ниже
...
return res
# промежуточно смотрим результат
print(Answer().problemSolve(n=2, m=3))
Пишите свое решение в комментариях👇
@machinelearning_interview(revenue / cost - 1) * 100
Пример работы программы:
results = {
'vk': {'revenue': 103, 'cost': 98},
'yandex': {'revenue': 179, 'cost': 153},
'ok': {'revenue': 103, 'cost': 110},
'adwords': {'revenue': 35, 'cost': 34},
'twitter': {'revenue': 11, 'cost': 24},
}
Результат:
{'adwords': {'revenue': 35, 'cost': 34, 'ROI': 2.94},
'ok': {'revenue': 103, 'cost': 110, 'ROI': -6.36},
'twitter': {'revenue': 11, 'cost': 24, 'ROI': -54.17},
'vk': {'revenue': 103, 'cost': 98, 'ROI': 5.1},
'yandex': {'revenue': 179, 'cost': 153, 'ROI': 16.99}}
Пишите свое решение в комментариях👇
@python_job_interview(dfs), если мы нашли элемент 1-го острова, тогда меняем значение в двумерной матрице на 2. Для экономии времени мы будем заранее заполнять очередь для будущего обхода в ширину (bfs).
n = len(grid)
queue = []
def dfs(x, y):
if x > 0 or x >= n or 0 > y or y >= n or grid[x][y] != 1:
return
grid[x][y] = 2
queue.append([x, y, 0])
dfs(x - 1, y)
dfs(x + 1, y)
dfs(x, y - 1)
dfs(x, y + 1)
# Перебираем двумерный массив, пока не найдем первый элемент суши
flag = False
for i in range(n):
for j in range(n):
if grid[i][j]:
dfs(i, j)
flag = True
break
if flag:
break
2. С помощью обхода в ширину мы найдем кратчайший путь до 2-го острова, для этого мы заполнили очередь координатами элементов 1-го острова.
# Чтобы убрать больше количество условных операторов
# я буду использовать цикл for, в котором я буду перебирать
# все возможные варианты дальнейшего пути
dirct = [(0, 1), (0, -1), (1, 0), (-1, 0)]
while len(queue) != 0:
# step - расстояние до 2-го острова
x, y, step = queue[0][0], queue[0][1], queue[0][2]
queue.pop(0)
for dx, dy in dirct:
x1, y1 = x + dx, y + dy
if 0 > x1 or x1 >= n or 0 > y1 or y1 >= n:
continue
if grid[x1][y1] == 1:
return step # ответ на задачу
if grid[x1][y1] == 0:
grid[x1][y1] = 2
queue.append([x1, y1, step + 1])
Весь код:
class Solution(object):
def shortestBridge(self, grid):
n = len(grid)
queue = []
def dfs(x, y):
if 0 > x or x >= n or 0 > y or y >= n or grid[x][y] != 1:
return
grid[x][y] = 2
queue.append([x, y, 0])
dfs(x - 1, y)
dfs(x, y - 1)
dfs(x + 1, y)
dfs(x, y + 1)
flag = False
for i in range(n):
for j in range(n):
if grid[i][j]:
dfs(i, j)
flag = True
break
if flag:
break
dirct = [(0, 1), (1, 0), (-1, 0), (0, -1)]
while len(queue) != 0:
x, y, step = queue[0][0], queue[0][1], queue[0][2]
queue.pop(0)
for dx, dy in dirct:
x1, y1 = x + dx, y + dy
if 0 > x1 or x1 >= n or 0 > y1 or y1 >= n:
continue
if grid[x1][y1] == 1:
return step
if grid[x1][y1] == 0:
grid[x1][y1] = 2
queue.append([x1, y1, step + 1])
@python_job_interviewimport random
import numpy as np
def merge(lst1, lst2):
yield from lst1
yield from lst2
def shuffle_list(n: int):
lst = np.arange(1, n)
np.random.shuffle(lst)
return lst
def random_insert(lst, item):
lst.insert(random.randrange(len(lst)+1), int(item))
def find_item(lst: list):
init_lst = []
for item in lst:
if lst.count(item) == 1:
init_lst.append(item)
return init_lst
n = int(input("n > "))
a_list = shuffle_list(n)
b_list = shuffle_list(n)
c_list = list(merge(a_list, b_list))
e = input("e > ")
random_insert(c_list, e)
print(find_item(c_list))
Это громоздкое решение. Пишите свое решение в комментариях👇
@python_job_interview
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
