Собеседование (мок-интервью) для Junior Python-разработчика

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024

ความคิดเห็น • 31

  • @HexletOrg
    @HexletOrg  4 หลายเดือนก่อน +4

    🌸 До 14 мая скидка на курсы по Python от 15 000 до 30 000 рублей: ru.hexlet.io/link/wLBgoM
    🔥 Бесплатный курс «Основы Python» от Хекслета. Начните в любое время: ru.hexlet.io/link/5Vq2jV
    ✅ Полезные вебинары по программированию каждую неделю: ru.hexlet.io/link/Uqrgvw
    00:00:00 интро
    00:00:20 занимался проектированием электростанций, обучился в августе 2023 и в январе 2024 устроился на работу
    00:01:23 пугалки про магические часла
    00:03:14 что такое транзакции в базе данных
    00:05:03 зачем нужны базы данных
    00:06:22 теоретическая задача: как найти записи по диапозону дат в очень старой базе данных
    00:09:10 за сколько происходит поиск в бинарном дереве
    00:11:10 что такое SOLID
    00:13:08 типы данных в Python
    00:17:50 асинхронность в Python
    00:21:36 зачем в Python многопоточность
    00:26:40 что такое Yeild
    00:30:03 дескрипторы в Python
    00:30:49 как в Django сделать join
    00:32:30 строка содержит открывающиеся и закрывающиеся скобки, нужно проверить валидность
    01:01:20 есть поезд, который едет с определённой скоростью из пункта A в пункт B и есть воробей, который летит в пункт B быстрее поезда, в пункте B разворачивается, летит обратно к поезду, снова разворачивается до пункта B и повторяет так до тех пор, пока поезд не окажется в пункте B. Сколько километров пролетит воробей в общем?
    01:20:20 резюмируем
    01:22:36 какие книги по Python прочитать
    01:28:25 советы, если хочется уйти в сеньоры

  • @nitnatsnokk
    @nitnatsnokk 20 วันที่ผ่านมา

    Спасибо за полезный ролик!

  • @КириллР-ч5ю
    @КириллР-ч5ю 2 หลายเดือนก่อน +1

    задача про скобки
    def check_parentheses(_str: str) -> bool:
    dct = {'{': ')]', '(': ']}', '[': '})'}
    opening_bracket = 0
    for i, bracket in enumerate(_str):
    if i != len(_str) - 1 and bracket in dct.keys() and not _str[i + 1] in dct[bracket]:
    opening_bracket +=1
    else:
    opening_bracket -= 1
    if opening_bracket < 0:
    return False
    return True

  • @IDVRI
    @IDVRI หลายเดือนก่อน +1

    Тоже покажу решение) (скобки через рекурсию)
    brackets = {
    '{': '}',
    '[': ']',
    '(': ')'
    }
    def check_brackets(string: str) -> bool:
    if len(string) == 0:
    return True
    if brackets[string[0]] in string:
    string = string.replace(brackets[string[0]], '', 1)
    else:
    return False
    return check_brackets(string[1:])

  • @sterben207
    @sterben207 2 หลายเดือนก่อน +1

    Задачу про поезд и воробья же можно решить так?
    def sparrow_distance(distance,sp_v,tr_v):
    return (sp_v/tr_v)*distance

  • @Сергей-ф2ъ7я
    @Сергей-ф2ъ7я 4 หลายเดือนก่อน +4

    На задачку про воробья плотно попался

  • @pillow_eng
    @pillow_eng 2 หลายเดือนก่อน

    задача про скобки
    opened_sym=['(','[','{']
    closed_sym=['}',']',')']
    def check_brackets(st):
    open_brack=[i for i in st if i in opened_sym]
    close_brack=[i for i in st if i in closed_sym]
    return len(open_brack)==len(close_brack)

    • @igorsamoilenko4628
      @igorsamoilenko4628 2 หลายเดือนก่อน +1

      Плохо... даже на '}{' возвращает True

  • @mihto5202
    @mihto5202 4 หลายเดือนก่อน +6

    Вопрос к автору: а как питоновская многопоточность поможет ему бустануть вычисление числа Пи до миллиардного знака?

    • @gaxeliy
      @gaxeliy 4 หลายเดือนก่อน +4

      Она поможет не заблокировать эвентлуп

    • @mihto5202
      @mihto5202 4 หลายเดือนก่อน

      @@gaxeliy т.е. это буст относительно асинхронного выполнения, но не относительно обычного синхронного?

    • @gaxeliy
      @gaxeliy 4 หลายเดือนก่อน

      @@mihto5202 конкретно в этом кейсе - да

    • @gaxeliy
      @gaxeliy 4 หลายเดือนก่อน

      @@mihto5202 в данном кейсе - да

    • @arhangelist
      @arhangelist 4 หลายเดือนก่อน +2

      Это в общем и не буст даже. Просто возможность не заблокировать напрочь приложение, пока идёт длительное вычисления, периодически самостоятельно возвращая управление event loop'у.

  • @R_in_B
    @R_in_B 22 วันที่ผ่านมา

    Можно просто на динамически меняющимся счетчике решить если счетчик стал в какой то момент отрицательный то False, если он в конце остался 1 то тоже False ну а если в конце 0 то True

  • @PRiKoL1ST1
    @PRiKoL1ST1 2 หลายเดือนก่อน +1

    поиск в бинарном дереве будет линейный!

    • @aj3n556
      @aj3n556 หลายเดือนก่อน +1

      Интервьюер слабый, для логарифмического времени нужно чтобы дерево было сбалансированным, чего упомянуто не было.

  • @КонстантинАлексеев-ы9б
    @КонстантинАлексеев-ы9б 3 หลายเดือนก่อน

    Задачу про скобки можно через рекурсию
    If _str[0] in open_brackets and _str[-1] in close_brackets:
    If PAIRS_Brackets[_str[0]]==_str[-1]: return check_brackets(_str[1:-1])
    Ну и дописать условия выхода из рекурсии (if len(_str) == 1 or ==2 return True
    Плюс условия elif return False для условий записать
    Пиша с телефона тут не удобняк все расписать.
    Хотя перед кем я оправдываюсь, идите нах.й

  • @ignatrotenberg7676
    @ignatrotenberg7676 3 หลายเดือนก่อน +1

    Ахах, таким себя тупым почувствовал после задачи с воробьем.
    Посчитал каждую точку пересечения и сложил сходящийся ряд.
    А после того как досмотрел понял что птица будет летать вплоть до достижения поездом конца пути, а точки пересечения никто и не просил :D

    • @BylKaktus
      @BylKaktus 3 หลายเดือนก่อน +1

      А я туда-сюда птичку гонял 🥲
      Надо, кажется, налечь на математику

  • @pretcb
    @pretcb 2 หลายเดือนก่อน

    Задача про скобки:
    CLOSE_BRACKETS = '}])'
    OPEN_BRACKETS = '{[('
    PAIRS_BRACKETS = {'[]', '{}', '()'}
    def ckeck_brackets(s: str) -> bool:
    open_stack = []
    close_stack = []
    for bracket in s:
    if bracket in CLOSE_BRACKETS:
    if not open_stack:
    return False
    close_stack.append(bracket)
    elif bracket in OPEN_BRACKETS:
    open_stack.append(bracket)
    else:
    return False
    if open_stack and close_stack and (open_stack[-1] + close_stack[-1] in PAIRS_BRACKETS):
    open_stack.pop()
    close_stack.pop()
    if open_stack or close_stack:
    return False
    return True
    увидел потом решение до конца автора, да - 1 список close_stack - можно выкинуть.
    Про воробья еще не дослушал, но видя ехидную улыбку ведущего понял прикол, спойлерить не буду лишь намекну - время полета воробья нам уже известно из условия задачи :))) ржу не могу

  • @imadna5810
    @imadna5810 4 หลายเดือนก่อน

    def check_brackets(symbols: str) -> bool:
    result = []
    hash_map = {')': '(', '}': '{', ']': '['}
    for i in symbols:
    if i in hash_map.values():
    result.append(i)
    elif i in hash_map.keys():
    if result == [] or result.pop() != hash_map[i]:
    return False
    return result == []

    • @gaxeliy
      @gaxeliy 4 หลายเดือนก่อน +1

      "([)]" выйдет true, а должно быть false

    • @gaxeliy
      @gaxeliy 4 หลายเดือนก่อน +1

      Не говоря уже про "))(("

    • @imadna5810
      @imadna5810 4 หลายเดือนก่อน +2

      @@gaxeliy не так понял задачу, изменил решение )