Андрей Ушаков | собеседование junior pyhton разработчик.

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2022
  • Подписка, колокольчик, лайки и комментарии мотивируют продолжать.
    Поддержать канал -- можно денежкой. www.tinkoff.ru/rm/pronin.andr...
    Мой канал про обучению python с нуля и до мидла Андрей+=Пронин
    / @pypronin
    Я в других сетях
    🔗Вконтакте: CaptPronin
    🔗Дзен: zen.yandex.ru/id/5fbd33919412...
    #python #питон #программирование #Андрей_Пронин #собеседование

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

  • @RabcriN
    @RabcriN Год назад +10

    Огромное спасибо Андрею Ушакову, что разрешил выложить данный собес. Всё учится и натаскивается, надо просто время и желание. Так что успехов, сил и знаний) 👍

    • @AndyPronin
      @AndyPronin  Год назад

      Надо немалую смелость иметь. Да

  • @MajotradeNet
    @MajotradeNet Год назад +4

    Спасибо! Уже вторую неделю слушаю все подряд ваши видео! Изучаю Django, python, golang. Очень мотивирует ваш контент.

    • @AndyPronin
      @AndyPronin  Год назад +1

      Спасибо. Рад, что полезно

    • @folium5725
      @folium5725 Год назад

      И как Вам го?

    • @MajotradeNet
      @MajotradeNet Год назад +2

      Go мне очень нравится. Но таких фреймворков, как django, там нет. Думаю , JS и React учить тоже. Написал веб-сайт по одному курсу на go, но с django не сравнить, конечно.

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

      @@MajotradeNetда ты прям супермен👍

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

      @@nitrocigil6874 С чатом GPT, действительно, чувствую себя суперменом))

  • @olegch8623
    @olegch8623 Год назад +6

    ИДЕАЛЬНЫЙ контент для чайников. ОГРОМНОЕ спасибо.

    • @AndyPronin
      @AndyPronin  Год назад +2

      о... его и опытные ребята находят любопытным... ) Вспомнить страдания, через которые сам когда то прошёл - бесценно)

  • @user-tp7iz9hj9n
    @user-tp7iz9hj9n 2 месяца назад

    Блииин, как много я ещё не знаю

  • @thunderborn9976
    @thunderborn9976 Год назад +1

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

    • @AndyPronin
      @AndyPronin  Год назад +1

      Основы питона. ООП. Запросы и БД. . Стэк.

    • @nok738
      @nok738 10 месяцев назад +1

      КНИГИ ДЛЯ НАЧИНАЮЩИХ (трейни и ниже)
      - "Искусство схемотехники" Хоровиц П., Хилл У.
      - "Искусство программирования" Кнут Д.
      - "Архитектура компьютера" Таненбаум Э.
      - "Компиляторы: принципы, технологии и инструменты" Ахо А., Лам М., Сети Р., Ульман Д.

  • @seoonlyRU
    @seoonlyRU Год назад +3

    Чотко!!! Лайк от прогера-топ комментатора СЕООНЛИ

  • @ibrahimoglu
    @ibrahimoglu Год назад +1

    👍

  • @mikug6735
    @mikug6735 Год назад

    def subtracts_lines(left_lines, right_lines):
    """ This function subtracts lines"""
    result = left_lines.lstrip(right_lines)
    if result == left_lines:
    raise ValueError("Мы не можем вычесть эти строки")
    else:
    return result

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

    Новичек, сделал почти так же, но не знал про startswith, поэтому у меня это выглядело так
    def difstr(a: str,b: str) ->str:
    c = str(a[:len(b)])
    if c == b:
    return a.replace(b,'',1)
    return a

  • @LeBrondoter1
    @LeBrondoter1 Год назад +1

    Никакое налоговое резиденство никуда не теряется. Это все только на бумаге, фактически спокойно работается без проблем и официально годами

  • @velvet7667
    @velvet7667 Год назад +1

    Хочу спросить про is. У Лутца сказано, что хэширование строк и int работает на небольшие значения
    s1, s2 = 'is it longer string', 'is it longer string'
    s1 is s2 должно быть False
    Как и с интами, a, b = 253421321312, 253421321312
    Должно быть False
    Теперь же True в обоих вариантах, вне зависимости от величины и длины
    Систему хэширования поменяли, или что изменилось?

    • @velvet7667
      @velvet7667 Год назад +6

      Cам отвечаю на свой вопрос)
      "Вплоть до версии 3.7 Python использовал оптимизацию глазка, и все строки длиной более 20 символов не интернировались. Однако теперь он использует оптимизатор ASTÂ , и (большинство) строк длиной до 4096 символов интернированы"

    • @user-gd2tq7nx6o
      @user-gd2tq7nx6o Год назад

      @@velvet7667 от души за пояснение!

  • @user-gk7pq5kz1d
    @user-gk7pq5kz1d Год назад +1

    Андрей, хотелось бы узнать ваше мнение про codewars?
    Поможет ли наличие ранга при собесе?
    Какой ранг (по вашему мнению) соответствует джуну, мидлу?

    • @AndyPronin
      @AndyPronin  Год назад +3

      Если попадётся знакомая задачка - то да. Сертификаты, дипломы, ранги и прочие бумажки без возможности их подтвердить практикой ничего не стоят, думаю

    • @user-he4st2ro5h
      @user-he4st2ro5h Год назад +1

      Дядя, только leetcode

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

      Да это херня полная. Я не буду брать работника исходя как он хорошо понимает логические математические задачи

  • @7IdE
    @7IdE Год назад +5

    Ольга не только улыбашка, но еще и симпотяшка и обаяшка)
    Ооо, наконец-то вернулись вопросы про id(). Мне кажется, Андрей через себя перешагивал каждый раз, когда НЕ спрашивал об этом. :D
    Вот по поводу интернирования - вообще странная эта штука.
    a = "aaaabcd"
    b = "aaaabc" + "d"
    c = a[:-1] + "d"
    Вот а и b будут ссылаться на один объект, а c уже не будет. Возможно, это из-за того, что там какой-то запрет на поиск совпадений, если мы изначально берем какую-то часть строки.
    Странная штука, кароч.
    Ну а по собесу - прям очень и очень слабо. Базы Питона нет вообще, печатает медленно, вместо того, чтобы скопипастить написанное 1 раз - перепечатывает каждый раз, свою ИДЕ не знает...А уж если бы он работал в каком-нибудь обычном текстовом редакторе, то еще хуже было бы... Это явно не уровень джуна - даже не стажер.
    Тут еще качаться и качаться. Как минимум того же Лутца прочитать и разобрать вообще всего. И также повторить абсолютно все, что было в Практикуме.
    Месяца 3 минимум на это все потратить, но не по часу в день, а чтоб прям кровь из глаз начинала течь. До тех пор, пока в методах автоматом self не появлялся.
    С другой стороны, зато теперь у него есть шикарный опыт, где он прям конкретно облажался. Хуже-то уже не будет. :D
    P.S. А почему у меня не было уведомления о новом видосе? Ты все сломал? :D

    • @AndyPronin
      @AndyPronin  Год назад

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

    • @AndyPronin
      @AndyPronin  Год назад

      будет, что на собесе ответить на вопрос про факап) Подкачаться надо, безусловно.

    • @7IdE
      @7IdE Год назад +1

      @@AndyPronin, "я чето нажала и все исчезло"?)
      А на самом деле я часто задумывался насчет подобных факапов.
      Формально, рано или поздно каждый сядет в лужу - так или иначе.
      И лучше в нее садиться уже имея опыт нахождения в ней, чем погружаться в эту пучину в первый раз.
      И, что самое главное, на реальном собесе его бы, скорее всего, вообще порвали бы.
      Так что, негативный опыт - это опыт, который ничем не хуже, чем позитивный.
      Так что, такая ситуация, как по мне, даже лучше, чем если бы ты ему сказал "все норм, годен без ограничений".

    • @Bibliophilos
      @Bibliophilos Год назад

      Интересно, почему «с» не интернируется. На этапе компиляции мб срез с конкатенацией ведет себя не в рамках обычного интернирования.

    • @AndyPronin
      @AndyPronin  Год назад

      @@7IdE есть лимон - дави лимонад)

  • @MasterID
    @MasterID Год назад +2

    21 когорта :). И мы в линкидине с ним :)

  • @jlakep8058
    @jlakep8058 Год назад

    Доброго времени суток, прохожу сейчас курсы ЯП, как раз Python-разработчик, по итогам тоже есть шанс попасть к вам на подобный пробный собес?)

    • @AndyPronin
      @AndyPronin  Год назад

      Да. Через акселерацию

  • @MasterID
    @MasterID Год назад +5

    Еще ни одна строка мне не изменила :)

  • @ferokuk
    @ferokuk Год назад +1

    Андрей, а где Николай Ширинкин? Очень соскучился по нему

    • @AndyPronin
      @AndyPronin  Год назад +1

      О. Он иногда забегает, как зритель. Насколько я знаю, делает какой то проект по трудоустройству

    • @ferokuk
      @ferokuk Год назад

      @@AndyPronin Понял, благодарю

  • @23prince1
    @23prince1 Год назад +1

    Можно ли задачу со строками сделать через срезы?
    def dif(a, b):
    if a in b[:len(a)]:
    return b[len(a):]
    return b

    • @AndyPronin
      @AndyPronin  Год назад

      Там много вариантов решения.

    • @1nparad1sepwnz79
      @1nparad1sepwnz79 Год назад

      Я когда услышал, условие, сразу так же сделал)

    • @DDR4605
      @DDR4605 5 месяцев назад

      Довольно плохой вариант по сложности по памяти, т.к. срез, по сути создает еще один список

  • @wtf3995
    @wtf3995 Год назад

    Гуд) "Жертве" не отчаиваться и быть готовым, было ощущение, что он спал, а тут вдруг постучались Ольга с Андреем)

    • @AndyPronin
      @AndyPronin  Год назад

      Надеюсь, ему было полезно)

  • @o7arm
    @o7arm Год назад

    Андрей сидит как самурай , вот это выдержка )) я бы написал хокку но данного навыка не имею )

    • @AndyPronin
      @AndyPronin  Год назад +1

      Никто не умеет)
      Зимний собес
      Снова неопытный джун
      Горький фидбек

    • @o7arm
      @o7arm Год назад +1

      @@AndyPronin
      Камень
      Река
      Притаился питон
      Неопытный джун
      🤣

  • @user-he4st2ro5h
    @user-he4st2ro5h Год назад +1

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

    • @AndyPronin
      @AndyPronin  Год назад +1

      Я стараюсь брать вопросы с реальных собеседований.

  • @kvartira_spb5346
    @kvartira_spb5346 Год назад +3

    Под каждым видео буду просить показать git кандидатов)

    • @AndyPronin
      @AndyPronin  Год назад

      Ок. Если будут интересные прректы

  • @MasterID
    @MasterID Год назад

    Желательно все такие лайвкодинги делать в юпитернотебук что ли :)

    • @AndyPronin
      @AndyPronin  Год назад

      Любой удобный редактор

  • @HaterCheaters
    @HaterCheaters Год назад

    не прокатит с символами юникода
    с латиницей работает

  • @wlizza2362
    @wlizza2362 Год назад

    А я бы так сделал
    def list_app (name_list:list, charge):
    name_list.append(charge)
    name_list_end = list(set(name_list))
    return name_list_end

  • @russiantime778
    @russiantime778 Год назад

    Почему кандидаты часто парятся над названиями функций и переменных? Это же собеседование, можно ведь любые имена задавать. Это специфика тех, кто практикум окончил?)

    • @AndyPronin
      @AndyPronin  Год назад

      Что лучше - хороший нейминг иои i j foo bar ?

  • @vladimirdo
    @vladimirdo Год назад

    def string_minus(a, b):
    return a[len(b):] if a.index(b) == 0 else a
    Так можно делать?

    • @alexmiller6844
      @alexmiller6844 Год назад +2

      Eto rabotaet, no luchshe tak ne delat' po dvum prichinam. a.startswith(b) bolee jasno s tochki zrenija chtenija koda, i bolee effektivno algoritmicheski.

  • @TimurTukhvatulin
    @TimurTukhvatulin Год назад +3

    59:06 ))

    • @AndyPronin
      @AndyPronin  Год назад

      )

    • @folium5725
      @folium5725 Год назад

      апзаапзхапхзахзпах, только хотел написать)

    • @vegzuzvegzuz2866
      @vegzuzvegzuz2866 Год назад

      Когда одного facepalm недостаточно)

    • @MasterID
      @MasterID Год назад

      Я думаю Оскар за отличную игру можно давать :)

  • @valeriiriabokon7301
    @valeriiriabokon7301 Год назад +1

    После неправильного ответа на первый простейший вопрос на 15 минуте, я боюсь представить, что там будет дальше....

    • @AndyPronin
      @AndyPronin  Год назад

      Ну... я такие не дал аппрув.

    • @MrLotrus
      @MrLotrus Год назад

      Что a is b не так очевидно, зависит от реализации интерпретатора и на это полагаться нельзя. Проблема в основном в том, что он вместо is сначала на равенство значений проверял.

  • @vegzuzvegzuz2866
    @vegzuzvegzuz2866 Год назад +2

    Это полное фиаско... У Андрея стальная выдержка

    • @AndyPronin
      @AndyPronin  Год назад +1

      он научится

    • @Bibliophilos
      @Bibliophilos Год назад +2

      @@AndyPronin моё почтение Вашему оптимизму и вере в каждого участника.

    • @AndyPronin
      @AndyPronin  Год назад +1

      @@Bibliophilos я стараюсь отслеживать их судьбу. Кто не сложил лапки, а принялся активно закрывать пробелы в знаниях -- нашли работу в итоге

    • @Bibliophilos
      @Bibliophilos Год назад +1

      @@AndyPronin искренне рад за них и за Вас :)!

    • @AndyPronin
      @AndyPronin  Год назад

      @@Bibliophilos не переключайтесь)

  • @selenium4267
    @selenium4267 Год назад +2

    Респект Егору Криду, давно пора уже было начать учить программирование)

  • @MrLotrus
    @MrLotrus Год назад

    Научите ребят именно шрифт кода увеличивать. Они вместо этого все шрифты увеличивают

    • @AndyPronin
      @AndyPronin  Год назад

      Консольку тоже же надо

    • @MrLotrus
      @MrLotrus Год назад

      @@AndyPronin terminal.integrated.fontSize: x
      editor.fontSize: x
      debug.console.fontSize: x
      И такое есть для всех сущностей vscode

    • @AndyPronin
      @AndyPronin  Год назад

      @@MrLotrus сложна) я просто кантрол + прошу перед записью сделать

    • @MrLotrus
      @MrLotrus Год назад

      @@AndyPronin это и через гуи в настройках можно найти. Но имхо удобнее JSON напрямую поправить. Зато не будет этих конских менюшек

  • @user-ru2gn4uw4z
    @user-ru2gn4uw4z Год назад

    Ребята, кто то может мне подсказать, почему в самом начале при создании двух строк Hello World они в итоге ссылаются на один объект в памяти, а не создается новый.
    Я понимаю a == b, но не понимаю почему a is b

    • @AndyPronin
      @AndyPronin  Год назад

      интернирование объектов питон

    • @user-ru2gn4uw4z
      @user-ru2gn4uw4z Год назад

      @@AndyPronin Спасибо!)

    • @khjkut
      @khjkut Год назад

      is - is проверяет , ссылаются ли переменные на один и тот же объект в памяти , в то время как == проверяет, имеют ли переменные одно и то же значение

    • @AndyPronin
      @AndyPronin  Год назад +1

      @@khjkut м.. Вопрос ещё когда именно проводится проверка

  • @ms-33
    @ms-33 Год назад

    9:26 тех часть

  • @gvadellupa9335
    @gvadellupa9335 Год назад +1

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

    • @MasterID
      @MasterID Год назад +1

      Да можно даже в юпитере делать, или убирать вкладку файлы сбоку. Тоже напрягает все это вот все :)

    • @AndyPronin
      @AndyPronin  Год назад

      Ну.. Обычно просят. Может, лишнего увеличели

  • @winnerdinner1098
    @winnerdinner1098 Год назад +5

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

    • @AndyPronin
      @AndyPronin  Год назад +2

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

    • @finemechanic
      @finemechanic Год назад

      Что ж за "эпидемия" использования слова подметить там, где гораздо уместнее просто отметить?

  • @watwatwtf9009
    @watwatwtf9009 Год назад +1

    Print(“Здравствуйте!») только зашёл на канал. А что это за демо формат такой? Это школа или же любой рандом может зайти на дэмо пробник. If True: return like Else: Comment с объяснениями

    • @AndyPronin
      @AndyPronin  Год назад

      Обычно делаю для Практикума. Но иногда бывают розыгрыши t.me/RUclipsPronin вот тут

  • @vadimvadim1662
    @vadimvadim1662 Год назад +2

    проверка на равенство (==) проверяет равны ли значения, это не гарант того, что это один и тот же объект, проверить это достаточно просто, нужно завести два списка и проверить == и is(либо id), первая проверка вернет True для похожих списков, вторая же вернет False
    почему python не создает новый объект, в представленном на 14 минуте примере, все дело в оптимизациях, каждый раз, когда вы заводите новый объект в памяти под это нужно время (грубо говоря выделить память, положить объект, создать ссылку на этот участок и т.д.), оптимизация направлена на то, чтобы просто присвоить ссылку и избежать пункта с выделение памяти и созданием там объекта
    та же магия работает и для чисел в диапазоне от -5 до 255 вроде, они уже зарезервированы в памяти, в чем прикол? просто разработчики посчитали, что этот набор чисел используется чаще всего и нет смысла их каждый раз создавать и тратить на это ресурсы (надо понимать, что интерпретатор это тоже программа и он сам может использовать этот набор чисел, да и другие программы, которые у вас активны тоже юзают этот набор чисел часто

    • @AndyPronin
      @AndyPronin  Год назад

      Бинго. Про инты тоже бывает, спрашивают

    • @hateisu
      @hateisu Год назад +1

      Ну я сначала подумал про Java а именно Pointer, но потом вспомнил про оптимизацию. Спасибо за разъяснения

    • @ralaam5661
      @ralaam5661 Год назад

      Привет. Скажи, пожалуйста про оптимизацию подробней. Да "==" при сравнении слов, посимвольно проверяется значение кода Unicode для каждого отдельного символа ,и, естественно эти строки будут равны. Эта не та проверка, которая нужна была. Но что ты имел ввиду про оптимизацию? Я правильно понял, что у нас один раз создался объект в памяти в самом начале. Мы ссылку на этот объект присвоили переменной "а". И дальше уже, работает волшебная оптимизация, которая уже не хочет создавать несколько одинаковых объектов, а просто ссылается постоянно на уже существующий, т.к опять же код Unicode у нас идентичен?

    • @hateisu
      @hateisu Год назад

      @@ralaam5661 По-моему он имеет ввиду что == сравнивает значения, а is сравнивает участки памяти. А оптимизация тут при том что пайтон может ссылать две разные переменные на один и тот же участок памяти
      Upd: Это и есть оптимизация в питоне. К примеру если: a, b = "Hello World". То у них названия разные но все остальное идентичное( жрет меньше памяти). В видео был пример когда переменные на первый взгляд одинаковые(то есть должна была произойти оптимизация), но участки памяти разные, соответственно и id

    • @ralaam5661
      @ralaam5661 Год назад

      @@hateisu Про знак "==" человек как раз имеет ввиду то, что я написал, вроде....
      я прост ленивый немного, и поэтому тут думал краткую выжимку услышать про оптимизацию)) про то, что ты написал я понял...но я хотел узнать почему так и какими средствами это достигается?))) Да и вообще, как бы улавливать момент этот тонкий, а именно...в какой момент времени мы "сравниваем байткод", а в какой момент времени "адрес ячейки памяти". Может Андрей сможет кинуть в меня ссылкой. Я просто чувствую, что понимание этого момента сможет бустануть нас, как джунов. Хочется постичь дзен.

  • @user-bc1yc8hb9v
    @user-bc1yc8hb9v Год назад

    а Андрей Ушаков в комментариях присутствует ?

    • @andreyushakov7052
      @andreyushakov7052 Год назад +1

      Присутствую:)

    • @user-bc1yc8hb9v
      @user-bc1yc8hb9v Год назад +1

      @@andreyushakov7052 а можно с тобой где-то связаться по поводу Аргентины?)

  • @st-tn5sk
    @st-tn5sk Год назад +4

    Назвать это собесом на джуна можно только с натяжкой, расчет на не квалифицированную публику, ну пипл схавал как говорится, этого достаточно для контента

  • @rinput
    @rinput Год назад

    В задачке со строками можно было просто a.lstrip(b), и проверка не нужна

    • @alexmiller6844
      @alexmiller6844 Год назад +1

      str.lstrip eto ne to chto nuzhno: 'help'.lstrip('he') == 'help'.lstrip('eh'). It removes characters, not substring. What works is str.removeprefix

    • @AndyPronin
      @AndyPronin  Год назад

      @@alexmiller6844 как вариант

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

    Pyhton разработчик это что то новое🧐

  • @Vasilii_Furi
    @Vasilii_Furi Год назад +2

    Очередной ПИХТОН разработчик)

    • @Bibliophilos
      @Bibliophilos Год назад

      Было же Птухон?

    • @MrLotrus
      @MrLotrus Год назад

      Он ещё не разработчик

  • @lykasbolt4972
    @lykasbolt4972 Год назад +1

    Ну прям очень слабенько)

    • @AndyPronin
      @AndyPronin  Год назад

      Надо подкачаться

  • @Maine__Coon__1
    @Maine__Coon__1 Год назад +1

    Я запутался с переменными 🥲
    Действительно магия, переменная a == c, True
    a is c, False 🤯
    Пошёл читать про Интернирование строк....
    что я нашёл : оператор is проверяет ссылаются ли переменные на один и тот же объект,
    А оператор == проверяет уже значение переменных
    И далее, мои мысли (возможно ошибочны) получается строки в питон настолько ленивы, что первая строка с одинаковым значением занимает ячейку в памяти, а вторая просто ссылается на то же самое место в памяти 😳

    • @AndyPronin
      @AndyPronin  Год назад +1

      Близко. Там в комментарях было хорошо

  • @shama_z
    @shama_z Год назад +1

    напомню себе что codewars или leetcode поможет накачать мускул.

    • @AndyPronin
      @AndyPronin  Год назад +1

      И еще слепая печать

  • @Chel1k7
    @Chel1k7 Год назад

    Return stroka1.lstrip(stroka2)

  • @alexmiller6844
    @alexmiller6844 Год назад +2

    str.removeprefix(prefix)

    • @AndyPronin
      @AndyPronin  Год назад

      Ну... Я такое наизусть не помню

    • @MrYakubov
      @MrYakubov Год назад +1

      @@AndyPronin removeprefix и removesuffix добавлены в 3.9, возможно поэтому ещё не успело запомниться

    • @AndyPronin
      @AndyPronin  Год назад

      @@MrYakubov развивается питончик
      )