Реальное ЛАЙВКОДИНГ собеседование JUNIOR Python разработчик

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

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

  • @dimierlife
    @dimierlife 2 หลายเดือนก่อน +247

    Если это JUNIOR то у меня знания zero.

    • @1200eojf
      @1200eojf 2 หลายเดือนก่อน +2

      Ну я бы за 20 минут решил бы задачу, в принципе надо понять задачу

    • @funtickgd9502
      @funtickgd9502 2 หลายเดือนก่อน +8

      За 2 месяца этого лета у меня прогресс, я решил 1 задачу...

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

      Нормально если ты не изучал каждый день по 8 часов​@@funtickgd9502

    • @uvwzyx
      @uvwzyx หลายเดือนก่อน +5

      и таких, как ты, 99% в откликах

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

      @@uvwzyx Каких в откликах?

  • @Rulezzz3
    @Rulezzz3 3 หลายเดือนก่อน +187

    видео придает уверенности, что сеньоры тоже тупят на собеседовании джуна

    • @set1qs
      @set1qs 3 หลายเดือนก่อน +9

      Он тупил спецом ))

    • @ЮрийСтифеев
      @ЮрийСтифеев 2 หลายเดือนก่อน +6

      Это не сеньер явно. 3я задача просто уровень джун джун. Хранить 2 массива, целевой и с отсортированными уникальными значениями, любой реально работающий джун это сделает . 2я хосапде, проверка наследования эксепшена. До перемотки видел что там было if т.е, что произойдет если туда в параметр, а как я понял это массив, передадут 3е или n значение?). Первую ничерта не понял, но видимо потому что питон вижу 1й раз.
      Мне жаль рынок ИТ если такие менторят людей в интернете и их слушают. Теперь понятно почему хр не могут найти людей

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

      Это ж из разных сказок джин и сеньор Помидор

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

      @@Rulezzz3 это канал просто принадлежит недосеньору. Нормальный сеньор на собесе не тупит.

    • @ВитяСлавинский
      @ВитяСлавинский 13 ชั่วโมงที่ผ่านมา

      причем конкретно :))))

  • @gradkb
    @gradkb 2 หลายเดือนก่อน +15

    омг) главный скилл на собесах это внимательно слушать вопросы и стараться отвечать именно на них

  • @AirenikMelkonyan
    @AirenikMelkonyan 3 หลายเดือนก่อน +46

    Object в Питоне же зарезервированно, и можно было бы сказать, что не корректно использовать такое название. 😊

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

      то что что то существует в пайтоне - не значит, что оно зарезервировано
      object - не зарезервировано, но объект с таким именем существует, но назвать переменную так можно
      in, for, class, def, async, await, return, and, or - зарезервированны, такими именами не получится назвать переменные

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

      зарезервирован object, но не Object

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

      @@ogone4ek880 да, но это считается плохой практикой

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

      @@ogone4ek880 Если вы используете object как имя переменной, вы затрудняете доступ к встроенному классу object в текущем контексте. Это может привести к путанице и ошибкам, особенно если ваш код зависит от базового функционала этого класса. Это фундаментальная штука и в коде она была неспроста. Основа основ ООП.

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

      @@unnme2721 и че, я сказал что это незарезервированное имя, а не то что можно свободно так переменные называть

  • @АртемРазумов-щ9г
    @АртемРазумов-щ9г 2 หลายเดือนก่อน +9

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

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

      Я вот заметил, но правильное решение за константное время так и не придумал. Интересно, а на собесе это заметили или нет?

  • @zarddark2440
    @zarddark2440 2 หลายเดือนก่อน +16

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

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

      Да тут ЕГЭ уровень

  • @gradkb
    @gradkb 2 หลายเดือนก่อน +9

    задача с минимальным элементом в стэке - огонь)

  • @паукшнюк-г8ъ
    @паукшнюк-г8ъ 2 หลายเดือนก่อน +8

    это куда такие собесы? очень хотелось бы

  • @rock4ts
    @rock4ts 3 หลายเดือนก่อน +45

    это какой-то новый уровень троллинга)

    • @TheWorld-hs1hf
      @TheWorld-hs1hf หลายเดือนก่อน

      Почему? Слишком просто для джуниора? Если да, то зачем джуниору знать больше?

    • @knowledgedose1956
      @knowledgedose1956 18 วันที่ผ่านมา

      ​@@TheWorld-hs1hf 😂😂😂😂😂

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

    Я немного не понял, но получается что в min_nums будут добавляться не все числа? разве за этим не последует ситуация когда get_min даст неверное значение, вроде 4 5 1 1, список минимумов заполнится единицами, а когда их обе вытолкнут, то get_min ничего не вернет?

  • @alexsur7315
    @alexsur7315 3 หลายเดือนก่อน +6

    Отлично. Спасибо за собеседование. Покажешь на Ютубе ещё одно с лайв кодингом?

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

    на 12:09 копирует и спрашивает у нейросети :)

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

    Честный отзыв! Если честно не тянешь на senior разработка очень слабо, на middle специалиста еще можно !

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

      Сеньор - это не про классное решение алгоритмических задач с собеседования

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

    Решил 1 и 3 (сириус курсы спасибо), декоратор плохо сел в память

  • @ahhshsjajs1
    @ahhshsjajs1 วันที่ผ่านมา

    Когда решалась вторая задача, увидел обучающую структуру Сергея Балакирева по декораторам. wraps, wrapper, res))

  • @enzopaupau2302
    @enzopaupau2302 10 วันที่ผ่านมา +1

    Не могу не спросить)) а что за тема редактора которым они шеряться?
    Monokai чуть другой, этот приятнее

  • @UserSo4reUsu75ry
    @UserSo4reUsu75ry 10 วันที่ผ่านมา +1

    У меня только на одну задачу ушло бы 30-40 минут. Сколько бы я не нарешивал эти задачи, я не могу решать их быстро

  • @АндрейКапацйна
    @АндрейКапацйна วันที่ผ่านมา

    Какой джун ? Серьезно ? Хорошо давай задачу для мидл. Я считаю что на позицию джун одолжен быть один вопрос готов ли ты уволится через месяц если не справиться. Все какие задачи и лайвкодинг . Понятно что пару вопросов надо задать чтоб понять в теме человек или нет .

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

    Так , все, иду работать в пятерочку . Чему я научился за месяц хз.

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

    Если это Senior то в отличие от Джуна воспользуется chat gpt

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

    Ты же не синьор явно

  • @yanalsheuski263
    @yanalsheuski263 2 วันที่ผ่านมา

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

  • @dima_upgrade1720
    @dima_upgrade1720 2 หลายเดือนก่อน +3

    Спасибо за ваш контент! Очень познавательно и полезно! Продолжайте в том же духе!

  • @nadyamoscow2461
    @nadyamoscow2461 5 วันที่ผ่านมา

    Очевидно, про принцип kiss в этой конторе не слышали.

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

    По голосу интервьювера, ему лет 17-19, если это так, мне значит немного стыдно 😢

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

      Не, точно больше

  • @dmoroz0v
    @dmoroz0v 2 หลายเดือนก่อน +7

    можно бригаду. это спецом сеньор так тупит? или реально? или постановка?

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

      Смотря для кого. Олимпиадник с такими задачами на изи справится, сеньер, у которого последние 5 лет было решение реальных задач, а не этого бреда, будет закономерно тупить.

  • @YGNETATEL_3000
    @YGNETATEL_3000 3 หลายเดือนก่อน +2

    А нельзя было написать Filter(predicate, object) ?

    • @saitaro
      @saitaro 3 หลายเดือนก่อน

      И что делать потом с этим фильтром?

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

      @@saitaro что-то аля try next(objects) except StopIteration

  • @sergeymalkovski3877
    @sergeymalkovski3877 3 หลายเดือนก่อน +9

    Жестко. Я ни одной не знаю😢

    • @khafizovilnaz
      @khafizovilnaz 3 หลายเดือนก่อน +5

      Ты не один друг, я тоже почувствовал себя тупым

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

    1 k евро ? Пзд 😂

  • @MintLoverG
    @MintLoverG 15 วันที่ผ่านมา

    Третья задача, которая "Самая сложная", на Сишарпе можно написать оч лего и быстро, минут за 10. Этому меня учили на 1 курсе, а если уже быть Мидл или Джуном, который закончил обучение это максимально изи. Если я будучи на Втором курсе, посмотрел на условие и понял, что в Шарпе "Самую сложную задачу" смогу написать за минут 15-20, т.к. Я еще не Джун и не Мидл

  • @irondanil3461
    @irondanil3461 14 วันที่ผ่านมา

    Спасибо тебе большое, бро. Ты делаешь глупых людей как я чуточку умнее.

  • @tegeranchikrus4389
    @tegeranchikrus4389 8 วันที่ผ่านมา

    Ну я честно не понимаю две вещи:
    1. Каким образом человек которого заявляют как сеньора так долго (и так плохо) решал эти задачи
    2. Почему после такого собеса человека (судя по заявлениям в видео) взяли, это же даже не уровень стажера

    • @artemshumeiko
      @artemshumeiko  7 วันที่ผ่านมา

      Вам виднее, наверняка 500к зарабатываете?

    • @tegeranchikrus4389
      @tegeranchikrus4389 6 วันที่ผ่านมา

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

    • @tegeranchikrus4389
      @tegeranchikrus4389 6 วันที่ผ่านมา

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

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

    3:09 Всегда хочеться треснуть чем-то тяжелым тех кто в одну строку пишет много операторов, как это в строке 2 и 9. Код в первую очередь должен быть визуально легко читаем, потому что читаем код мы чаще чем пишем, экономия количества строк не дает преймуществ, кроме демонтрации умственных отклонений автора подобного кода.

  • @ГазинурРысмухаметов
    @ГазинурРысмухаметов 2 หลายเดือนก่อน +6

    3 задача решена неверно)

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

    Для меня сложно было второе. В третьем сразу понял что нужно параллельно сортированный список создавать при инициализации и добавлять в нужное место новый при пуше

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

    Никто не написал про ваш сайт - отличный инструмент для подготовки к собеседованию! Подольше бы он оставался бесплатным!

  • @kqvwvpk
    @kqvwvpk 3 หลายเดือนก่อน +8

    Вы реально не знали ответ на эти задачи будучи синьором? Или спецом тупили чтобы не спалил интервьюер? Если первое, то получается такие сложные вопросы или вы не такой хороший синьор?! И как проходить такие собесы челам без опыта?!

    • @anoshin45
      @anoshin45 3 หลายเดือนก่อน +8

      В маленькой компании синьором можно стать имея год опыта.

    • @PeterSidoroff
      @PeterSidoroff 3 หลายเดือนก่อน +5

      По поводу "И как проходить такие собесы челам без опыта?!" - А как проходят собеседования для FANGа ? Есть разные видоскики на Ютубе, где люди рассказывают как они по много месяцев прорешивали задачи на LeetCode + там же можно изучать чужие решения. Через год такой практики вы тоже сможете быстро находить решения под такие задачки на собесах - в подсознании уже накопятся типовые алгоритмические решения.

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

      ​@@PeterSidoroff, целый год тратить на алгосы) звучит жестко

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

      @@vor6758 в гугл по алгосам чтоб попасть надо их лет пять на олимпиадах применять, в среднем :-)

  • @qulinxao
    @qulinxao 3 หลายเดือนก่อน

    get_first_matching_object=lambda pred,obj=[]:next((v for v in obj if pred(v)),None)

  • @user-lh9nk1vm8u
    @user-lh9nk1vm8u 3 หลายเดือนก่อน +4

    Пару комментов:
    задача 2.
    1. Полагаю не стоит использовать isinstance, т.к. есть риск получить проблемы с наследованием при расширении списка передаваемых эксепшенов (например, передали еще LookupError, lambda: print(3)) и получили не ожидаемое поведение). type проверит на точное совпадение.
    2. Вызов ex[1]() производится без параметров, что в случае IndexError("bar") выбросит missing required positional argument. Полагаю, это проблема постановки задачи и некоторой не внимательности при выполнении.
    3. raise e стоит вынести из условия, иначе ломается логика, если выбрасывается эксепшн не переданный в списке.
    задача 3.
    1. Использование list говорит, что у нас О(1) будет не совсем честная. Если докапываться, то какой-нибудь связный список - самое то.
    2. Для второго списка за счет чуть большего количества памяти можно поддерживать более простую логику (храним список минимумов).
    def push(self, num: int) -> None:
    self.stack.append(num)
    self.min_nums.append(min(lst[-1] if lst else num, num))
    def pop() -> int:
    self.min_nums.pop()
    return self.stack.pop()

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

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

    • @TheWorld-hs1hf
      @TheWorld-hs1hf หลายเดือนก่อน

      С нуля за два месяца?

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

      Где учился????

    • @funtickgd9502
      @funtickgd9502 21 วันที่ผ่านมา +1

      @@dllb сам по книгам, примерами алгоритмов, литкоду. Мне на курсах только базу синтаксиса дали

    • @dllb
      @dllb 21 วันที่ผ่านมา

      @@funtickgd9502 а какие курсы и книги использовал?

    • @ВадимЕлисеев-ц8э
      @ВадимЕлисеев-ц8э 20 วันที่ผ่านมา

      ​@@funtickgd9502 Помоги, пожалуйста. Вот тоже из скачанных курсов получил базу, но а щас я хз, че мне делать.. Хочу на веб-разраба пойти и по идее до изучения самого django нужно просто решать задачи и так далее, но я вообще не понимаю, где можно было бы подчеркнуть действительно важные и полезные знания ,а где практикой их закрепить.

  • @КотовДанил-с8б
    @КотовДанил-с8б 3 หลายเดือนก่อน +6

    Почему 3 задача проще 2?

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

    Знания АСД помогли решить третью задачу в первые 4 секунды после ее прочтения

    • @knowledgedose1956
      @knowledgedose1956 18 วันที่ผ่านมา

      что это?

    • @incios
      @incios 18 วันที่ผ่านมา

      @@knowledgedose1956 алгоритмы и структуры данных

    • @hitomi-b1h
      @hitomi-b1h 9 วันที่ผ่านมา

      ​@@knowledgedose1956 Абстрактно синтаксическое дерево, полагаю

  • @Volodya72
    @Volodya72 3 หลายเดือนก่อน +5

    Push все равно кривой получился. Если до конца списка делать pop, то с какого-то момента не будет значений из упорядоченного списка. Всё из за условия добавления

    • @ГеоргийЛухтура-в8м
      @ГеоргийЛухтура-в8м 3 หลายเดือนก่อน +2

      Для этого есть условие в pop:
      if res == self.min_nums[-1]

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

      Нет, там правильно. В push-е стоит условие на пустой массив мин.чисел и на возможное совпадение с текущим мин.числом (

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

      @@PeterSidoroff там фича в том, что добавление в упорядоченный массив у тебя происходит только при пуше меньшего элемента, т.е. push(1), push(2), push(3), pop() -> 1, pop() -> None т.к. 2 и 3 тупо не добавлялись, оба гения сидят(как сделать пуш за О(1) если там придется по нормальному по всему массиву проходиться чтобы его в нужное место воткнуть не представляю)

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

      @@QKekos в вашем случае при вызове pop() удалится 3, потом 2. А 1 так и будет минимальным числом в стеке.

  • @gradkb
    @gradkb 2 หลายเดือนก่อน +3

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

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

    почемуто 3 задача показалась самой прстой)

  • @CSGO-cr2ct
    @CSGO-cr2ct หลายเดือนก่อน

    20:55
    def get_min(self):
    return min(self.stack) if self.stack else None, надеюсь так будет,ибо я тупой совсем

    • @CSGO-cr2ct
      @CSGO-cr2ct หลายเดือนก่อน

      А так разве нельзя было сделать? или я чего то не понимаю?

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

      по времени это занимает O(n), т.к. нужно пройтись по всему массиву и найти минимальное. Спрашивалось более оптимальное решение

  • @АндрейПопов-н2г2м
    @АндрейПопов-н2г2м 3 หลายเดือนก่อน +3

    33 минуты боли, но увы без этого никуда, сразу вспомнил все свои тупняки))

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

    Плохо ты претворялся друг ), джун тупит страшнее

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

    каждый раз искать минимум массива?

  • @Nickek-g5k
    @Nickek-g5k 2 หลายเดือนก่อน +2

    Блин даже первая задача вызвала звон в голове...
    Прорвемся, готовимся дальше)))

  • @ИннаЛиксакова-о4н
    @ИннаЛиксакова-о4н 3 หลายเดือนก่อน +2

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

  • @СергейЮров-б6е
    @СергейЮров-б6е 3 หลายเดือนก่อน +2

    хех, одно дело вещать по подготовленному сценарию, а другое дело в realtime. Хорошо порешал

  • @astimch
    @astimch 3 หลายเดือนก่อน +2

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

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

    Кому интересно, вот такой код у меня получился на последний вопрос.
    class Stack:
    def __init__(self):
    self.stack = []
    self.pref_min = []
    self.current_min = None
    def pop(self):
    self.stack.pop()
    self.pref_min.pop()
    self.current_min = self.pref_min[-1]
    def push(self, num):
    self.stack.append(num)
    self.current_min = min(
    self.pref_min[-1], num) if self.pref_min else num
    self.pref_min.append(self.current_min)
    def top(self):
    return self.stack[-1]
    def get_min(self):
    return self.current_min
    a = Stack()
    for i in [10, 2, 5, 4, 6, -1]:
    a.push(i)
    a.pop()
    print(a.top())

  • @qulinxao
    @qulinxao 3 หลายเดือนก่อน +2

    эээ а не проще ли через словарь созданный из типов исключений и обработчиков - хватем исключение e и проверяем функцией из первого задания
    if match:=get_first_matching_object(pred=lambda x:x in ourdict,[type(e)]+list(type(e).__bases__)):match()
    raise e?

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

      Читаемость огонь.

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

    Бл как надоели люди которые пишут что это просто нереально легко было все. Вы сидите смотрите видео, говорят ответ, вы в голове прокрутили и ответили про себя лучше и это изи. А вы отвечайте сами сперва, а потом слушайте ответ. 90 процентов кто писал «изи на все ответил» сразу откиснут

    • @АртемРазумов-щ9г
      @АртемРазумов-щ9г 2 หลายเดือนก่อน

      Веселее всего, когда понимаешь что третья задача в видео решена неверно или точнее не для всех случаев, а те кому просто этого и не поняли)

  • @xtray272
    @xtray272 3 หลายเดือนก่อน +8

    Я почему то думал что Джунам сложнее вопросы задают, я знаю почти всё что было на собесе из видео, но я до сих пор не нашел работу, может я что-то делаю не так. Хотя у меня и собеса никогда не было :). Видео придало мне уверенности в своих знаниях, надеюсь скоро найду работу

    • @symbol9new
      @symbol9new 3 หลายเดือนก่อน

      Сколько учишься уже?

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

      А на какое количество вакансий ты отправлял резюме? Сейчас на джунов высокая конкуренция, поэтому надо просто часами сидеть на сервисах поиска работы и закидывать своё резюме везде где можешь

    • @СтепанВоробьев-л2р
      @СтепанВоробьев-л2р หลายเดือนก่อน

      так это база, тут ничего трудного нет

    • @UserSo4reUsu75ry
      @UserSo4reUsu75ry 10 วันที่ผ่านมา

      ​​​​@@gggppp228какие шансы джуну устроится на удаленку ?

  • @Elita-o2n
    @Elita-o2n 2 หลายเดือนก่อน +2

    Да... с каждым годом требы к Джунам увеличиваются в геометрической прогрессии😅😅 .... Страшно представить чем занимаются Мидлы и Сеньоры😅😅... Прямо в офисе чилят и эксплуатируют бедных Джунов😭😭😭

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

      Посмотри документацию pydantic, раздел "Handling custom generic classes", где рядом есть плашка warning с текстом "This is an advanced technique that you might not need in the beginning". Мидлы это те, кто такие штуки применяет, а сеньоры - кто придумывает.

    • @АндрейКапацйна
      @АндрейКапацйна วันที่ผ่านมา +1

      Согласен

    • @oguretsagressive
      @oguretsagressive วันที่ผ่านมา +1

      Посоны, я senior/architect, на всё бОльшее количество проектов джунов даже страшно брать потому что некогда исправлять ошибки, учить или ждать пока сам научится. Требы к знаниям не растут потому что senior всегда должен был знать _всё_, а вот требы к срокам да (чем дальше, тем быстрее надо работать).

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

    выходит у меня в 16 лет уровень джуниор? и зачем мне в универ поступать тогда...

  • @ChrisColeDC
    @ChrisColeDC 3 หลายเดือนก่อน +10

    это явно не уровень джуна и не 100 тысяч зп, первая задача только, остальные уровня мидл

    • @РоманДемидов-ц2и
      @РоманДемидов-ц2и 3 หลายเดือนก่อน +2

      нет) порог входа с каждым разом всё выше, мб раньше джунам нужно было ложкой с первого раз в рот попадать, и их уже брали доучиваться, но сейчас ищут самостоятельных спецов, 2 и 3 задачи вполне адекватные, проверяют твои знания в ООП (не совсем), алгоритмах и структурах данных и основах языка, декораторы используются везде, с ними тоже нужно уметь работать уже на начальных стадиях

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

      Что задачи, что вопросы это уровень стажера

    • @ChrisColeDC
      @ChrisColeDC 2 หลายเดือนก่อน +10

      @@myacc2517 может сразу уровень школьника начальных классов?

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

      @@ChrisColeDC Первая задача сравнима с заданием на егэ, вторая и третья это основа основ
      Если для вас эти задачи на мидлов, то у меня плохие новости

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

      @@myacc2517 чел ты сейчас автора видео дураком выставил)))

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

    полтора гола ежедневной учебы и 100к ваши. На самом деле пох сколько предлагают 50, 70, 100. Если компания норм, то сам факт влиться в структуру и уже расти по грейду это и есть основная цель.

  • @InojjHacker
    @InojjHacker 3 หลายเดือนก่อน +5

    Прикол конечно. Такие задачи могут на мидла и синьера дать, с зп в 2-4 раза больше

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

      Угораешь? Я даже не джун это решаю

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

      @@irwynptytzelow молодец, что сказать то тут) но я тут оффер на 300к получил без решения подобных задач, так что точно знаю о чем говорю)

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

    Мне кажется, что это совсем не для джуна, а на стажёра какого - нибудь. Уж слишком просто

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

      Это рофел?

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

      ​@@goldgold594, нет

  • @IvaNFallout
    @IvaNFallout 3 หลายเดือนก่อน +7

    Один из вариантов решения первой задачи:
    def get_first_matching_object(predicate, objects):
    return next((x for x in objects if predicate(x)), None)

    • @SabFo_
      @SabFo_ 3 หลายเดือนก่อน

      Да проще filter использовать

    • @maximkoltsov9833
      @maximkoltsov9833 3 หลายเดือนก่อน

      @@SabFo_ лист компрехеншен выполняется быстрее

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

      @@maximkoltsov9833 Лист компрехеншен создаст список, пройдясь по всем объектам. Это избыточно, как по памяти, так и по времени.

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

      @@saitaro ладно, согласен, ошибся

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

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

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

    ну так декораторы с параметрами писали во втором пайтоне, изращение, уже как 10 лет можно проще

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

    Не знаю ответ ни на одну задачу. Учусь питону уже второй день.
    Я тупой, надо бросать?

    • @alexeynesin483
      @alexeynesin483 3 หลายเดือนก่อน

      Ахах, за 22 дня ты не сможешь этот собес пройти. Это серьзная работа, нужно много времени потратить, чтобы научиться.

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

      Бросай

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

      @@digitaIdevil хорошо, пошёл бросать

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

      @@SaintVes 🤣🤣

    • @kornalexandr
      @kornalexandr 25 วันที่ผ่านมา

      ​@@SaintVesскажи, куда бросил? Просто так спрашиваю

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

    Очень хорошее видео, прям как гора с плеч.

  • @Denzi33
    @Denzi33 3 หลายเดือนก่อน

    🐯

  • @oBiba_and_aBoba
    @oBiba_and_aBoba 3 หลายเดือนก่อน

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

  • @5классвиленкин-ъ4п
    @5классвиленкин-ъ4п 2 หลายเดือนก่อน

    вообще не понял третью задачу. Первое что мне пришло в голову - создать связный список. Добавление - переназначение указателя на вершину на новый, удаление - переназначение указателя на следующий, топ - указатель уже указывает на нужное, get_min можно искать при каждом добавлении элемента в стек или при его удалении(если уадлили минимальный, то нужно найти следующий минимальный), либо если по памяти нам все равно, то создать multi_set и там уже изи все хранить. первое что пришло в голову

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

    Третье задание примерно на уровне ЕГЭ по информатике. Весьма доступно. Если учащийся сам смог найти решение егэшных задач, а не тупо зубрил шаблонные готовые решения, то третья задача ему вполне должна быть по силам.

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

    А дядя смог вам объяснить как это пригодится при написании реальных задач с REST и бизнес логикой?

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

      Очевидно, что никак

  • @asadbekimaraliev7561
    @asadbekimaraliev7561 3 หลายเดือนก่อน

    Молодец, ты конечно достоин

  • @SegeyKravtsov
    @SegeyKravtsov 13 วันที่ผ่านมา

    🎯 Key points for quick navigation:
    [00:52] 🛠️ Нехватка типизации и неясность роли предиката, который выглядит как функция из-за своего вызова позднее.
    [01:19] ⚠️ Некорректное использование изменяемого объекта в качестве значения по умолчанию для аргумента функции.
    [01:45] 💡 Удаление избыточных строк и оптимизация конструкции для создания объектов.
    [02:31] 🤔 Функция фильтрует массив объектов, возвращая первый подходящий элемент.
    [04:04] ⚡️ Оптимизация функции для завершения работы при нахождении первого подходящего элемента.
    [05:03] 💡 При вызове функции со списком объектов, функция будет возвращать объект, соответствующий первому элементу списка, или None, если подходящего элемента нет.
    [06:35] 📝 Худшая временная сложность функции O(N), где N - количество элементов в массиве, а лучшая - O(1), если подходящий элемент находится в начале массива.
    [07:02] 🤖 Длина выполнения алгоритма равна длине N списка.
    [07:17] 🌟 Задача на собеседовании была легкой, но потребовались подсказки интервьюера.
    [07:31] 🎁 Получите шпаргалку по алгоритмической сложности в Telegram-канале.
    [08:11] 🌐 Платформа Solvit поможет вам подготовиться к техническим собеседованиям.
    [08:55] 🚀 Обязательно пройдите по ссылке в описании и воспользуйтесь платформой Solvit.
    [09:08] 👨‍💻 Задача на собеседовании: написать декоратор с параметрами.
    [10:38] 📝 Функция, принимающая аргументы функции, может использовать ключевое слово args.
    [12:58] 🤔 Если вы не знаете, как ответить на вопрос, попробуйте начать писать код и решение придет к вам по ходу дела.
    [13:43] 🤖 Exception в Python может быть от базового класса Object
    [14:17] 💡 Чтобы обработать исключения, можно использовать конструкцию try...except
    [14:48] 👀 Для отладки удобно использовать декоратор из функции logging.debug()
    [16:05] 📝 Сложная задача на проектирование класса, требующего оптимизации алгоритмов
    [16:45] 📘 Написание класса с методами push, pop, top и getMin за O(1)
    [17:20] 🤔 Для поиска минимального элемента нужно хранить отдельную переменную и обновлять ее при каждом push
    [18:18] 💡 Для поиска минимального элемента можно использовать дополнительную переменную, хранящую второе минимальное значение
    [19:56] 💡 При удалении элемента нужно пересчитать минимальное значение
    [22:15] 🤔 Для хранения минимального значения одной переменной недостаточно
    [22:45] 📝 Для обновления минимального значения нужно найти максимальное из двух значений
    [25:10] 🗣️ Не бойтесь делиться своими мыслями, даже если они ошибочные. Открытость и готовность работать в команде очень важны.
    [26:01] ⚡️ Стек может быть использован для реализации работы с неограниченным количеством переменных.
    [27:43] 📈 Возрастающая последовательность чисел может быть использована для создания структуры данных, где новое число добавляется только если оно меньше предыдущего.
    [28:36] 💪 При удалении элемента из возрастающей последовательности можно не учитывать элементы, которые больше или равны удаляемому.
    [29:12] 🔄 Элементы в последовательности могут повторяться, что следует учитывать при реализации структуры данных.
    [30:08] 📝 Для реализации стека можно использовать массив с последним элементом, который будет соответствовать минимальному значению.
    [32:10] 🗣️ Задавать грамотные вопросы интервьюеру также важно, как и решать задачи. Это показывает вашу заинтересованность и адекватность.
    Made with HARPA AI

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

    это троллинг? слишком сложно для JUNIOR

    • @TheWorld-hs1hf
      @TheWorld-hs1hf หลายเดือนก่อน

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

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

      @@TheWorld-hs1hf да не, бред же, сейчас очень сильно не хватает спецов в РФ

    • @TheWorld-hs1hf
      @TheWorld-hs1hf หลายเดือนก่อน

      @@helish_88 да, но это не мешает им так делать. Сам глянь другие свежие собеседования

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

    На питоне не пишу, знаю только школьную программу, поехали.
    1. Получить первый объект, соответствующий условию предиката. Она создает список, прогоняя объекты через предикат, и возращает первый элемент, если список не пустой
    2. Без понятия :D
    3. честно говоря, мне такая задача попадалась в одном курсе. Я просто использовал словарь(ключ: число, значение: количество чисел) и стек одновременно: ко всем новым в стеке числам в словаре прибавляется единица. И когда нужно получить минимальный элемент, просто выбираем первый элемент словаря
    Получается, 1 - правильно, 2 - неправильно, 3 - правильно.

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

      знаю только школьную программу... мне такая задача попадалась в одном курсе.

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

      @@Forarit Я знаю только школьную программу питона, курс был про другое

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

      Тут третья задача не про подсчет элементов, да и нет такого понятия как «первый элемент словаря»

    • @viper_0097
      @viper_0097 29 วันที่ผ่านมา

      @@shehamane3518 В словаре элементы отсортированы, я подразумеваю первым элементом минимальный. Про подсчёт, не про подсчёт, но задача решена

  • @ДавидКутдусов
    @ДавидКутдусов 3 หลายเดือนก่อน +1

    не понял, почему нельзя просто
    def get_min(self):
    return min(self.stack)
    все остальные методы изменяют данные self.stack и метод всегда будет возвращать данные согласно актуальному стеку.
    Либо я не понял задачу

    • @ГеоргийЛухтура-в8м
      @ГеоргийЛухтура-в8м 3 หลายเดือนก่อน

      Требуется решить за постоянное время, а у Вас O(n)

    • @artemshumeiko
      @artemshumeiko  3 หลายเดือนก่อน +2

      Потому что эта функция занимает O(n) времени, а нужно O(1)

  • @arthurarthur4075
    @arthurarthur4075 3 หลายเดือนก่อน +2

    Возможно это старая запись вашего интерьерью? Вопросы не тянут даже на стажёра

    • @Артем-п6ф9э
      @Артем-п6ф9э 2 หลายเดือนก่อน +4

      Что же тогда должны были спросить? Как написать свой фейсбук или нетфликс?

    • @TheWorld-hs1hf
      @TheWorld-hs1hf หลายเดือนก่อน

      ​@@Артем-п6ф9эчувствую, в 2025 от джунов (по крайней мере в вебе) будут требовать написать полноценное приложение-чат (при этом не просто чат, а асинхронный real-time чат), который полностью заменит чат в каком-нибудь вк, так еще и с разделением на личные сообщения и беседу, и это в качестве тестового задания, но платит таким спецам будут те же 50-80к; а уже в 2027 такое задание на джуна тянуть не будет. Люди всё больше идут в программирование, python один самых популярных языков (если не самый), конкуренция на позицию джуниор огромная, так как все торопятся выйти на работу. Зарплаты растут медленно, уровень понимания и количество знаний должны быть всё глубже и больше, ну и помимо этого увеличивается требуемое количество сайд скиллов (по типу git, но конкретно к нему нет претензий, просто для ясности пример)

    • @kornalexandr
      @kornalexandr 25 วันที่ผ่านมา +1

      ​@@Артем-п6ф9эзачем "как"? Просто написать. Причем чтобы к концу лайв кодинга количество пользователей было больше, чем в ТГ. Это на Джуна. На стажёра - больше, чем в Фейсбук

  • @НикитаЗавертайло
    @НикитаЗавертайло 3 หลายเดือนก่อน

    Последняя задача не до конца решена.
    1. Есть бы сделаем push(3), push(6), push(7), pop(3) и запросим get_min, нам отдаст IndexError, хотябы по идеи должен отдать 6.
    Мы никак не сможем добиться O(1) в get_min, за исключением, если будем постоянно держать в get_min отсортированную коллекцию, но тогда у других операций увеличится Time Complexity.

    • @pavelosipov5951
      @pavelosipov5951 3 หลายเดือนก่อน

      сможем, например, вот так:
      class Stack:
      def __init__(self):
      self.stack = []
      self.mins = []
      def push(self, n: int):
      self.stack.append(n)
      self.mins.append(min(self.get_min(), n) if self.mins else n)
      def pop(self) -> int:
      self.mins.pop()
      return self.stack.pop()
      def top(self) -> int:
      return self.stack[-1]
      def get_min(self) -> int:
      return self.mins[-1]
      и да, решение на видео с ошибкой, в некоторых случаях неправильно сработает.

    • @Vasilii_Furi
      @Vasilii_Furi 3 หลายเดือนก่อน

      @@pavelosipov5951 def pop() у тебя неверно работает

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

      так это же стэк, мы можем удалить из него тока последнее число

    • @qulinxao
      @qulinxao 3 หลายเดือนก่อน

      "One Stack (stack of pair value,minvalue):"
      def pop(O):return O.s.pop()[0] $$$ def top(O):return O.s[-1][0] $$$ def get_min(O):return O.s[-1][1] $$$ def __init__(O): O.s=[(float('inf'),float('inf'))] $$$ def push(O,v): O.s.append(v,min(v,O.get_min())
      # храним в стеке сами значения и его текущий минимум

    • @НикитаЗавертайло
      @НикитаЗавертайло 3 หลายเดือนก่อน

      @@pavelosipov5951 И правда, что-то я ошибся. Спасибо за разъяснение.

  • @qulinxao
    @qulinxao 3 หลายเดือนก่อน

    "One Stack (stack of pair value,minvalue):"
    def pop(O):return O.s.pop()[0] $$$ def top(O):return O.s[-1][0] $$$ def get_min(O):return O.s[-1][1] $$$ def __init__(O): O.s=[(float('inf'),float('inf'))] $$$ def push(O,v): O.s.append(v,min(v,O.get_min())
    # храним в стеке сами значения и его текущий минимум

  • @sergem6860
    @sergem6860 3 หลายเดือนก่อน

    По-моему некорректно говорить, что в худшем случае О(n), а в лучшем O(1), O вроде описывает имеено поведение в среднем (но надо посмотреть, сходу что-то не находится)

    • @EgorKissa
      @EgorKissa 3 หลายเดือนก่อน

      O-нотация характеризует верхнюю границу. Например алгоритм быстрой сортировки в худшем случае (при неудачном выборе опорных элементов) может выполниться за O(n*n), но верхняя граница в среднем находится на O(nlogn).

    • @sergem6860
      @sergem6860 3 หลายเดือนก่อน

      @@EgorKissa а что в лучшем случае она ограничена константой всё же корректно говорить или нет?

    • @EgorKissa
      @EgorKissa 3 หลายเดือนก่อน

      @@sergem6860 нет

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

    Многовато 100 рублей за такие задачи имхо, как SDET Ruby говорю. А кому кажется это сложным, идите в мак на кассу, it это не ваше.

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

      а как вы проводите собеседования? какие задачи даете?

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

      ​@@artemshumeiko У меня не веб разработка (хоть я и знаю RoR), но если тезисно, то интервью состоит из двух частей. 1) Теория: rest, soap, sql, ci/cd, git и тд. Практика: лайвкодинг по задачам. Задачи от элементарных, типа "найти ошибку в простейшем методе" или "что вернет этот метод", до сложных на ООП с подковырками, где в классе используются миксины и модификаторы доступа. Крутого кандидата могу и по метапрограммированию спросить, и попросить поднять простейший кастомный фреймворк для АТ, но джунов я не собесил, не было нужды, всегда мидлы и выше.
      З.ы. НИКОГДА не спрашиваю теорию тестирования типа "чем смок отличается от санити", "артефакты тестирования" и прочую чепуху. Это вопросы для ручников-стажеров, а для AQA и SDET такие вопросы == по глупости, как и "кем себя видишь..." )))

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

      @@artemshumeiko У меня не веб разработка (хоть я и знаю RoR), но если тезисно, то интервью состоит из двух частей. 1) Теория: rest, soap, sql, ci/cd, git и тд. Практика: лайвкодинг по задачам. Задачи от элементарных, типа "найти ошибку в простейшем методе" или "что вернет этот метод", до сложных на ООП с подковырками, где в классе используются миксины и модификаторы доступа. Крутого кандидата могу и по метапрограммированию спросить, и попросить поднять простейший кастомный фреймворк для АТ, но джунов я не собесил, не было нужды, всегда мидлы и выше.

    • @TheWorld-hs1hf
      @TheWorld-hs1hf หลายเดือนก่อน

      ​@@alexander_gkс каких пор миксины, модификаторы доступа и вопросы по метапрограммированию это уровень выше слабого стажера (Что-то типа стажер- -)? Если добавить туда хорошее (± глубокое) понимание асинхронного программирования и отличия асинхронности от многопоточности, многопроцессорности, а для практики добавить задание с написанием функции с использованием asyncio, то, базару ноль, кандидат тянет на стажера, можно даже деньги ему платить, 25-30к

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

      @@TheWorld-hs1hf с каких пор описанное тобой - это стажёр? Стажёр - это когда ты пишешь в сознании сразу двоичный код и передаешь его из нейронов в процессор.

  • @qulinxao
    @qulinxao 3 หลายเดือนก่อน

    def push(self,v): self.t+=1; self.s.append(q:=(v,self.t)); heapq.heappush(self.pq,q)
    def pop(self): v,t=self.s.pop(); set(heapq.heappop(pq) for _ in itertools.takewhile(lambda v:v[1]>=t,pq)); return v
    def top(self):return self.s[-1][0] $$$$это разрыв строки$$$ def get_min(self):return self.pq[0][0]
    def __init__(self): self.s,self.pq,self.t=[],[(float('inf'),0)],0

    • @qulinxao
      @qulinxao 3 หลายเดือนก่อน

      def push(self,v): self.s.append(v); v

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

    Где таким задачам обучиться?

  • @VaeV1ct1s
    @VaeV1ct1s 3 หลายเดือนก่อน

    Кажется последняя задача решается линкедлистом с указателем на последнюю ноду, а в ноде с указателями на предыдущую и минимальную.
    И не надо создавать второй лист

    • @anoshin45
      @anoshin45 3 หลายเดือนก่อน

      Тогда вам нужен кастомный ЛЛ с двумя указателями. Можно упростить и держать минимальное значение в каждой ноде вместо указателя. Но это будет занимать больше места.

    • @VaeV1ct1s
      @VaeV1ct1s 3 หลายเดือนก่อน

      @@anoshin45 написать класс с 3 полями сложно?

    • @anoshin45
      @anoshin45 3 หลายเดือนก่อน

      @@VaeV1ct1s Упростить в плане не заморачиватся с указателями на минимальное значение.

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

      @@anoshin45 зачем забивать память? Оно у тебя хранится в ноде, на которую ты указываешь. В чем простота?

    • @anoshin45
      @anoshin45 3 หลายเดือนก่อน

      @@VaeV1ct1s а если у тебя два дупликэйта. Ты сам на себя будешь ссылаться ?