Кирилл Свицов python разработчик собеседование. Ведёт Евгений Ефимов

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 83

  • @НиколайРюмин-й6и
    @НиколайРюмин-й6и 7 месяцев назад +19

    Когда мы "очень глубоко погоузились" на вопросе с сетом, стало ясно что сильно интересно не будет...

  • @ХатульМадан-ы7ю
    @ХатульМадан-ы7ю 7 месяцев назад +14

    Хороший вопрос :)))

  • @ИльяИлья-л1ю5д
    @ИльяИлья-л1ю5д 7 месяцев назад +9

    За Тимофея Федоровича Хирьянова лайк! А по самому собесу, красноречием человек обладает, но знании как по мне не хватает для Джуна, с учётом того что сейчас на одну позицию тысяча откликов.

  • @myvsevolods
    @myvsevolods 7 месяцев назад +7

    Очередной лайк, который до просмотра не жалко

  • @MrBeltalowda
    @MrBeltalowda 7 месяцев назад +7

    парень вроде хорошо и успешно болтает, но в его знаниях пробелов больше, чем самих знаний.

  • @morzellen
    @morzellen Месяц назад +1

    Лучше не придумал)
    def process_string(string: 'str') -> str:
    """
    Функция process_string принимает на вход строку и обрабатывает ее следующим образом:
    1. Проверяет, пустая ли строка. Если строка пустая, она возвращает исходную строку.
    2. Создает новую строку и счетчик длины символов (len_chars).
    3. Проходит по всем символам в строке, кроме последнего. Если текущий символ равен следующему, увеличивает счетчик длины символов.
    4. Если текущий символ не равен следующему, добавляет текущий символ и счетчик длины символов в новую строку. Сбрасывает счетчик длины символов до 1.
    5. Добавляет последний символ строки и его счетчик длины символов в новую строку.
    6. Возвращает новую строку.
    """
    if not string:
    return string

    new_string = ''
    len_chars = 1
    for i in range(len(string) - 1):
    if string[i] == string[i+1]:
    len_chars += 1
    else:
    new_string += string[i] + str(len_chars)
    len_chars = 1
    new_string += string[-1] + str(len_chars)
    return new_string

  • @01011968Desgner
    @01011968Desgner 4 месяца назад

    Годное видео для почесывания собственной самооценки!)))

  • @Tmsoft
    @Tmsoft 2 месяца назад

    Очень похоже на расстрел, а не на собес..., но даже при этих знаниях парень держался достойно...

  • @AndyRoid1986
    @AndyRoid1986 7 месяцев назад +1

    Сперва пытаюсь сам решить задачу, потом досматриваю и смотрю коменты.
    Пришлось пару часов голову ломать и получил вот это:
    def charnum(st:str)->str:
    p=0
    answ=''
    for i in range(len(st)):
    if i>=p :
    k=0
    while (i+k)

    • @pretcb
      @pretcb 4 месяца назад

      Ты забыл 1 условие. Если ответ не короче оригинала, нужно вернуть оригинал. Я решал несколько иначе, но не суть. Пошел я найти подобную задачу на CodeWar, сделал и кодер и декодер на очень схожую задачу. После решения откывают доступ к решениям и как же я был приятно удивлен решению с помощью REG-EX:
      from re import sub
      def encode(s: str) -> str:
      answer = sub(r'(.)\1*', lambda m: m.group(1) + str(len(m.group(0))), s)
      return (s, answer)[len(answer) < len(s)]
      # последнюю строку можно заменить на более читаемый код типа:
      return answer if len(answer) < s else s
      # но мне нравится мой вариант в оригинале, это для ценителей однострочников

    • @stepan_chous
      @stepan_chous Месяц назад

      че-то перемудрил, рекомендую побольше алгосов порешать, потому что видно, что решение сыровато. у яндекса есть тренировки по алгоритмам, хорошая штука
      def compress(s):
      if len(s) == 0:
      return ''
      res = ''
      count = 1
      cur = s[0]
      for i in range(1, len(s)):
      if s[i] != cur:
      res += f'{cur}{count}'
      cur = s[i]
      count = 1
      else:
      count += 1
      res += f'{cur}{count}'
      return s if len(s)

    • @stepan_chous
      @stepan_chous Месяц назад

      только после решения заметил, что также как собеседуемый решил

  • @pomaklim9187
    @pomaklim9187 3 месяца назад

    Как будто хороший вопрос))

  • @НикитаБуров-ъ6р
    @НикитаБуров-ъ6р 4 месяца назад

    думал думал что-то умное, но в итоге
    [list_[i][j] for i in range(len(list_[0])) for j in range(len(list_))]

  • @ВладимирКалайтанов-я6н
    @ВладимирКалайтанов-я6н 5 месяцев назад +1

    Я вот один не понял, на какого он Джуна тянет?
    Очень много пробелов.

  • @ЕвгенийЕрмак-м9м
    @ЕвгенийЕрмак-м9м 4 месяца назад +2

    - Простите, вы программист?
    - Хороший вопрос! Я пока так глубоко не углублялся!

    • @AndyPronin
      @AndyPronin  4 месяца назад

      есть зона роста. да

  • @Ch1ck3nWTF
    @Ch1ck3nWTF 7 месяцев назад +1

    Кандидат стелит дальше чем видит, сначала сказал, потом забыл. Так и надо на собесах?)

  • @Mr_robot_001
    @Mr_robot_001 7 месяцев назад +8

    Слишком много не нужных слов , болтун проходит собес ... если не знаешь , скажи : ''Не знаю" . Много умничает, не зная элементарных вещей . Спасибо сенсей за собес . И Жене большое спасибо что уделил время .

    • @heybeachMIN
      @heybeachMIN 7 месяцев назад +4

      много людей советуют не говорить "Не знаю" - это типа красный флаг.

    • @Mr_robot_001
      @Mr_robot_001 7 месяцев назад +1

      @@heybeachMIN для работодателя важно понимать как ты думаешь, как мыслишь. Если ты говоришь ,что типо читал, но забыл... Это то же самое что не знаешь. Не знаю... Я бы сказал не знаю. Не читал. Не проходил. Чтобы время не тянуть.

    • @gerhardshreder2391
      @gerhardshreder2391 2 месяца назад

      если вы ставите соискателей в позицию студента на экзамене, то и вести он себя будет соответствующе

    • @Mr_robot_001
      @Mr_robot_001 2 месяца назад

      @@gerhardshreder2391 Я никого никуда не ставлю. Чел много болтает .А знаний мало .

    • @DDR4605
      @DDR4605 Месяц назад

      @@Mr_robot_001у тебя забыл спросить 😂

  • @ЗНАКОМЫЙСВАРЩИК
    @ЗНАКОМЫЙСВАРЩИК 7 месяцев назад +1

    Я бы наверно после такого положительного ответа - улетел в космос. продолжаю учиться. Так одного понять не могу, для джуна достаточно знать питон как инструмент, или же ООП и Джанго?

    • @vegzuzvegzuz2866
      @vegzuzvegzuz2866 7 месяцев назад +3

      Для Джуна недостаточно всего вышеперечисленного

    • @7IdE
      @7IdE 7 месяцев назад

      Во1, ООП - неотъемлемая часть Питона. Не зная ООП, ты не узнаешь Питон.
      Во2, все зависит от твоего уровня знания языка. Если ты знаешь язык (включая SQL) и в целом всю инфраструктуру на уровне достаточном, чтобы реализовать свой собственный фреймворк типа Джанго или FastAPI - то, думаю, саму Джангу можно и не знать, ибо изучить готовый фреймворк - лишь вопрос времени.
      Если не знаешь на таком уровне - то нужно изучать технологии, да.

  • @7IdE
    @7IdE 7 месяцев назад +3

    Весьма и весьма неплохо, как по мне.
    Теория - ну, не "отлично", но для стажера/джуна-, я думаю, точно сойдет.
    И чувствуется "огонь в глазах", и "шило в жопе" - что крайне неплохо.
    Код пишет достаточно бодро. Отдельный плюс за то, что слету написал синтаксис фильтрации для компрехеншена и еще плюс за использование нижнего подчеркивания для незначащей переменной. Но и тут сразу минус - тезис касательно нижнего подчеркивая озвучил верно, а дальше сам же и использовал переменную - при создании очередного элемента списка. Эту штуку нужно применять в тех случаях, когда действие в цикле НЕ зависит от текущего элемента итератора. Также найс, что сразу же про map() вспомнил. Хоть и пытался применить его неправильно.
    Что не понравилось - постоянное "могу попробовать угадать" или "так глубо не копал" и тд, вместо обычного "не знаю". Мб для HR'ов это и норм, но меня это реально триггерит, когда человек начинает увиливать.
    Также из минусов я бы выделил "болтливость". Нет, поговорить/пошутить/обсудить - это, конечно, в разы лучше, чем молчать, но тут он перегибает в некоторых местах. Больше похоже не на "болтливость", а на попытку оправдаться. А это не есть гуд. Все это можно одним моментом описать: когда он добавил range в цикле, то он произнес "опять генератор, между прочим". range - не генератор. И даже не итератор. Зачем нужна была эта фраза? Чтобы набить себе очков? Проблема подобного подхода в том, что если ты ошибаешься, то это куда хуже, чем если бы ты просто сказал "не знаю" или вообще ничего не сказал. То есть попытка "не упасть в грязь лицом" / "доказать, что он равный собеседнику, а какой-то залетный". В ту же степь и про тернарный оператор. Как и про Хирьянова. Вот из-за подобных моментов общее впечатление и портится. И чем больше его слушаешь, тем чаще это подмечаешь, тем сильнее
    ... in len(some_str) - итерирование по инту? Это прям жирнющий минус. Причем даже ИДЕ писала об этом. Тут сразу бы стоило задать вопрос насчет итераторов, итерируемых объектов и в целом о том, как устроен цикл for в питоне. Ну и интервьюер тоже хорош в этом плане "нет тела цикла". Ну тут прям фиаско для обоих. Хоть потом поправился. Ну да ладно.
    А вот по решению задачки сразу не зачет: не имея решения задачи в голове, он пытался писать код. Вот эти постоянные метания от индекса к элементу, какие-то промежуточные переменные и тд. Хотя стоило бы просто сформировать алгоритм решения в голове, а потом просто написать код. Да и в дальнейшем не рассмотрел корнер кейсы, получил квадратичную сложность, потенциальный IndexError и тд. Задачку зачесть тут явно нельзя, хотя и можно сказать, что для некоторых кейсов он ее решил. Ну а их финальная версия упадет, как минимум, на пустой строке.
    По итогу - хз, дело в остальных собесах или где - но мне, в целом, понравились ответы.
    Да, ему явно нужно начать лезть под капот и смотреть, как все там устроено: и генераторы, и итераторы, и range, и цикл for, и хэшмапы, и тд.
    Также всю эту "болтливость" нужно крайне сильно отрефакторить.
    Ну и поднаточить алгосы и решение задачек.
    Но в итоге на стажера/джуна- тянет, ИМХО. Хотя и нужен будет присмотр.

    • @MrBeltalowda
      @MrBeltalowda 7 месяцев назад

      Слишком много вопросов к кандидату:
      Про дипкопи на вторую часть вопроса не ответил
      Если нарешать хотя бы пару десятков задач на литкоде или кодворсах, вопросов о том, какие индексы включаются в слайс, а какие нет, быть не может.
      Непонимание того, как работают словари и сеты, зачем там нужна хеш функция
      Конструкция _ for _ in range сильно триггернула, т.к. она показывает полное незнание предназначения андерскора, а заявление о том что она экономит память - аж вдвойне.
      Незнание генераторов и генэкспов
      Незнание, чем генератор отличается от итератора
      Незнание и неумение работать с мультитредингом и мультипроцессингом - это одно, но знать чем тред отличается от процесса - это самые базовые знания погромиста.
      Задача даже с подсказами решена плохо
      Интервьюер мог бы начать копать в сторону из любого вопроса, и ответ был бы одним - "не знаю, не сталкивался".
      В целом то, что парень не терялся, мне понравилось, но знаний очень, очень мало. Надо начать хотя бы с книги Рамальо и лекций Хеттингера.

    • @7IdE
      @7IdE 7 месяцев назад

      ​@@MrBeltalowda, в целом, да, соглашусь - пробелов много. Но это если мы рассматриваем его на готового джуна.
      А если взять подгрейд чуть ниже или просто посмотреть на потенциал (особенно если сравнить со всеми остальными участниками этих собесов) - то, как по мне, весьма неплохо.

    • @heybeachMIN
      @heybeachMIN 7 месяцев назад

      "получил квадратичную сложность" - А разве сложность того алгоритма в конце не O(n) ? Он же за одну итерацию проходит и получает.

    • @heybeachMIN
      @heybeachMIN 7 месяцев назад

      @@MrBeltalowda Что такое генэкспы это же и есть генераторы не?
      Ну либо ген. функция

    • @7IdE
      @7IdE 7 месяцев назад

      ​@@heybeachMIN, когда строки заменили на списки - да, тут стало О(n). Изначально там был квадрат.
      И, да, крайне некорректно говорить в данном случае "за 1 итерацию".

  • @ЕвгенийЮрченко-с1ф
    @ЕвгенийЮрченко-с1ф 7 месяцев назад +4

    Я бы этого типа, не то, чтобы не взял программистом, я б его на пушечный выстрел не подпустил. Возможно, он будет хорош у других областях, например в продажах(там как раз языком чесать нужно).

  • @БогданПершин-в7э
    @БогданПершин-в7э 7 месяцев назад

    Интересно)

  • @imadna5810
    @imadna5810 7 месяцев назад

    И еще вопрос, можно дебажить во время написания кода ?)

    • @AndyPronin
      @AndyPronin  7 месяцев назад

      зависит от компании. мне - ок.

  • @user-wu7ec4vv3i
    @user-wu7ec4vv3i 3 месяца назад

    Это же тот чел из тик-тока одной барышни, которая на шее у него весь период эмиграции сидела, лол

    • @AndyPronin
      @AndyPronin  3 месяца назад +1

      Кажется, отношения не так устроены, что кто-то у кого-то на шее сидит. ) это маленький коммунизм на двоих, где от каждого по возможностям.

  • @drdizel777
    @drdizel777 4 месяца назад +2

    Видно что человек работал в продажах, язык подвешенный а смысла в сказанном найти сложно))

  • @НиколайРюмин-й6и
    @НиколайРюмин-й6и 7 месяцев назад +1

    Да, много говорит, мало практики...

  • @Chel1k7
    @Chel1k7 7 месяцев назад +1

    Ну называть генэксп - генератором, тоже не показывает что интервьюер гений)

    • @MrBeltalowda
      @MrBeltalowda 7 месяцев назад

      а в чем разница? и функция и генэксп возвращают объект генератора

    • @heybeachMIN
      @heybeachMIN 7 месяцев назад

      @@MrBeltalowda а что такое генэксп ?

    • @MrBeltalowda
      @MrBeltalowda 7 месяцев назад

      @@heybeachMIN pep 289

    • @7IdE
      @7IdE 7 месяцев назад

      И в чем отличие? Это объекты одного и того же класса с тем же самым АПИ, только различная инициализация.
      Так и в отличие-то?

    • @heybeachMIN
      @heybeachMIN 7 месяцев назад

      а вот про что вы, так он же возвращает адрес той функции(объекта) разве нет?

  • @Reboot_bs
    @Reboot_bs 7 месяцев назад

    Мои глаза ослепли от глаз Андрея

  • @ibrahimoglu
    @ibrahimoglu 7 месяцев назад

    👍

  • @Chel1k7
    @Chel1k7 7 месяцев назад +4

    Слабый

    • @alexgoodman874
      @alexgoodman874 7 месяцев назад

      в чём слабый ? я лично не понял даже уровень позиции.

  • @ai-video-u1b
    @ai-video-u1b 7 месяцев назад

    поехали

  • @ОлегФилипенко-э4к
    @ОлегФилипенко-э4к 7 месяцев назад +2

    болтун

  • @allallall2321
    @allallall2321 7 месяцев назад +2

    Пилите ролики на С или С+++

    • @7IdE
      @7IdE 7 месяцев назад +3

      Лучше на С++++.

  • @ЗНАКОМЫЙСВАРЩИК
    @ЗНАКОМЫЙСВАРЩИК 7 месяцев назад

    Ренж

  • @Ксандр-л1щ
    @Ксандр-л1щ 7 месяцев назад

    find_str = "aabbbcaadddbbbbc"
    result_str = ""
    last_char = ""
    count = 0
    for _ in find_str:
    if _ == last_char:
    count += 1
    else:
    result_str = result_str + last_char + str(count)
    count = 1
    last_char = _
    result_str = result_str + last_char + str(count)
    print(result_str[1:])

    • @Ксандр-л1щ
      @Ксандр-л1щ 7 месяцев назад

      и да, я новенький в этом деле, написал за 10 минут после поставки задачи. Опыт на Python < года, VB около 10 лет, всего 20 лет сисадмин, Прокомментируйте ошибки?

    • @ЕвгенийЮрченко-с1ф
      @ЕвгенийЮрченко-с1ф 7 месяцев назад

      @@Ксандр-л1щ Оставайся и дальше сисадмином...

    • @Ксандр-л1щ
      @Ксандр-л1щ 7 месяцев назад

      @@ЕвгенийЮрченко-с1ф поясни

    • @Ксандр-л1щ
      @Ксандр-л1щ 7 месяцев назад

      @@ЕвгенийЮрченко-с1ф я для себя изучаю змею, хотелось бы конструктивную критику, что так, что не так

    • @ЕвгенийЮрченко-с1ф
      @ЕвгенийЮрченко-с1ф 7 месяцев назад

      @@Ксандр-л1щ Спроси GPT, он тебе отлично все расскажет...

  • @RU_Sandy
    @RU_Sandy 7 месяцев назад

    [‘tju:pl]

  • @rashidmagomedov7830
    @rashidmagomedov7830 7 месяцев назад +4

    Хороший вопрос)