Николай Тузов — Golang
Николай Тузов — Golang
  • 48
  • 837 761
Собеседование Senior Go-разработчика / Даниил Подольский, Владимир Балун - Антон Зиновьев
Даниил Подольский и Владимир Балун проводят собеседование Senior GoLang разработчика - Антона Зиновьева. Интервью состоит из двух частей: общие вопросы и лайв-кодинг.
Канал Вовы: @vladimir_balun_programming
Статья про опросник Даниила: habr.com/ru/companies/oleg-bunin/articles/521582/
👾 t.me/ntuzov - мой канал в Telegram.
Пишу в нём много интересного: гайды, которых нет на CZcams, интересные мысли про разработку, новости и анонсы всех моих активностей и др.
Мои уроки, которые помогут вам подготовиться к собеседованию:
Внутреннее устройство типа Map в Go: czcams.com/video/P_SXTUiA-9Y/video.htmlsi=iQCooPSrQ3EifMT2
Про хэш-таблицы: czcams.com/video/0UX4MIfOMEs/video.htmlsi=lyWV4BLvzRQmJqcH
Внутреннее устройство каналов: czcams.com/video/ZTJcaP4G4JM/video.htmlsi=5uX_-NtmkKkcVvO6
Как устроен Slice, его подводные камни: czcams.com/video/10LW7NROfOQ/video.htmlsi=kNbTqFucDo6vU-9z
----
👀 GoLang Digest: t.me/golang_digest - мои регулярные подборки интересных материалов по Go.
🗣️ Наше сообщество GopherClub: t.me/+zsSZ63wEJDs3NGVi
Лучшее русскоязычное Go-сообщество с очень приятной атмосферой, без токсиков. Вежливо и терпеливо помогаем новичкам, конструктивно дискутируем с профессионалами и т.п.
Здесь также присутствуют все звезды Go-сообщества и представители интересных компаний.
❤️ Если у вас есть желание поддержать развитие канала:
Секретный телеграм-канал:
- В рублях: t.me/+1UPXV_DGnG1mODJi
- В евро: t.me/+hedI8LevYTc5MDM6
Boosty: boosty.to/nikolay.tuzov
Patreon: www.patreon.com/tuzov
----
Тайминги
00:00 Вступление
05:22 Разговорная часть - Даниил Подольский
56:39 Лайв-кодинг - Владимир Балун
02:07:05 Заключение
#golang #ntuzov
zhlédnutí: 25 813

Video

