САМОЕ ЖЕСТКОЕ СОБЕСЕДОВАНИЕ ЧАСТЬ 2 (Junior Python)

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

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

  • @andryog2305
    @andryog2305 11 หลายเดือนก่อน +6

    Круто, давайте теперь собеседование на миддл и синьор позицию.
    Генерация кода в видеоряде отвлекает, в первой части было все круто, красивая картинка.
    На счет HAVING, наверно, правильно было бы уточнить, что агрегатный функции он совершает с группированными данными.
    Про classmethod и staticmethod слабо раскрыли, не понятна суть.

  • @alexchto
    @alexchto ปีที่แล้ว +3

    Ну не сказать, что это жёсткое собеседование. Обычное

  • @fugitiveom
    @fugitiveom ปีที่แล้ว +1

    Спасибо большое за интервью) Уже учу SQL)

  • @MrSmallChe
    @MrSmallChe 9 หลายเดือนก่อน

    кандидат явно читает ответы на некоторые вопросы или мне показалось -_-

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

    А вообще кто-нибудь пробовал запустить на практике? Потому как теория -- её бы и проверить неплохо.
    Python 3.10
    import random
    lst = [*range(10000)]
    random.shuffle(lst)
    tpl = tuple(lst)
    indexes = [*range(10000)]
    random.shuffle(indexes)
    @halt
    def list_item_by_index():
    for x in indexes:
    a = lst[x]
    @halt
    def list_index_of_item():
    for x in indexes:
    a = lst.index(x)
    @halt
    def tuple_item_by_index():
    for x in indexes:
    a = tpl[x]
    @halt
    def tuple_index_of_item():
    for x in indexes:
    a = tpl.index(x)
    list_item_by_index(), list_index_of_item()
    tuple_item_by_index(), tuple_index_of_item()
    Понятно? Список на 10 к перемешанных чисел, из него же кортеж, содержимое идентично. Отдельно такой же перемешанный список для входных данных. Затем по две пары функций: сначала поиск элемента по индексу, затем поиск индекса по значению.
    @halt -- это таймер.
    Вывод:
    list_item_by_index time:
    00 h 00 min 0.00175665 s
    list_index_of_item time:
    00 h 00 min 1.10451381 s
    tuple_item_by_index time:
    00 h 00 min 0.00142997 s
    tuple_index_of_item time:
    00 h 00 min 1.19496133 s
    ------------------
    (program exited with code: 0)
    Press return to continue
    Теперь просто линейное чтение:
    import random
    lst = [*range(1000000)]
    random.shuffle(lst)
    tpl = tuple(lst)
    @halt
    def list_linear():
    for x in lst:
    a = x
    @halt
    def tuple_linear():
    for x in tpl:
    a = x
    list_linear(), tuple_linear()
    list_linear time:
    00 h 00 min 0.09474740 s
    tuple_linear time:
    00 h 00 min 0.09294936 s
    ------------------
    (program exited with code: 0)
    Press return to continue
    Внезапно, да?

  • @whale5219
    @whale5219 ปีที่แล้ว +1

    Как мне показалось, кандидат слабоват.

  • @mikeofs1304
    @mikeofs1304 ปีที่แล้ว

    Ахахах, интервьюер а ты точно программист?)))
    2:30 Какой динамический формат в массиве , что ты несешь? То чтоо ты говоришь это список, совершенно другая структура данных. Основные признаки массива это однородность типов членов и доступ по смещению. Настоящих масивов в базовом синтаксисе Питона вообще нет, они есть в Нумпай (ну естественено еще во многих библиотеаах менее известных)

    • @MultiDemon17
      @MultiDemon17 ปีที่แล้ว

      Есть, array.array, самый базовый массив, в котором элементы хранятся по значению

    • @НиколайРюмин-й6и
      @НиколайРюмин-й6и 10 หลายเดือนก่อน +2

      from array import array 😮
      А вообще лист под капотом это динамический массив(что-то типа вектора в плюсах), он хранит ссылки на pyobject и тем самым обеспечивается консистентность данных. Нафига тут вой поднимать и строить из себя самого умного?

    • @НиколайРюмин-й6и
      @НиколайРюмин-й6и 10 หลายเดือนก่อน

      Шэйм он ю вобщем за такие комментарии.

    • @mikeofs1304
      @mikeofs1304 10 หลายเดือนก่อน

      @@НиколайРюмин-й6и Ахахах, тот случай когда пришел макнуть тиупого бумера в овно, своими мего знаниями полученными в яндексбоксе/скиллпрактикуме, но получилось только насрать себе в штаны. Причем тут консистеннтность, ты думаешь это умное слово сделает твой высер весомее зумерок? Попытайся научиться читать то что написано, перед тем как умничать. Все важное что я написал, ты переварить не смог. А важное это то, что и макссив и вектор , щас будь очень внимаетлен, ОДНОРОДНЫЕ, или мож ты по гречески лучше ГОМОГЕННЫЕ. И из этого следует , что когда ты обращаешься к его члену, ты ОДИН, еще РАЗ ОДИН, раз вычисляешь адресс. ДАЖЕ если тип данных не элементарный , важно то что он известен СРАЗУ , и интепритатор сначала к адресу прибавляет смещение элемента, а потом смещения по ЗАРАНЕЕ известному типу (если оно есть). А в пихоновском листе ты НЕЗНАЕШЬ что будет в твоем элементе, он завернут в твой обджект, тебе надо ЕЩЕ раз попав в него, узнав его тип, дрюкнуть память, а работа с памятью это долго, если ты вдруг не знал. Даже в минимально вырожденном случае ты получ.ишь скорость в два раза меньшую чем с настоящим массивом. Но я понимаю что тебя такие тонкости при клепании сайтиков на обезьянго не сильно беспокоят