Практические задачи с собеседования Backend Developer Python Middle #6

  Рет қаралды 5,609

Python собеседования

Python собеседования

Күн бұрын

Шестой выпуск из серии собеседований на позицию middle python разработчика. Снова собеседование, состоящее из практических задач.
00:00 задача на условия
08:44 задача про отрезки
29:14 код ревью
#собеседование #backend #python #middle #мидл #программирование #лайфкодинг #практическиезадачи

Пікірлер: 22
@ДімаКуріптя
@ДімаКуріптя 2 жыл бұрын
# первая задача for i in range(1, 101): multiple_3 = 'Fizz' if i % 3 == 0 else '' multiple_5 = 'Buzz' if i % 5 == 0 else '' if multiple_3 or multiple_5: print(f'{multiple_3}{multiple_5}') else: print(i) # вторая задача ab = set(range(15, 166)) crossed_line = [set(range(37, 69)), set(range(52, 75)), set(range(118, 147)), set(range(35, 45)), set(range(37, 66)), set(range(46, 75))] for line in crossed_line: ab -= line print(len(ab))
@exe88cution
@exe88cution 3 жыл бұрын
Все классно, только вот иногда проблемы со звуком расстраивают) Но, не смотря на это - было очень интересно смотреть, ждем новые видео!)
@python_interview
@python_interview 3 жыл бұрын
У интервьюера сильные помехи были. Выравнивал звуковую дорожку как мог)
@GFU472
@GFU472 3 жыл бұрын
А потом идешь и пиляешь проектики на django и ничего общего с задачками нет!
@dqqd1r1rfwgwg
@dqqd1r1rfwgwg 3 жыл бұрын
Это собеседование на Backend Developer Python Middle, в стеке кроме фреймворка Django может быть что угодно, например, рисование GUI на PySide2. Там могут пригодится алгоритмы.
@agentdaun5699
@agentdaun5699 2 жыл бұрын
@@dqqd1r1rfwgwg Backend Developer = GUI? Как они связаны? Спрашиваю без наезда, интересно просто
@maxsin567
@maxsin567 Жыл бұрын
А почему в первой задаче просто не проверяют делимость на 15 (3 * 5)? for i in range(1,101): if i % 15 == 0: print("FizzBuzz") elif i % 3 == 0: print("Fizz") elif i % 5 == 0: print("Buzz") else: print(str(i))
@python_interview
@python_interview Жыл бұрын
Можно было, хотел без лишних проверок сделать)
@ValeriyLarin
@ValeriyLarin 2 жыл бұрын
Дело полезное. Но вот нахрена фоном музыку пускать и громче говорящего - итак хреново слышно.
@markervictor
@markervictor 2 жыл бұрын
Про сложность что-то прогнали конкретно… С чего бы у нас множества создавались через компрехеншнс и вычитались за константное время? В первом варианте вообще O(размер_основного_отрезка + количество_отрезков_N * размер_отрезка_N^2), что может быть O(N^3). Можно сделать за O(N + N*logN).
@shakh3388
@shakh3388 2 жыл бұрын
А как сделать за O(N + N*logN) ? Если не сложно можете скинуть реализацию( на пример на gists'е )
@B-S-A
@B-S-A 2 жыл бұрын
​@@shakh3388 def foo(A, B, *args): '''Идея заключалась в скользящем курсоре''' length = 0 args = sorted(args, key=lambda arg: arg[0]) cursor = A for arg in args: if arg[0]>cursor: length += (arg[0] - cursor) cursor = arg[0] # Необязательно, остался как наследие формирования алгоритма в голове cursor = arg[1] if B > cursor: length += (B - cursor) # print(length) return length
@zxchain
@zxchain 2 жыл бұрын
FIzzBuzz же уже классика почти, он от тебя хотел что-то такое def fizz_buzz(): for i in range(1, 101): res = "" if i % 3 == 0: res += "Fizz" if i % 5 == 0: res += "Buzz" print(i if not res else res)
@mikhaill244
@mikhaill244 2 жыл бұрын
Задача FizzBuzz достаточно старая. Corey Schafer о ней говорил аж 6+ лет назад. kzbin.info/www/bejne/enbamI2EeJJ-r6c . А вот с отрезками интересная. Наверняка взял ее с LeetCode или CodeWars.
@Rabadann
@Rabadann 2 жыл бұрын
A = 15 B = 165 N = ((37,68), (52,74), (118,146), (35,44), (37,65), (46,74)) count = 0 for i in range(A,B+1): bl = True for k in N: if not bl: break if k[0]
@vitaliy3521
@vitaliy3521 2 жыл бұрын
def set_diff(a: int, b:int, array_of_coords:list) -> int: res = set(range(a, b)) dif = set() for segment in array_of_coords: dif |= set(range(segment[0], segment[1])) return len(res - dif)
@АндрейКосинский-ж6ц
@АндрейКосинский-ж6ц 3 жыл бұрын
Крутое видео, спасибо!
@VsevolodSoroka
@VsevolodSoroka 2 ай бұрын
Вот. Для float тоже сработает A = 15 B = 165 nn = [(37, 68), (52, 74), (118, 146), (35, 44), (37, 65), (46, 74)] nn.sort() index = 0 while index < len(nn) - 1: item1 = nn.pop(index) item2 = nn.pop(index) if item2[0] < item1[1]: nn.insert(index, [item1[0], max(item1[1], item2[1])]) else: index += 1 nn.insert(index, item1) nn.insert(index, item2) get_out_len = 0 for item in nn: get_out_len += item[1] - item[0] result = B - A - get_out_len print('result', result)
@MrBeltalowda
@MrBeltalowda 2 жыл бұрын
def fizzbuzz(): buzzwords = {3: "Fizz", 5: "Buzz", } for num in range(1, 101): substitution = "".join((val for key, val in buzzwords.items() if num % key == 0)) print(substitution if substitution else num)
@artyomvakhrushev850
@artyomvakhrushev850 Жыл бұрын
большое спасибо за контент! на самом деле интересные задачи, 1я вроде совсем простая, но когда он попросил улучшить, я чето и не думал что ее можно так сделать как ты(хотя в коментах еще более короткий вариант 1й задачи написали) вторую я решил вот таким способом: a = 15 b = 165 n1 = [37, 68] n2 = [52, 74] n3 = [118, 146] n4 = [35, 44] n5 = [37, 65] n6 = [46, 74] def funk_lst(lst: list) -> list: return [i for i in range(lst[0], lst[1])] ab = [i for i in range(a, b)] n1 = funk_lst(n1) n2 = funk_lst(n2) n3 = funk_lst(n3) n4 = funk_lst(n4) n5 = funk_lst(n5) n6 = funk_lst(n6) N = sorted(list(set(n1 + n2 + n3 + n4 + n5 + n6))) print(len(ab) - len(N)) # ответ 83
@Rabadann
@Rabadann Жыл бұрын
Не эффективное.
Собеседование на позицию Senior Python Developer 5000$ #12
21:18
Python собеседования
Рет қаралды 7 М.
Шок. Никокадо Авокадо похудел на 110 кг
00:44
Inside Out 2: BABY JOY VS SHIN SONIC 3
00:19
AnythingAlexia
Рет қаралды 9 МЛН
SHAPALAQ 6 серия / 3 часть #aminkavitaminka #aminak #aminokka #расулшоу
00:59
Аминка Витаминка
Рет қаралды 1,8 МЛН
Собеседование на позицию Backend Developer Python Middle #5
36:26
Python собеседования
Рет қаралды 6 М.
Михаил Выборный собеседование junior python разработчик
56:37
Собеседование на позицию Senior Python Developer 350т.р. #10
24:29
Python собеседования
Рет қаралды 17 М.
Python собеседование Александр Воробьёв
53:52
Андрей += Пронин
Рет қаралды 45 М.
Собеседование на позицию Backend Developer Python + Django Middle #1
35:38
Python собеседования
Рет қаралды 27 М.
Шок. Никокадо Авокадо похудел на 110 кг
00:44