Пишем gRPC сервис на Go - Сервис авторизации / УЛЬТИМАТИВНЫЙ гайд
zhlédnutí 63KPřed 5 měsíci
Пишем полноценный gRPC сервис с современной архитектурой. Также: - Напишем контракт protobuf, разберемся с кодогенерацией - Научимся работать с ошибками и логами - Настроим миграции для БД - Настроим автоматический деплой через GitHub Actions, напишем для этого workflow - и др. Исходный код проекта (версия кода с зафиксированной версией на момент выхода гайда): github.com/GolangLessons/sso/tree...
Кто такой системный архитектор? / GoGetPodcast №11
zhlédnutí 3,5KPřed 8 měsíci
Вместе с опытным системным архитектором из Lamoda Tech Алексеем Скоробогатым обсуждаем - кто такой системный архитектор, чем он занимается, зачем он нужен, как дорасти до этой позиции, и стоит ли. Состав: - Николай Тузов - Алексей Скоробогаый - системный архитектор в Lamoda Tech Мой Телеграм-Канал с анонсами подкастов, роликов и др.: t.me/ntuzov Наш чат - Gopher Club: t.me/ RfalcB42UspmMDdi Все...
Go v1.21 - Обсуждаем важные изменения | GoGetPodcast №10
zhlédnutí 11KPřed 9 měsíci
Новый релиз выдался очень интересным, добавился ряд крутых фич. Подробно обсуждаем - что добавилось, зачем оно нужно, как с этим работать и др. Состав: - Николай Тузов - Глеб Яльчик - тех. директор компании Gaijin - Дмтрий Матрёничев - Talos OS Developer, ведёт отличный ТГ-канал по Go: t.me/go_update 👾 Мой Телеграм-Канал с анонсами подкастов, роликов и др.: t.me/ntuzov 🗣️ Наш чат - Gopher Club:...
Пишем REST API сервис на Go - УЛЬТИМАТИВНЫЙ гайд
zhlédnutí 95KPřed 10 měsíci
Пишем полноценный REST API сервис URL Shortener - это будет не игрушечный проект, а полностью готовый к использованию: - выберем для него актуальный http-роутер: go-chi/chi - Позаботимся о логах: slog - Напишем тесты - unit-тесты, тесты хэндлеров и функциональные - Настроим автоматический деплой через GitHub Actions, напишем для этого workflow - и др. Облачный сервер, который я использовал: slc...
Скорость разработки и цена ошибки разработчика / GoGetPodcast №9
zhlédnutí 6KPřed rokem
Обсуждаем скорость работы разработчика, цену и вероятность ошибок во время разработки и др. Состав: - Николай Тузов - Глеб Яльчик - тех. директор компании Gaijin - Даниил Подольский - Microavia.com Тайминги: 0:00 Вступление и представление гостей 1:35 Оговорки касательно темы обсуждения 2:24 Даниил про скорость разработки 6:55 Проработка задач 8:58 Быстрое решение задач через "Плана Б" 11:16 Пр...
Тайные знания о GoLang, которые от вас скрывали / 1 апреля
zhlédnutí 10KPřed rokem
Не воспринимайте ролик всерьез, это шутка к 1-му арпеля 😊 Подробно и с примерами объсняю, почему нельзя использовать интерфейсы в Go, почему не нужно писать тесты и т.п. 👾 t.me/ntuzov - мой канал в Telegram-канал - новости, анонсы всех наших активностей и просто интересные мысли 👀 GoLang Digest: t.me/golang_digest - мои регулярные подборки интересных материалов по Go. 🗣️ Чат в Telegram: t.me/ z...
Генерация и использование моков в Go / Mockery
zhlédnutí 15KPřed rokem
В этом видео разберемся с моками в Go: что такое мок, как генерировать моки с помощью Mockery, как правильно использовать сгенерированные моки в тестах? Документация по Mockery: vektra.github.io/mockery/ 👾 t.me/ntuzov - мой канал в Telegram-канал - новости, анонсы всех наших активностей и просто интересные мысли 👀 GoLang Digest: t.me/golang_digest - мои регулярные подборки интересных материалов...
Публичное Code Review Go-проекта
zhlédnutí 14KPřed rokem
Публичное Code Review Go-проекта
Pet-проекты для разработчика | GoGetPodcast №8
zhlédnutí 7KPřed rokem
Pet-проекты для разработчика | GoGetPodcast №8
Почему интерфейсы лучше размещать в месте использования - GoLang best practices
zhlédnutí 23KPřed rokem
Почему интерфейсы лучше размещать в месте использования - GoLang best practices
Как развиваться GoLang разработчику? | GoGetPodcast №7
zhlédnutí 19KPřed rokem
Как развиваться GoLang разработчику? | GoGetPodcast №7
Тест-драйв GitHub Copilot для GoLang
zhlédnutí 6KPřed rokem
Тест-драйв GitHub Copilot для GoLang
Монорепозиторий VS Мультирепозиторий | GoGetPodcast №6
zhlédnutí 4,5KPřed rokem
Монорепозиторий VS Мультирепозиторий | GoGetPodcast №6
Чистый код в Go - правила хорошего тона для разработчика | GoGetPodcast №5
zhlédnutí 13KPřed rokem
Чистый код в Go - правила хорошего тона для разработчика | GoGetPodcast №5
Собеседование Go-разработчика глазами нанимателя | GoGetPodcast №4
zhlédnutí 31KPřed rokem
Собеседование Go-разработчика глазами нанимателя | GoGetPodcast №4
Как на самом деле устроены каналы в Golang? | Golang channels internals
zhlédnutí 49KPřed rokem
Как на самом деле устроены каналы в Golang? | Golang channels internals
SQLite в Golang - как использовать, на примере Telegram-бота
zhlédnutí 11KPřed rokem
SQLite в Golang - как использовать, на примере Telegram-бота
Как на самом деле устроен тип Map в Golang? | Golang под капотом
zhlédnutí 62KPřed rokem
Как на самом деле устроен тип Map в Golang? | Golang под капотом
Архиватор на Go | Урок #9 - Сжимаем файлы алгоритмом Шеннона-Фано
zhlédnutí 1,8KPřed rokem
Архиватор на Go | Урок #9 - Сжимаем файлы алгоритмом Шеннона-Фано
Архиватор на Go | Урок #8: Алгоритм Шеннона-Фано - реализация
zhlédnutí 1,8KPřed 2 lety
Архиватор на Go | Урок #8: Алгоритм Шеннона-Фано - реализация
Архиватор на Go | Урок #7: Алгоритм Шеннона-Фано - теория
zhlédnutí 1,4KPřed 2 lety
Архиватор на Go | Урок #7: Алгоритм Шеннона-Фано - теория
Архиватор на Go | Урок #6: Рефакторинг
zhlédnutí 1,4KPřed 2 lety
Архиватор на Go | Урок #6: Рефакторинг
Пробуем дженерики Go на практике
zhlédnutí 15KPřed 2 lety
Пробуем дженерики Go на практике
Хэш-таблицы за 10 минут
zhlédnutí 118KPřed 2 lety
Хэш-таблицы за 10 минут
GoLang Slice в деталях, простым языком
zhlédnutí 70KPřed 2 lety
GoLang Slice в деталях, простым языком
Пишем полезного Telegram бота на Golang | Урок #7 - Тестируем бота
zhlédnutí 8KPřed 2 lety
Пишем полезного Telegram бота на Golang | Урок #7 - Тестируем бота
Пишем полезного Telegram бота на Golang | Урок #6 - Consumer и финал разработки
zhlédnutí 6KPřed 2 lety
Пишем полезного Telegram бота на Golang | Урок #6 - Consumer и финал разработки
Пишем полезного Telegram бота на Golang | Урок #5 - пишем EventProcessor
zhlédnutí 10KPřed 2 lety
Пишем полезного Telegram бота на Golang | Урок #5 - пишем EventProcessor
Пишем полезного Telegram бота на Golang | Урок #4 - EventProcessor, Storage
zhlédnutí 12KPřed 2 lety
Пишем полезного Telegram бота на Golang | Урок #4 - EventProcessor, Storage

