Mock-собеседование по Go от Team Lead Ozon

Поділитися
Вставка
  • Опубліковано 25 чер 2024
  • Потренироваться проходить собеседования: clck.ru/3ASssc
    Курсы по программированию: clck.ru/3ASt6y
    Mock-собеседование от Team Lead из Ozon секции по языку Golang на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать!
    Telegram канал Леонида: t.me/leoscode
    Таймкоды:
    0:00 - Знакомство
    01:13 - Что такое slice и как он устроен
    02:30 - Какой capacity у не иницициализированного slice
    03:30 - Что выведет программа (слайды). Копирование слайсов
    06:26 - Что такое map в go? Чтение и запись в map
    10:00 - Интерфейсы в Go
    14:45 - Пустые интерфейсы в Go
    16:45 - Что такое ошибка в Go?
    19:18 - Что такое defer?
    23:05 - Что такое gorutine, в чем отличие от потоков? Сколько можно создать горутин? Сколько одновременно может исполняться?
    26:30 - Что выведет программа? (Concurrent доступ в map)
    28:12 - Задача merge N каналов в 1
    [[ Отзыв о кандидате ]]
    За время собеседования задали типичные теоретические вопросы по языку Go, а также решили задачу “ merge N каналов в 1”. Кандидат отлично знает внутреннее устройство типов в Go (slice, map) и понимает как ведете себя программа (может объяснить что выведет программа и почему), понимает устройство планировщика go. Есть небольшие пробелы по деталям и ограничениям в Go по максимальному количеству goroutine и количеству параллельных горутин. В задаче merge каналов необходимо было применить знания по работе с каналами, примитивами синхронизации WaitGroup и конструкции select. Потребовалась небольшая подсказка с WaitGroup. В целом задача была решена верно. По общению приятный, было комфортно общаться с кандидатом.
    Рекомендации для кандидата: я бы посоветовал уделить большее внимание примитивом синхронизации и concurrency в Go. Научиться быстро реализовывать популярные concurrency паттерны: WorkerPool, Pipeline, Broadcast. Также советую больше решать задачек на Go, чтобы повысить скорость написания кода.
    #собеседование #mockсобеседование

КОМЕНТАРІ • 15

  • @user-rn9jx7gt7r
    @user-rn9jx7gt7r 9 днів тому +3

    Код раньше контекста диалога появляется)

  • @user-do3zm3vp2f
    @user-do3zm3vp2f 16 днів тому +1

    Желаю развития каналу и побольше подобных интервью и интересных задачек.

  • @user-do3zm3vp2f
    @user-do3zm3vp2f 16 днів тому +1

    Люблю Гошку и смотреть познавательные ролики связанные с разработкой.

  • @alexeydubentsov
    @alexeydubentsov 14 днів тому +1

    Красава, приятно слушать

  • @kolya2713
    @kolya2713 15 днів тому +5

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

    • @alexandrk5715
      @alexandrk5715 14 днів тому +2

      Да, полная чушь. Странно, что тим лид из озон этого не знает. А еще курсы продают(

    • @artemkas4191
      @artemkas4191 14 днів тому

      ​​@@alexandrk5715 а что по-вашему в озоне работают разработчики уровня "бог"?😮
      Точно такие же разрабы, как и в других компаниях. Давно пора уже перестать обожествлять бигтех-компании

    • @MrLotrus
      @MrLotrus 13 днів тому

      Да, 21:18 выведется 456. Мы ведь по замыканию обращаемся к переменной. А значит по указателю. А что по поводу преобразования? Можешь подробней описать?

    • @kolya2713
      @kolya2713 13 днів тому

      @@MrLotrus там где даа интерфейса AB BC. Мы создали переменную с АБ и дальше ее можно заасертить в БЦ, а они говорят что это не сработает из-за области видимости, хотя я не понял к чему там область видимости

  • @user-hp7pc3lv3v
    @user-hp7pc3lv3v 16 днів тому +4

    Таки, что-то слабовато

  • @user-qx3km6wp1p
    @user-qx3km6wp1p 12 днів тому

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

  • @MrLotrus
    @MrLotrus 13 днів тому

    27:00 Воспроизвел в go playground. Выполнилось без паник что конкуретно пишем в мапу.

    • @MrLotrus
      @MrLotrus 12 днів тому

      Чтобы получить панику и ошибку fatal error: concurrent map read and map write надо запустить две горутины и прям долбить запись и чтение например. Тогда действительно в определенный момент запаникует. Но уже в рантайме.

  • @MrLotrus
    @MrLotrus 13 днів тому

    Ребят, потренируйте дикцию. Иногда сложно понять что говорите