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

Поділитися
Вставка
  • Опубліковано 16 чер 2024
  • Потренироваться проходить собеседования: clck.ru/3ASssc
    Курсы по программированию: clck.ru/3ASt6y
    Mock-собеседование от Team Lead из Ozon секции по языку Golang на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать!
    Telegram канал Олега: t.me/oo_ilin
    UA-cam канал Олега: / @oo_ilin
    Таймкоды:
    00:00 Знакомство
    00:38 Задача про строки
    06:51 Slices и массивы: append структур
    17:47 Slices и массивы: дефолтные значения
    20:27 Slices и массивы: изменение размера
    23:07 Обсуждаем map
    27:17 Обсуждаем интерфейсы
    34:39 Обсуждаем defer
    40:46 Пример с замыканием
    46:26 Конкурентность: базовые понятия
    56:19 Конкурентность: задача SafeCounter
    1:00:53 Конкурентность: задача mergeChan
    1:08:46 Обратная связь
    [[ Отзыв о кандидате ]]
    Рекомендовать этого человека на следующий этап? ДА
    Каковы были его технические навыки? 4/5
    Каковы были его способности решать проблемы? 5/5
    Каковы были его коммуникативные способности? 5/5
    Дмитрий во время собеседования показал себя хорошо. С учетом того что он имеет всего несколько месяцев опыта считаю его знания солидными. Понимает все основные концепции и инструкции языка go. В местах где не был уверен в ответе делал предположения и рассуждал, что показывает его способность анализировать и принимать решения. Также видно, что он знаком с некоторыми best practies. В общении приятен и содержателен. Считаю, что уровню джуниор в golang он соответствует.
    Первые вопросы про строки
    Основы работы со строками понимает. Знает как устроенны внутри. Необходимо более подробно изучить основы Unicode и ASCII
    Slices и массивы
    По слайсам и массивам уверенные знания внутреннего устройства. Способен понять как будет работать программа не прибегая к компиляции. Четко понимает какой будет результат при разных сценариях работы с данными типами. Рекомендую, если будет углубляться в оптимизации, посмотреть работу функции append и работу с памятью.
    Maps и интерфейсы
    Работу с map понимает хорошо, понимает что может быть ключами. Видно что имеется предствыление о best practies по оптимизации памяти. По интерфейсам видно что есть знания необходимые для повседневной работы, но хочется что бы Дмитрий больше изучил устройство и приведение типов касательно интерфейсов.
    Конкурентность
    У Дмитрия имеются базовое понимание что такое конкурентность и с помощью каких инструментов она реализуется. Но знания поверхностные, стоит больше уделить внимания основам. С задачами справился хорошо. Сразу же начал придумывать решение, не было недопониманий. Грамотно организовал работу с каналами и горутинами полностью аргументирую свои действия.
    Рекомендации для кандидата:
    Так как Дмитрий джуниор, то могу отметить что для его уровня он обладает хорошим фундаментом по go. Четко и понятно формулирует свои мысли. Так же видно что интересуется и применяет на практике best practies. Рекомендую изучать не только тонкости языка, но и основы computer science, это позволит вырасти Диме еще больше как инженеру.
    #собеседование #mockсобеседование #golang #go

КОМЕНТАРІ • 24

  • @dragonwave2652
    @dragonwave2652 3 місяці тому +54

    Пожалуйста отправьте мой заказ с озона, уже месяц жду... Он даже со склада не вышел

  • @user-od1cu8kz7g
    @user-od1cu8kz7g 3 місяці тому +25

    Николай II на собеседовании, вот чудеса!

  • @macgrigory
    @macgrigory 3 місяці тому +9

    Работал с Олегом, многому меня научил, буду всегда благодарен ему =)

    • @oo_ilin
      @oo_ilin 3 місяці тому +2

      О, какие люди ) Привет !!!

  • @funnyduck6326
    @funnyduck6326 2 місяці тому +1

    Спасибо большое, интересное собеседование и хорошего уровня кандидат))

  • @ev1lyas
    @ev1lyas 3 місяці тому

    Полезное видео, спасибо большое!

  • @Albert-nc1rj
    @Albert-nc1rj 3 місяці тому +1

    Спасибо Вам большое!

    • @oo_ilin
      @oo_ilin 3 місяці тому

      И Вам спасибо 🤗

  • @user-wd4th6nj8u
    @user-wd4th6nj8u 9 днів тому

    и кандидат и задачи кайф, коммент для продвижения !)

  • @user-qp3lt4ps8c
    @user-qp3lt4ps8c 2 місяці тому

    Хороший собес, лайк!

  • @existanz
    @existanz 3 місяці тому +3

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

    • @Kondratyevv
      @Kondratyevv 3 місяці тому +2

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

    • @existanz
      @existanz 3 місяці тому

      @@Kondratyevv "Из пальца высосано." - заведомо грубая фраза, которую используют когда собеседник делает ложные выводы, основанные на неверных данных или не обоснованные вовсе. Какое именно моё утверждение является ложным?
      В данном случае идешка действительно подсветит, но если гофер будет ранжироваться по интам, то неизвестно в какой момент он неприятно удивится.

  • @user-vr4rf3se7f
    @user-vr4rf3se7f Місяць тому +1

    в вопросе с дефером где 123 и 456 вообще то в исходном задании выводится 456 а не 123

  • @user-cg7jr2kt4l
    @user-cg7jr2kt4l 2 місяці тому

    В задаче про мердж каналов мы возвращаем закрытый канал. Что нам потом делать с закрытыми каналом? На 7 строчке мы всегда будем виснуть, потому что из этого канала никто не читает.
    Примерно код должен выглядеть так;
    out := make(chan int)
    defer close(out)
    go func() {
    // Код записи из всех каналов в out
    }
    return out

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

    Ozon набор на route256: решите 8 около олимпиадных задач, чтоб попасть к нам на обучение
    Собес на джуна: что значит неизменяемый тип данных....

  • @gerojstalnoj9708
    @gerojstalnoj9708 3 місяці тому +2

    Чувак пол собеса палил ответы с экрана🤣 Топ🤘

  • @user-igor-1992
    @user-igor-1992 3 місяці тому

    1:00:30 на 14 строке, defer же выполняется перед return, сработает блокировка, затем разблокировка, и только потом в return обращение к мапе. Получается, что нужно было делать через промежуточную переменную?

    • @x-streami
      @x-streami 3 місяці тому +1

      если бы defer выполнялся до return, то в go не было бы возможности в defer переопределять результаты возврата, как например тут:
      func foo() (result string) {
      defer func() {
      result = "Change World" // change value at the very last moment
      }()
      return "Hello World"
      }

  • @qbee1
    @qbee1 3 місяці тому +2

    мб я путаю, но в задании со строками при range гошка сама же в руны преобразовывает, а чтобы идти по байтам надо Итовый форик, и тащить по индексу?

  • @gregory._
    @gregory._ 23 дні тому

    1:06:44

  • @haiwiaksbab7362
    @haiwiaksbab7362 Місяць тому

    Интервюер мямлит, вебки закрывают код

  • @user-cg7jr2kt4l
    @user-cg7jr2kt4l 2 місяці тому

    Чувак вообще не понимает основы программирования и компьютер сайнс, какой ему junior ему бы ещё годик поучиться