it-interview
it-interview
  • Видео 8
  • Просмотров 243 463
Mock-собеседование по Go от Team Lead из Яндекса
Потренироваться проходить собеседования: clck.ru/3ASssc
Курсы по программированию: clck.ru/3ASt6y
Mock-собеседование от Team Lead из Ozon секции по языку Golang на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать!
RUclips канал Владимира: www.youtube.com/@vladimir_balun_programming
Таймкоды:
00:00 - Введение и условия задачи
01:58 - Обсуждения задачи
03:43 - Реализация задачи
45:45 - Реализация ретраев
58:31 - Заключение
[[ Отзыв о кандидате ]]
Рекомендовать этого человека на следующий этап? ДА
Каковы были его технические на...
Просмотров: 7 293

Видео

Mock-собеседование по C++ от Team Lead из Яндекса
Просмотров 5 тыс.6 месяцев назад
Потренироваться проходить собеседования: clck.ru/3ASssc Курсы по программированию: clck.ru/3ASt6y Mock-собеседование от Team Lead из Яндекс секции по System Design на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать! R...
Mock-собеседование по Go от Team Lead Ozon
Просмотров 11 тыс.6 месяцев назад
Потренироваться проходить собеседования: clck.ru/3ASssc Курсы по программированию: clck.ru/3ASt6y Mock-собеседование от Team Lead из Ozon секции по языку Golang на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать! Tele...
Mock-собеседование по System Design от Team Lead из Яндекса
Просмотров 26 тыс.7 месяцев назад
Потренироваться проходить собеседования: clck.ru/3ASssc Курсы по программированию: clck.ru/3ASt6y Mock-собеседование от Team Lead из Яндекс секции по System Design на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать! R...
Mock-собеседование по System Design от Team Lead из Ozon
Просмотров 16 тыс.8 месяцев назад
Потренироваться проходить собеседования: clck.ru/3ASssc Курсы по программированию: clck.ru/3ASt6y Mock-собеседование от Team Lead из Ozon секции по языку Golang на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать! Tele...
Mock-собеседование по Go (Junior) от Team Lead из Ozon
Просмотров 29 тыс.10 месяцев назад
Потренироваться проходить собеседования: clck.ru/3ASssc Курсы по программированию: clck.ru/3ASt6y Mock-собеседование от Team Lead из Ozon секции по языку Golang на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать! Tele...
Mock-собеседование по Go от Старшего разработчика из Авито
Просмотров 17 тыс.10 месяцев назад
Потренироваться проходить собеседования: clck.ru/3ASssc Курсы по программированию: clck.ru/3ASt6y Mock-собеседование от старшего разработчика из Авито секции по языку Golang на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит пор...
Mock-собеседование по алгоритмам от Team Lead из Яндекса
Просмотров 131 тыс.10 месяцев назад
Потренироваться проходить собеседования: clck.ru/3ASssc Курсы по программированию: clck.ru/3ASt6y Mock-собеседование от Team Lead из Яндекс алгоритмической секции на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать! RU...