Komentáře

  • @alexandrshatilov8227

    Господи, Николай, это невероятная работа - спасибо вам огромное за полный обзор ВСЕГО. Я из этого видео очень многому научился и узнал разные практики, например с логгированием, архитектурой проекта, и всякие штуки по типу MustRun. Думаю такие мелочи помогли мне пройти тестовое задание! Очень приятно смотреть такое. Не останавливайтесь!

  • @Nurbek188
    @Nurbek188 Před 6 dny

    Слабый кандидат для синьора

  • @YanA-bk1nb
    @YanA-bk1nb Před 7 dny

    Меланхоличненько получилось

  • @Roman-tm6qp
    @Roman-tm6qp Před 7 dny

    2:00:10 - насколько правильно передавать объект storage в хендлер роута? Не будет ли лучше это делать внутри хендлера (там где мы работаем с базой непосредственно)?

  • @gregorashf
    @gregorashf Před 9 dny

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

  • @almassagyndyk4707
    @almassagyndyk4707 Před 10 dny

    Получается если алоцировать Мапу с длинной равной 2 у нас в структуре мапы будет один бакет?

  • @flexxx8586
    @flexxx8586 Před 10 dny

    Подскажите пожалуйста, почему в каждом методе Storage , вы пересоздаете подготовленные выражения (stmt) при каждом вызове метода, а не ,например создаете специальный метод в котором эти выражения будут подготавливаться и уже потом сразу использоваться в методах?

  • @bubbletubbe
    @bubbletubbe Před 10 dny

    балин 😁 ... как жить теперь, повёлся ))

  • @user-ev5ig3jl3k
    @user-ev5ig3jl3k Před 10 dny

    28:35 Николай: мы можем указать размер мапы, таким образом, ЭВАКУАЦИИ ДАННЫХ НЕ ПРОИЗОЙДЕТ 29:13 Также Николай: мы не можем взять указатель, потому что в какой-то момент ПРОИЗОЙДЕТ ЭВАКУАЦИЯ ДАННЫХ 😂😂

    • @nikolay_tuzov
      @nikolay_tuzov Před 10 dny

      Очевидно, что эвакуация не произойдёт, если мы добавим ровно столко элементов, сколько запланировали, не больше. Но компилятор наши намерения не знает, эвакуация всегда должна быть возможна, поэтому указатель взять нельзя.

    • @user-ev5ig3jl3k
      @user-ev5ig3jl3k Před 10 dny

      @@nikolay_tuzov да, я это понимаю, но неужели компилятор и рантайм го настолько глупый? условно, там же есть оптимизации, когда слайс растет х2, потом х1.25, неужели с эвакуацией мапы нет ничего такого?

    • @user-ev5ig3jl3k
      @user-ev5ig3jl3k Před 10 dny

      Например, для мапы с постоянным размером отдельный тип const size map под капотом, который позволяет брать указатели Как для массива есть тип отдельный, а для непостоянного слайса другой тип (array с заданным размером и slice - разные типы в го)

  • @user-yi9yo8bd4j
    @user-yi9yo8bd4j Před 11 dny

    А про выравнивание типов нет видео еще? Было бы интересно посмотреть

  • @alexricher2554
    @alexricher2554 Před 13 dny

    Антоха МС решил не останавливаться на построении муз карьере и решил строить карьеру в IT на гошке. Лайк этому трудяге

  • @user-kb8ik2mw5q
    @user-kb8ik2mw5q Před 15 dny

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

  • @user-nl7fw3yp8p
    @user-nl7fw3yp8p Před 17 dny

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

  • @sergey5758
    @sergey5758 Před 18 dny

    Спасибо большое за видео, это лучшие видео по устройству го что я видел 👍🏻👍🏻👍🏻👍🏻👍🏻

  • @user-iy7rm7dt8x
    @user-iy7rm7dt8x Před 18 dny

    Лайк поставил. Интересно. GO!!!

  • @RomanAlexandrov
    @RomanAlexandrov Před 18 dny

    Ждем обещанного продолжения по copilot!)

  • @qoonmax
    @qoonmax Před 20 dny

    В чем смысл использовать файл конфига? Почему нельзя ограничится env + дефолтные значения в env-default. Выглядит как лишний слой.

  • @xoxot_shamana
    @xoxot_shamana Před 20 dny

    Вот почему так? Году в 2005 я выучил например php. Просто прочитал что такое синтаксис и какой он у php, полистал справочник функций php. Запомнил какие функции есть в принципе. С go же прочитал справочник из десятка страниц, всё, документации нет. А тут херакс! В примерах всплывает какой то "стандартный пакет flug"! Гдееееее? Где в доке по go перечень этих "стандартных пакетов" и их функции (методов)?

  • @geng8668
    @geng8668 Před 21 dnem

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

  • @luckytima2315
    @luckytima2315 Před 21 dnem

    Очень интересно, но скорость очень быстрая , для новичка трудно не потерять мысль повествования

  • @user-kb8ik2mw5q
    @user-kb8ik2mw5q Před 22 dny

    Про тесты огнище)))

  • @normalnoenazvaniedlyaslaba4566

    Очень круто, спасибо! Только не совсем понятно, как это делать, когда я, например пишу grpc сервис, ведь там сигнатуры функции уже фиксированы

  • @dshyryayev
    @dshyryayev Před 25 dny

    Super!!!

  • @user-pe5qr2wp4u
    @user-pe5qr2wp4u Před 25 dny

    что за высер...

  • @nikolaykozlov4888
    @nikolaykozlov4888 Před 26 dny

    Ахахахаха.... я поначалу повелся :-)))) только когда Колян сказал, что нахер импорты - я напрягся, что что то тут не так :-)))))

  • @bdud_
    @bdud_ Před 26 dny

    Однозначно лайк!жаль что не все темы по базовому уровню. Знаю что у разработчиков как всегда нет времени,но если вы вдруг запишите курс,Вселенная вас отблагодарит

  • @Trapmaloj
    @Trapmaloj Před 27 dny

    Подсобите кто сможет, сделал 1:1 но падает на этапе деплоя в VM, говорит неправильный ключ

  • @sergiocoder
    @sergiocoder Před 27 dny

    Когда будут новые серии подкаста?)

  • @user-uv7jl8vl3r
    @user-uv7jl8vl3r Před 28 dny

    Ну мужиик 👍!! Спасибо огромное за видео!

  • @TechBusinessDev
    @TechBusinessDev Před měsícem

    Поцаны на ларке все это за 15 минут сделают Когда уже фреймворк будет нормальный на гошке? Был бы опыт побольше, сам бы написал уже

  • @user-fm4do1eh7b
    @user-fm4do1eh7b Před měsícem

    Лучшее видео про map! Спасибо)

  • @AleksandrPopov-te8tq
    @AleksandrPopov-te8tq Před měsícem

    большое спасибо за столь подробные уроки!

  • @AleksandrPopov-te8tq
    @AleksandrPopov-te8tq Před měsícem

    добрый день, для того, чтобы сообщения обрабатывались параллельно, метод должен выглядеть следующим образом? func (c *Consumer) handleEvents(events []events.Event) error { var wg sync.WaitGroup for _, event := range events { wg.Add(1) go func() { defer wg.Done() log.Printf("got new event %s", event.Text) if err := c.processor.Process(event); err != nil { log.Printf("can't hadle event %s", err.Error()) } }() } wg.Wait() return nil }

  • @montecristo31
    @montecristo31 Před měsícem

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

  • @user-nl6uj2dt2o
    @user-nl6uj2dt2o Před měsícem

    Интересное интервью, хотя я не GO-разработчик, ничего не понял по технической части, но интересно было с точки зрения психологии. Антон прикольный, но хотелось бы видеть больше серьезности и спокойствия, тут как то сильно в защиту ушел, хотя понятно, что психологическая нагрузка большая) Ну т.е. от синьора ждешь уверенности, а тут часто попытка обесценить суть вопросов и скрыться за шутками и личным обаянием. Такую же проблему у себя фиксировал какое то время, но в какой то момент понял, что нужен не хороший парень, а профессиональный, хотя при этом я уверен, что Антон отличный специалист и в реальной жизни выполняет задачи максимально эффективно, вопрос только в подаче самого себя. Спасибо!

  • @niklkelbon3662
    @niklkelbon3662 Před měsícem

    Видео конечно полезное, но язык (go) юмористический, смотрю просто чтобы поржать

  • @devopsislove
    @devopsislove Před měsícem

    20:23 - показалось? 😂

  • @Hande_hoch
    @Hande_hoch Před měsícem

    спасибо! кстати, тУзов или тузОв?)

  • @AleksandrPopov-te8tq
    @AleksandrPopov-te8tq Před měsícem

    вообще суперский "видекурс", было бы славно посмотреть еще что-нибудь подобное. Совсем начинающим самое то)

  • @MrAlexPop69
    @MrAlexPop69 Před měsícem

    а в чем принципиальное отличие этих двух строк? defer func() { _ = f.Close() }() defer f.Close()

    • @MrAlexPop69
      @MrAlexPop69 Před měsícem

      в первом случае мы явно игнорируем ошибку возвращаемую методом Close?

  • @user-name-2598
    @user-name-2598 Před měsícem

    Да, о МОК очень хотелось бы узнать! Запиши видео, пожалуйста)

    • @nikolay_tuzov
      @nikolay_tuzov Před měsícem

      Уже давно записал, ищи на канале)

    • @user-name-2598
      @user-name-2598 Před měsícem

      @@nikolay_tuzov Внимание автора к аудитории очень приятно) Спасибо, что ответил! Даже спустя год от публикации видео. Хочу сказать, что у тебя очень понятные, классные видео, огромное спасибо за твой труд! Ты очень помогаешь новичкам, твои "ультимативные" видео пересылаем друг другу, как золотой стандарт исчерпывающей информации)) Большое спасибо!

  • @alexanderp4532
    @alexanderp4532 Před měsícem

    28:05 или не быть Даниилом и привести слайс к указателю на массив, если у нас 1.17+ либо сразу слайс к массиву, если у нас 1.20+. Эффект тот же, что и от цикла: в первом случае мы получаем указатель и при разыменовывании указателя мы получим копию массива, во втором мы сразу получаем копию массива

  • @eatakishiyev
    @eatakishiyev Před měsícem

    Человек перешел на го но не знает зачем)))

  • @amanbolat
    @amanbolat Před měsícem

    Какой-то не серьезный кандидат, все время ищет оправдания.

  • @user-sp1gr6xb7q
    @user-sp1gr6xb7q Před měsícem

    Отличное видео, но я так и не понял 1:43:30 почему надо писать tc := tc?

  • @user-pf6bc1dr5r
    @user-pf6bc1dr5r Před měsícem

    на собеседовании в yandex тоже интересно находят у тебя в коде ошибку и тыкают, находишь ты тут же у того кто тыкает - на этом собсес. заканчивается, спасибо идете на ***

  • @tyapka
    @tyapka Před měsícem

    Запрос на следующие уроки: - Как сделать асинхронную работу (пусть запускается через API вызов) в кластере, чтоб она 1) по какому-то ключу была только одна во всем кластере и 2) востанавливалась после падения сервера (можно с использованием ZooKepera или etcd) - Реал лайф пример работы с Dragonboat (RAFT либа).

  • @vmur612
    @vmur612 Před měsícem

    Писать тесты самому себе - самообман. Тесты должны выявлять проблемы, которые не предусмотрел разработчик. Сам себя он проверить не сможет по определению. Да, иметь тесты удобно для запуска кода. Да, некое подобие документации. Но это не проверка на корректность работы. А именно этот смысл обычно подразумевают под термином ТЕСТ.

    • @tetsuya9158
      @tetsuya9158 Před 8 dny

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

  • @user-74sh64gjv
    @user-74sh64gjv Před měsícem

    Спасибо за видео! Насчет функции bestDividerPosition(). Там в цикле написано "left += codes[0].Quantity", что кажется не совсем верно. Вместо этого должно быть написано "left += codes[i].Quantity"

  • @phplego
    @phplego Před měsícem

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