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

  Рет қаралды 5,283

it-interview

it-interview

Күн бұрын

Потренироваться проходить собеседования: 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, чтобы повысить скорость написания кода.
Golang. Golang concurrency. Golang. Golang уроки. Golang с нуля. Golang собеседование. Go язык программирования.
#собеседование #mockсобеседование

Пікірлер: 20
@user-rn9jx7gt7r
@user-rn9jx7gt7r Ай бұрын
Код раньше контекста диалога появляется)
@asgames804
@asgames804 7 күн бұрын
Отличный собес, задачки интересные, спасибо!
@user-do3zm3vp2f
@user-do3zm3vp2f Ай бұрын
Желаю развития каналу и побольше подобных интервью и интересных задачек.
@user-do3zm3vp2f
@user-do3zm3vp2f Ай бұрын
Люблю Гошку и смотреть познавательные ролики связанные с разработкой.
@alexeydubentsov
@alexeydubentsov Ай бұрын
Красава, приятно слушать
@kolya2713
@kolya2713 Ай бұрын
там где идет преобразования одного интерфейса к другому, они говорят что не получиться, хотя это не так там где идет печать в дефере тоже оба говорят не правильно
@alexandrk5715
@alexandrk5715 Ай бұрын
Да, полная чушь. Странно, что тим лид из озон этого не знает. А еще курсы продают(
@artemkas4191
@artemkas4191 Ай бұрын
​​@@alexandrk5715 а что по-вашему в озоне работают разработчики уровня "бог"?😮 Точно такие же разрабы, как и в других компаниях. Давно пора уже перестать обожествлять бигтех-компании
@MrLotrus
@MrLotrus Ай бұрын
Да, 21:18 выведется 456. Мы ведь по замыканию обращаемся к переменной. А значит по указателю. А что по поводу преобразования? Можешь подробней описать?
@kolya2713
@kolya2713 Ай бұрын
@@MrLotrus там где даа интерфейса AB BC. Мы создали переменную с АБ и дальше ее можно заасертить в БЦ, а они говорят что это не сработает из-за области видимости, хотя я не понял к чему там область видимости
@savchivan
@savchivan Ай бұрын
С интерфейсом не получилось бы приведение типов, а type assertion как у них - да, получится. Потому что runtime знает, что под AB обёрнут Foo
@user-hp7pc3lv3v
@user-hp7pc3lv3v Ай бұрын
Таки, что-то слабовато
@MrLotrus
@MrLotrus Ай бұрын
27:00 Воспроизвел в go playground. Выполнилось без паник что конкуретно пишем в мапу.
@MrLotrus
@MrLotrus Ай бұрын
Чтобы получить панику и ошибку fatal error: concurrent map read and map write надо запустить две горутины и прям долбить запись и чтение например. Тогда действительно в определенный момент запаникует
@user-qx3km6wp1p
@user-qx3km6wp1p Ай бұрын
По задаче. Создавать горутину и сразу в ней еще одну, конечно можно, но выглядит грязно. Можно было спокойно вынести вейтгруппу на верх и запустить отдельную горутину под ожидание и закрытие канала.
@PragmaticPragmatist
@PragmaticPragmatist 3 күн бұрын
Смотреть такое очень плохо. Не понятно кто что пишет и когда. Рассинхрон текста и слов это очень плохо для восприятия
@MrLotrus
@MrLotrus Ай бұрын
Ребят, потренируйте дикцию. Иногда сложно понять что говорите
@nda861
@nda861 28 күн бұрын
Смотрю на скорости x2
@Kondratyevv
@Kondratyevv 23 күн бұрын
всё норм
Викторина от МАМЫ 🆘 | WICSUR #shorts
00:58
Бискас
Рет қаралды 5 МЛН
لااا! هذه البرتقالة مزعجة جدًا #قصير
00:15
One More Arabic
Рет қаралды 13 МЛН
ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.
33:59
Ваня Ио про разработку
Рет қаралды 49 М.
Задача из Ozon: Golang собеседование
18:20
Олег Козырев
Рет қаралды 23 М.
Викторина от МАМЫ 🆘 | WICSUR #shorts
00:58
Бискас
Рет қаралды 5 МЛН