Примеры с реальных Golang собесов 2023: typed nil

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ส.ค. 2024
  • Еще один класс задач с собеседований на позицию Go разработчиков.
    Клуб АйТи красавчиков с еженельными созвонами, приватным чатом для подписчиков и уникальным контентом - boosty.to/itkr...
    Пример номер 1: goplay.space/#...
    Пример номер 2: goplay.space/#...
    dave.cheney.ne...
    go.dev/doc/faq...
    Видео про вопрос на миллион долларов: • Вопрос по Golang на ми...
    Видео про задачи на append: • Примеры с реальных Gol...
    Видео про задачи на change pointer: • Примеры с реальных Gol...
    Видео про задачи на loopvar: • Примеры с реальных Gol...
    Видео про задачи на каналы и горутины: • Примеры с реальных Gol...
    Видео про задачи на GOMAXPROCS и defer: • Примеры с реальных Gol...
    Оставить заявку для участия в программе "Процент от ЗП" можно здесь - it-krasavchik.... - или на почту - it@krasavchik.club - или в телегу - t.me/itkrasavchik
    Клуб АйТи Красавчиков в дискорде - / discord

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

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

    Спасибо, очень интересное и полезное видео

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

    On the next week will have a Go interview, have a lot of blank spaces, don't have a feeling that I'm prepared well :/
    But anyway, it is what it is will try my best.
    Thank you again for your attention again, hope I will see next video!

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

      Please contact me in telegram tomorrow - we can setup a call on weekend to discuss your interview.

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

      @@itkrasavchik Okay, I will, thank you :)

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

    Огонь!

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

    Очень полезные видосы делаешь. Нашел случайно, когда на работе искал материалы по гошке. Странно, что так мало актива на таком контенте, мб в СНГ гошка еще не так популярна.
    Я сейчас на старте своей профессиональной карьеры. Закончил прикладную информатику и успел поработать low code разработчиком 10 месяцев в региональной компании. Месяц назад смог пробиться в этой же компании на full stack разработчика (golang/angular). Сейчас параллельно изучаю технологии и учусь в магистратуре. Хотел узнать о твоих продуктах. Они нацелены на middle/senior разработчиков?
    В сети очень популярно менторство, интересно берешь ли ты таких зеленых как я, не в плане поиска удаленки, до нее мне еще нужно отпахать свое. А в плане расстановки приоритетов и корректировки обучения. В вузе часто замечал как расширяется мой кругозор и развиваются навыки, когда общался с преподавателями лично. Поэтому понимаю, что у человека с международным опытом работы в it есть чему поучиться

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

      Я за последнюю неделю сделал больше видосов, чем за предыдущие полгода )) так что в целом не сильно странно )

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

      @@itkrasavchik , если несложно ответь на мой вопрос. Может быть ты не увидел полностью мой коммент предыдущий

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

      @@saintcamper828 Не увидел ) Я сейчас делаю упор на "Процент от ЗП" - там опыт нужен от года, но в целом все возможно. Напиши мне в телегу - посмотрим.

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

    Опасная штука. Сделать ресивер указателем (e *myError) Error() и if (err != nil) fmt.Println(err.Error()) приведет к панике. Поэтому если ошибок нет, то явно возвращать nil. Я так исходящий тип у функции поменял: func bar() error поменял на bar() *myError. А чо, компилируется же и даже внутренность bar() не поменялась. Как было внутри bar() выражение return nil так и осталось, указатель же. Вот только смысл вызова foo(bar()) где foo(e error) начисто поменялся. Компилер присоседил тип к транзитному nil и foo сломалось. В гохе nil как указатель и nil для интерфейсов разные вещи.

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

    Спасибо за видео! Скажи пожалуйста спрашивают ли про дженерики на собесах?

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

      Только твое личное мнение. В примерах нет.

  • @user-kp4mt2jc3d
    @user-kp4mt2jc3d ปีที่แล้ว

    Подскажи, пожалуйста, как верно использовать WaitGroup и Mutex - по указателю или по значению. Вроде говорят, что нужно по указателю, хотя многие используют по значению. А работает вроде одинаково.
    wg := &sync.WaitGroup{} // по указателю
    wg := sync.WaitGroup{} // по значению
    for i := 0; i < 5; i++ {
    wg.Add(1)
    go func(i int) {
    defer wg.Done()
    fmt.Println(i)
    }()
    }
    wg.Wait()

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

      Если передавать мьютекс по значению, то потенциально у тебя Lock и Unlock будут работать на разных мьютексах (оригинале и его копии) - и никакой блокировки тут конечно не будет. То же самое по waitgroups: при передаче по значению Done() у тебя будет на одной группе, а Wait() - на другой. Пример - stackoverflow.com/questions/36407206/best-way-of-using-sync-waitgroup-with-external-function

    • @user-kp4mt2jc3d
      @user-kp4mt2jc3d ปีที่แล้ว

      @@itkrasavchik выходит, потенциально такие ситуации могут возникнуть только если передавать wg или mutex по значению в функцию через входные параметры
      А в моем примере можно спокойно использовать
      wg := sync.WaitGroup{}

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

      @@user-kp4mt2jc3dда, в твоем случае разницы нет

  • @user-yt2sb9tl3p
    @user-yt2sb9tl3p ปีที่แล้ว

    True false false false

    • @user-yt2sb9tl3p
      @user-yt2sb9tl3p ปีที่แล้ว

      Failed to run error:

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

      @@user-yt2sb9tl3p Красавчик ) Надеюсь не запускал ;)