Комментарии

  • @Erdaulet100
    @Erdaulet100 3 дня назад

    Надо перезалить нормально видео чтобы звук и текст были синхронные, а то невозможно смотреть

  • @Erdaulet100
    @Erdaulet100 5 дней назад

    Мне одному показалось или чувак подсматривал и гугли быстро ответы?)

  • @AnimeEpicMoments-cj9kc
    @AnimeEpicMoments-cj9kc 17 дней назад

    Какое-то странно легкое собеседование, у меня не так было

  • @MrKentoNion
    @MrKentoNion 19 дней назад

    Какой смысл этого собеседования если вы не берёте джунов, у вас только мидлы 3+ года

  • @Павел-у7ф2е
    @Павел-у7ф2е Месяц назад

    Зачем использовать redis что от этого выигрываем на feed service когда можно использовать elastic search и просто загружать по batch -ми по 30 постов например Главное чтобы первые несколько постов были мгновенно загружены а остальные можно уже из еластика грузить что-то вроде этого)

  • @Павел-у7ф2е
    @Павел-у7ф2е Месяц назад

    API api/feeds/ POST api/feeds/ GET api/feeds/1 GET api/feeds?name=test GET Rest API чем использовать глаголы можно использовать тип запросов http

  • @Павел-у7ф2е
    @Павел-у7ф2е Месяц назад

    capacity не 2,5 tb а. 2406.01TB

  • @punk-rock
    @punk-rock Месяц назад

    Спасибо за ролик) посмотрел пару раз, и с первого раза прошёл интервью без подготовки) оффер в кармане)

  • @НиколайБондаренко-е5я

    Если абстрагироваться от необходимости шардирования. В качестве ключа для шарда может быть первый символ короткой ссылки? Или 62 шарда это много?

    • @НиколайБондаренко-е5я
      @НиколайБондаренко-е5я Месяц назад

      Ну или верхний регистр + нижний регистр одной буквы в шарде 26 шардов + все цифры допустим еще + 10

    • @oo_ilin
      @oo_ilin Месяц назад

      @@НиколайБондаренко-е5я в данной задаче кажется избыточно иметь 62 шарда, но опять же если бы это был сервис гугла и он сокращал ссылки для их ресурсов где бешенная посещаемость, то почему бы и нет. Но именно по символу не оочень хорошая идея, так как ссылку можно переименовать и тогда придется её перевозить, а это не очень

  • @A-mi-D
    @A-mi-D Месяц назад

    что за сайт используется для рисования ?

  • @pavelshum9978
    @pavelshum9978 Месяц назад

    Сколько лет парню? В 40+ стали бы собеседовать и рассматривать на работу? Честно

  • @dagerashenko
    @dagerashenko Месяц назад

    Костыль с подписчиками в качестве совета это странно

  • @dimager16
    @dimager16 Месяц назад

    задача на знание контекста, фигня

  • @klawakrokk3989
    @klawakrokk3989 Месяц назад

    Чушь полная. Работа ежедневная не так строится и не так проверяется

  • @OOOJohnJ
    @OOOJohnJ Месяц назад

    они говорят примерно на 10:30 что var f AB = &Foo{} не преобразуется в y := f.(BC), а на самом деле преобразуется 21:00 тоже выводится 456 а не 123

    • @LeisureTimeShow1
      @LeisureTimeShow1 21 день назад

      Я когда смотрел, на этих двух моментах как раз думал, что ошибся, особенно с defer и замыканием, а оказывается правильно помню, надо перепроверить сегодня

    • @phonkkillaz9877
      @phonkkillaz9877 12 дней назад

      все это потому что видео кодинга, на минуты две-три идет раньше видео. поэтому когда один отвечает что код выведет 123, на экране уже прошло 2-3 минуты, и он этот код уже пофиксил так что он выводит 456

  • @ArtemAleksashkin
    @ArtemAleksashkin Месяц назад

    1 задача sort.Slice и нет функции max 👍 я проверил код - не работает. Ласт айтем переопределяется всякий раз. Мне все это странно.

  • @hsqlk
    @hsqlk Месяц назад

    Эфемерность собеседований просто поражает, смысл их вообще тогда проводить....

  • @hsqlk
    @hsqlk Месяц назад

    Разве систему разрабатывает один человек? Смысл вообще проводить такие эфемерные собесы далекие от рабочих процессов...

  • @another_doge
    @another_doge Месяц назад

    - Какой DAU? - Ну пусть будет 50 миллионов Ну можно ли найти больший отрыв от реальной жизни, чем типовой сидиз собес?)

  • @ДмитрийБорченко-ы2ь

    Слабенький чувачок

  • @rerurkful
    @rerurkful Месяц назад

    Вот когда есть кот, тот всё понятно)

  • @dmitriishashkov213
    @dmitriishashkov213 Месяц назад

    Mock-собеседование Мэтта Деймона в яндекс 😉

  • @baemvideo7551
    @baemvideo7551 Месяц назад

    его бедного по ходу заставили пройти этот собес

  • @KonstantinIppolitov
    @KonstantinIppolitov Месяц назад

    Здравствуйте, Олег. У меня в конце недели собеседование в Avito. Я изначально писал на PHP и мне сказали, что задачи на собеседовании будут по PHP, хотя я проходил курсы по Golang на Coursera и в Вашу компанию подавался на Golang разработчика. Вот теперь думаю к чему готовиться.

  • @AntonL-zu5ru
    @AntonL-zu5ru 2 месяца назад

    Заметьте, это мок-собес - то есть отрепетированный спектакль, который выглядит кратно лучше реального собеседования. Тут и кандидат по всем шагам прошел и не углублялся куда не надо, и слова правильные в уши залил своевременно. Интервьюер активен, а не уставший от всех этих собесов с лицом трупа. Так ЧО вас не устраивает? Если уж ИТ религия ушиблась в систем дизайн - так жрите вот такие полуторачасовые собесы в рамках многоэтапных наймов. Скорость мля ему увеличить. Очень ценный опыт, который через 3 года будет нах никому не нужен. Джуны не идите в ИТ, а то станете как эти вот: "спортсмены по собесам", "задроты по алгосам".

    • @oo_ilin
      @oo_ilin Месяц назад

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

  • @bubbletubbe
    @bubbletubbe 2 месяца назад

    он сказал вытесняющая многозадачность и его не поправили 🤨🤌 .. там кооперативная многозадачность

    • @Ярослав-е2ш
      @Ярослав-е2ш Месяц назад

      А разве не совместная?

    • @Ярослав-е2ш
      @Ярослав-е2ш Месяц назад

      Тоесть вытесняющая многозадачность на этапе компиляции и, если не ошибаюсь, возможность явно отдать ресурс другой горутине с помощью runtime.Gosched() ?

    • @bubbletubbe
      @bubbletubbe Месяц назад

      @@Ярослав-е2ш runtime.Gosched() это пример кооперативной многозадачности ) т.к. горутина сама решает в какой момент отдать управление, в вытесняющей шедуллер может остановить поток когда посчитает нужным

    • @kuzuru
      @kuzuru 29 дней назад

      @@Ярослав-е2ш ​ Нет, в Go у нас неявная кооперативность. Горутина уступает место другим при обращении к вводу-выводу, каналам, syscall(-ам) - вызовам ОС, но при этом также может уступить место при вызове любой функции. Про runtime.Gosched() - это лишь явный способ переключить планировщик на другую горутину, но её использование в основном и не требуется. Это в принципе не вписывается в парадигму кооперативности в Go

    • @АлексейКанаев-р8х
      @АлексейКанаев-р8х 20 дней назад

      Кооперативная многозадачность была в старых версиях языка

  • @АлександрАлександров-ф8к4л

    как хорошо что с точки зрения "Чистой архитектуры" можно и отложить вопросы по выбору DB )

  • @ЗябликЖмышенко
    @ЗябликЖмышенко 2 месяца назад

    Дада 2 года коммерческой разработки, сказочник!

  • @IQ-120
    @IQ-120 2 месяца назад

    44:00 херня какая то... Без предметной области и понятной нагрузки - можно долго тыкать пальцем в небо... !

    • @oo_ilin
      @oo_ilin Месяц назад

      согласен сисдиз секция не предназначена для реального проектирования.Такие системы проектируют неделями, а то и месяцами что бы они были production ready. Но за то можно показать свой кругозор и продать себя как специалиста

    • @IQ-120
      @IQ-120 Месяц назад

      @oo_ilin вчера узнал, что Пушкин был двоечником :) и настоятельно рекомендую посмотреть фильм, старенький - путеводитель по галактике!

    • @oo_ilin
      @oo_ilin Месяц назад

      @@IQ-120 Действительно, в свидетельстве об окончании Царскосельского лицея у Пушкина есть двойки и даже колы и нули! Но во времена учебы великого поэта эти оценки соответствовали другим характеристикам: 2 - «хорошо», 1 - «весьма хорошо». А вот 0 означал «превосходно» - такую оценку Пушкин имел по Российской и Французской словесности, а также по фехтованию.

    • @IQ-120
      @IQ-120 Месяц назад

      @@oo_ilin ну, круто же :)

    • @IQ-120
      @IQ-120 Месяц назад

      @@oo_ilin Ухты, титул звонкий! Не думал, что с поднебесной - челяди кто то отвечать будет... :)

  • @Sheri313
    @Sheri313 2 месяца назад

    Как достал этот Яндекс со своими алгоритмами на собесах

    • @353_YK_RF
      @353_YK_RF 2 месяца назад

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

  • @AAAaaa-i9p3o
    @AAAaaa-i9p3o 2 месяца назад

    Интересно было посмотреть. Спасибо!

  • @ziliboba73
    @ziliboba73 2 месяца назад

    У меня аж бошка разболелась со второй половины, я бы не выдержал такое ) Но за самокритичность +

  • @TheBokiXD
    @TheBokiXD 2 месяца назад

    Вот что получилось на js, первая задача: function getIntervals(intervals) { intervals = intervals.sort((a ,b) => a[0] - b[0]); const result = []; let actualInterval = intervals[0]; for (let i = 1; i < intervals.length; i++) { const current = intervals[i]; if (actualInterval[0] >= current[0] && actualInterval[0] <= current[1]) { actualInterval[0] = current[0]; } else if (actualInterval[1] >= current[0] && actualInterval[1] <= current[1]) { actualInterval[1] = current[1]; } else { result.push(actualInterval); actualInterval = current; } } return result.concat([actualInterval]); }

  • @ITV-ITV-
    @ITV-ITV- 2 месяца назад

    Я бы не смог продолжать серьёзную беседу после фразы: "опыт на кончиках пальцев" 🤣 Понимаю, что это про идиому "at your fingertips", но это характеризует гарантированную доступность чего-то, а не про практический опыт. К тому же, это уже лет 10 не buzzword.

  • @brucewayne5484
    @brucewayne5484 2 месяца назад

    Госпади, тимлид яндекса что ли показатель качества?

  • @TTTuTTT
    @TTTuTTT 2 месяца назад

    Тот случай, когда собеседуемый подготовлен теоретически, но не имеет практики. Сколько труда будет стоить грамотно организовать взаимодействие этих Image и Post services. Очевидно, что на первом этапе разработки их нужно объединить.

  • @baemvideo7551
    @baemvideo7551 2 месяца назад

    что это за программа в которой он рисует?

  • @sergeyz4591
    @sergeyz4591 2 месяца назад

    Я фронтендер и, стало быть, в систем дизайне понимаю больше))

  • @РадикХисамутдинов
    @РадикХисамутдинов 2 месяца назад

    Вообще задача немного нетривиальная, казалось бы, создаем канал, в горутинах с запросами по адресам пишем в канал, а в основной горутине (по сути это DistributedGet) сразу же возвращаем значение из канала (return <- valueCh). Как мы знаем, нам нужно по хорошему закрыть канал. Вроде бы можно после получения первого ответа в запросе записать в результирующий канал (valueCh) и закрыть его, но тогда по хорошему нужно правильно обрабатывать ситуацию в остальных горутинах, которые успеют выполниться до завершения контекста и попытаются записать в закрытый канал. Вроде можно забить на это (мы же получили уже быстрый ответ от одной горутины, а на этих просто забить), но как-то это некамильфо. Проверка состояния канала при записи в select нам не поможет. Тогда получается нужно использовать доп. состояние, которое будет говорить, что канал закрыт/открыт. Ниже пример сейфового канала, в который можно "писать" и после "закрытия": type SafeChannel[T any] struct { ch chan T closed atomic.Bool } func NewSafeChannel[T any]() *SafeChannel[T] { return &SafeChannel[T]{ ch: make(chan T), } } func (sc *SafeChannel[T]) Send(value T) { if sc.closed.CompareAndSwap(false, true) { sc.ch <- value close(sc.ch) } } func (sc *SafeChannel[T]) Receive() (T, bool) { value, closed := <-sc.ch return value, closed } func (sc *SafeChannel[T]) Close() { if sc.closed.CompareAndSwap(false, true) { close(sc.ch) } } func (sc *SafeChannel[T]) Closed() bool { return sc.closed.Load() }

  • @sirMishka828
    @sirMishka828 2 месяца назад

    Мб я что-то не понял, но где паника у мапы? И почему она будет если записать по несуществующему ключу? Мапа как раз отличается от массива тем, что всегда есть индекс по ключу, кроме случая nil, но тогда она расширяется автоматически под капотом

    • @obi3kenobi
      @obi3kenobi 2 месяца назад

      Вопрос был про nil map, то есть неинициалириванная мапа. Про записи в такую мапу возникнет runtime panic. Вы написали про запись в мапу с несуществующим ключом.

    • @sirMishka828
      @sirMishka828 2 месяца назад

      @@obi3kenobi Хорошо, спасибо, но я все равно не понимаю почему запись делает ошибку, а чтение - нет, ведь переход по 0 указателю обычно undefined behaviour

  • @ЕвгенийП-д8л
    @ЕвгенийП-д8л 2 месяца назад

    Хочется уже увидеть хотя бы одно успешное прохождение архитектурки. Пока мнение такое, что это невозможно. Всегда можно сказать, что чего-то не хватило, т.к. тема бесконечна в отличии от времени интервью. Редко сразу в голову приходят идеальные решения. Секция выглядит весьма странно. Кажется, что еë используют для снижения самооценки кандидата и сбивания зп в оффере.

  • @ЕвгенийП-д8л
    @ЕвгенийП-д8л 2 месяца назад

    Любопытно, как Кирилл стал тимлидом в Яндексе. По их меркам этого не достаточно, чтобы пройти архитектурную секцию, а на позиции дальше мидла они обязательны.

    • @KurlesHS
      @KurlesHS 2 месяца назад

      Я так понял что тимлид не Кирилл, а Владимир =)

  • @VMd154
    @VMd154 2 месяца назад

    Почему программистов на собеседованиях просят писать код, но не просят водителей водить машину, дабы удостовериться что те реально являются водителями, а не просто купили права?

    • @OOOJohnJ
      @OOOJohnJ Месяц назад

      у программиста нет прав

  • @Lokidon
    @Lokidon 3 месяца назад

    Когда компилятор в голове с ide, получается код с ошибками, мы же не роботы. 😢

  • @wonderworld9222
    @wonderworld9222 3 месяца назад

    Задачка конечно по мультиплексированию простенькая, не задал он вопроса сразу про то будут ли закрыты каналы, а если пришли не закрытые то можно проверить по ok закрыты ли. И сразу wait group приходит на ум, конечно, бесконечный цикл это сильно в каналах использовать. Удивительно что с таким уровнем вообще на работу его взяли. Поплыл чел

  • @dragvs
    @dragvs 3 месяца назад

    На что влияет расчет хранилища здесь? Ок, 4 ТБ всего, для Postgres это вообще не проблема где по сути безлимитные таблицы. Зачем шарды? Если делать шарды то зачем страдать на SQL БД?

    • @iteospace
      @iteospace 3 месяца назад

      Высокая доступность

    • @dragvs
      @dragvs 3 месяца назад

      @@iteospace скорее нет, для HA можно реплики использовать. Шардировние требуется для распределения нагрузки при условии что вы уперлись вертикально. 4 ТБ вертикально это вообще копейки. Надо показывать что условная Постгря упрется по памяти/CPU/сети, а иначе шарды вам не нужны особо. И при шардировании проще тогда Монгу какую-нибудь взять, что чаще всего и является решением в TinyURL.

    • @dragvs
      @dragvs 3 месяца назад

      @@iteospace и собственно Монга это терабайты данных еще до шардов, т.е. с шардами можно в принципе забыть про ограничение на обьем данных, это бесполезный расчет, нужен скорее для FinOps/бюджетирования.

    • @iteospace
      @iteospace 3 месяца назад

      @@dragvs почему бы просто не взять распределеную NoSql\New Sql типа Apache Cassandra\CocroachDb

    • @dragvs
      @dragvs 3 месяца назад

      @@iteospaceвсе три являются NoSQL и масштабируются. Как бы вы сами выбирали? Я бы добавил ScyllaDB чтобы просто уже в космос перфоманс отправить. И еще можно смело выпилить кэш за апп-серверами, ничего не дает с учетом что современные БД идут со своими мэмкэшами.

  • @dragvs
    @dragvs 3 месяца назад

    Основное это кандидат волнуется и торопится. Без API переходит к шардированию. Хотя говорит что SQL DB тут норм справляется. Дальше появляется кэш. Архитектура усложняется на глазах, но не звучит обоснований. Дальше distributed locks появляются, кандидат закопался в знакомых терминах.

  • @drkslfr
    @drkslfr 3 месяца назад

    Собеседование слишком простое и слабое для яндекса, на мое удивление

    • @ozimandias1858
      @ozimandias1858 2 месяца назад

      Собеседование в Яндекс - это литкод x3

    • @drkslfr
      @drkslfr 2 месяца назад

      @@ozimandias1858 да, там есть требования к знанию алгоритмов. Но и помимо того много спрашивают об особенностях языка, компилятора и т.д.. Тут же очень поверхностно, что даже на джуна не тянет

  • @johnquest82
    @johnquest82 3 месяца назад

    человек то ли сильно нервничал, иначе я не понимаю, как можно так часто делать опечатки и не видеть этого...