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

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

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

  • @ivkis3270
    @ivkis3270 ปีที่แล้ว +2

    спасибо огромной, что делишься такой уникальной информацией!

  • @MED077
    @MED077 ปีที่แล้ว +2

    Спасибо за материалы!
    Только собираюсь осваивать Go, после PHP. Понимаю, что видео не для обучения основам, но показалось не очевидным такое поведения увеличение ёмкости среза.
    Спросил ChatGPT, он мне выдал..
    "Точный механизм изменения ёмкости может зависеть от различных факторов, таких как реализация компилятора Go или платформа, на которой выполняется программа. Поведение изменения ёмкости среза не является строго определенным стандартом языка Go и может различаться."
    Т.е. понятно, что задача с подвохом. Значит именно с этого надо и начинать рассуждать при подходе к этой задаче в ответ на неё, если к примеру решаем на бумажке и нет возможности сразу проверить с помощью `cap(x)`.
    Я правильно понимаю, что это именно проверка знаний на поведение и внимательность, а не на сам результат конечного вывода?
    Общий принцип понятен. Не понятно, почему во втором варианте вдруг ёмкость в конце становится на 2 больше. Хотя ChatGPT написал, что она может и удваиваться..

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

      Вы сначала должны правильно сказать результат вывода, а потом объяснить, почему так. Если вы просто угадали, но не знаете, почему - то вряд ли пройдете дальше.
      На 2 больше становится длина слайса, а не емкость, потому что каждый аппенд увеличивает длину на 1.

  • @yarbersheer8559
    @yarbersheer8559 ปีที่แล้ว +2

    ахаха)) Нормально денёк сегодня Ростовский прошёл)

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

    четвёртая охонь ))) связанные массивы прям)

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

    Спасибо за крутые видео и полезный контент, с радостью пообщался бы лично👌🏻

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

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

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

    Топчик контент

  • @waffleboot
    @waffleboot ปีที่แล้ว +2

    В четвертой задаче сделать
    b := append(a[1:1], 'd')
    тоже ништячно

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

      да уж, с реслайсингом можно покувыркаться от души )

  • @user-qx3km6wp1p
    @user-qx3km6wp1p ปีที่แล้ว +1

    Джуны любят делать y = append(x,...) вместо копирования данных в новый слайс. Баги на проде уже такие ловились :)

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

      Не было бы таких примеров на собесах - были бы нормальные Джуны 😂

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

    a := make([]struct{}, 17, 17)
    a = append(a, struct{}{})
    fmt.Println("len: ", len(a))
    fmt.Println("cap: ", cap(a))

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

      Да, спасибо, что-то вроде такого - stackoverflow.com/questions/75348572/go-slices-capacity-increase-rate :)

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

      sl := []int{5:2}
      print(sl)
      такое в интернете не найдёте :)

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

      @@MaximRovinsky хорош! ) тебя реально такое спрашивали? )

    • @user-lg7ww4pr6k
      @user-lg7ww4pr6k 7 หลายเดือนก่อน

      А почему так? У нас же должна удваиваться капасити, если до этого она была меньше 256. А тут просто +1. Как?

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

      ​@@user-lg7ww4pr6k надо посмотреть по исходному коду функции growSlice() и тогда поймешь)

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

    странно слушать, что понимание функционирования языка способно делиться на джунов, мидлов и синьоров)) По идее же и джуны это всё знать должны. Мидлы и Сеньоры это уже про архитектуру и осознание задач))

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

      Должны, но к ним больше снисхождения, если не знают.

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

    Привет. Скажи, стОит ли писать erp-систему (узкоспециализированное) на Golang?

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

      Понятия не имею ) не моя специфика

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

    классно. теперь буду знать. (только воды много)

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

      таймкоды проставлю, чтоб фильтровать можно было ;)

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

      @@itkrasavchik а заставка - агонь. Догадываюсь, что ее нарисовало

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

      @@MichaelKondrashin заставку нарисовала моя лень и немного midjourney ;)