Mock-собеседование Go разработчика из OZON | Самое полное интервью
Вставка
- Опубліковано 20 тра 2024
- Курсы по программированию: balun.courses/?...
Потренироваться проходить собеседования: it-interview.io
Присоединиться к моему сообществу: boosty.to/vladimir_balun
Консультации:
getmentor.dev/mentor/vladimir...
solvery.io/ru/mentor/vladimir...
Таймкоды:
00:00 - Введение
00:11 - Строки в Go
06:23 - Массивы и слайсы в Go
11:05 - Словари в Go
16:56 - Рантайм Go
20:54 - Каналы в Go
22:14 - Мьютексы в Go
23:37 - Контексты в Go
25:50 - Обобщенное программирование в Go
28:14 - ООП в Go
33:12 - Заключение
Golang собеседование. Golang уроки. Golang. Golang с нуля. Go программирование. Go программист. Go Junior собеседование. Go Middle собеседование. Go Senior собеседование. Ozon Go собеседование. Ozon Golang. Ozon Go. Ozon tech Go.
VK: vladimir_balun_program...
Telegram: t.me/vladimir_balun_programming
Instagram: / vladimir_balun_program...
#golang #собеседование #собеседованиенаработу #программирование #айти #ozon
Интересное собеседование, спасибо!
Спасибо за видео. Коммент в поддержку!
Спасибо!
- Алгоритмов не будет
- Прудмай алгоритм создания строк в Go через связанные списки
😅
Супер
Качественный контент, всё также ожидаю Junior BE Developer (Go) roadmap
Будет, нужно еще подождать)
@Владимир Балун про 100 горутин и сисколы не понял, какой в итоге вывод? Apache будет быстрее?)
на самом деле - типичный собес, рынок собесов в рф скатился на дно. Это тупой экзамен который надо зазубрить. Крайне редко адекватные собесы, где общаются, спрашивают про опыт, стек, задачи и тд. в 80% какое-нибудь подкапотное дерьмо или лайфкодинги,. Вот накой разрабу знать, как разруливается дедлок в бд, если это давно уже решается на уровне базы?
Объясни идею с хранением цены в битах, если не трудно, где первые два бита это копейки , остальные 6 это рубли .
Вова молодца быстро растешь в медиа рад за тебя! Давай какой-нибудь тру сеньорский собес по Go (в ютубе все собесы уровня мидла, а хочется харда).
Спасибо, в скором времени все будет)
кажется только не sendx , receivex queue
а circular queue c sendex index , recivex index
"Почему append возвращает слайс? Почему append не принимает по указателю слайс?"
Подскажите, в чем смысл вопроса, если другое решение также валидно? Ведь принимать по указателю слайс также можно было реализовать, внутри такой реализации append можно было также менять исходный слайс.
Т.е. область памяти в которой лежал исходный sliceHeader в самой функции заменился бы на другой с валидным len и capacity.
Буду благодарен за ответ, сколько не думал, не понимаю какой был ожидаемый ответ, в видео рассуждения не очень соответствовали вопросу, ответ был больше похож почему не стоит игнорировать возвращаемый слайс из append
потому что append позволяет создать совершенно новый слайс не задев предыдущий. Но на самом деле это опасно тем, что массив внутри слайса у них окажется общий, поэтому лучше всегда расширять тот же самый слайс, чтобы не получить неочевидную ошибку
Во, даже Боря из интернов подался в Go - сто пудов топовая технология!
Супер! На обучение (junior) Route 256 с последующей стажировкой в OZON выпускнику 2014 года можно залететь или только студентов берут?
Нужно будет пройти контест на codeforces и все)
@@vladimir_balun_programming Спасибо, а сколько человек возьмут на обучение?
У товарища Олега не было ли случайно ранее своего ТыТруб-канала отличной от программирования тематики? :-)
Смотрел собес Сергея из МТС - вот реально сеньор с реальными коммерческими знаниями, а тут чисто по Go быстро прошлись, будто опросник был
Есть разные секция и это секция была исключительно по Го
@@vladimir_balun_programming хотелось более полноценное собеседование на позицию middle/senior Go разработчика в Ozon ?
@@Erdaulet100 скоро будет собеседование по вопросам, которые связаны исключительно с бэкендом
@@Erdaulet100 Можешь кинуть ссылку пожалуйста
это один и тот же человек?
Добрый день! А можете пожалуйста дать ссылку на примеры работы с ast деревом?
Компиляторы, интерпретаторы и так далее
То, что массив скорее всего ляжет на стек вообще не признак отличия от слайса. Слайс тоже может лечь на стек. Зачем это вообще говорить?
Как Буданова жизнь то потрепала, из ГУР в Го разработчики подался.
про композицию рассказал, а про разницу с агрегацией - не рассказал
Отличное интервью! На какую позицию необходимы такие глубокие знания, что там внутри Go?
Я думаю таки знания никогда не будут лишними. Если говорить обо мне, то я старший разработчик в озон. Однако, всех своих учеников, которые входят в гошку я сразу приучаю копать поглубже.
@@user-op7xo8dc8o Супер! На обучение (junior) Route 256 с последующей стажировкой в OZON выпускнику 2014 года можно залететь или только студентов берут?
Да на любую вакансию. И это ещё не глубокие знания.
Это базовые знания, в любой книге по Go это всё есть
так это не глубокие знания..
"Почему append возвращает новый слайс?" - потому что так было в LISP. Ключевое слово nil тоже было в LISP. Поведение append с nil-слайсом такое же, как в LISP
Всмысле новый слайс? Ну, он же копирует слайс и удаляет старый. В теории да, получается новый слайс.
Что за lisp расскажи пожалуйста?
@@standarttechnology4477 это древний язык программирования с функциональной парадигмой и динамической типизацией. Сейчас уже едва ли где используется. Синтаксис и классические способы написания алгоритмов через рекурсию выносят мозг. Встретить его можно в основном в ВУЗах на IT-специальностях, если препод - ретроград
@@zergon321только лиспы к ФП, в современной трактовке ФП, имеют очень косвенное отношение
Видел этого парня на другом более старшем онлайн собесе)
Что подразумевается под более старшим собесом?
@@vladimir_balun_programming ua-cam.com/video/W_ctQFFnzK0/v-deo.html
Ну вообще тут оба парня известные, так что это что-то типа диалога Платона с Аристотелем.
Вот до сих пор не понимаю. Зачем брать, какой-нибдуь, высокоуровневый GO, а потом изучать как он, этот высокоуровневый язык работает с памятью и т.п. ерундой. Блин пишите тогда сразу на Си и всё (ну реально, самый честный язык). Завтра разработчики GO что-то поменяют и блин должен следить за этим. Где же выдуманная простота GO!? Русское беспощадное интервью. Микроконроллеры - наше всё, которых нет.
Просто Go это такое кривое поделие с повсеместно протекающими абстракциями и необходимостью писать велосипеды на каждый чих. Поэтому, если не знать кишочки, то при любом нетривиальном кейсе стреляешь в ногу (что ещё хуже - что это может быть отложенный выстрел, а потом сиди часами с дебагером). Крч по факту - простота реально выдуманная и маркетинговая, шаг в сторону от хеллоу_ворлд и получай в ногу)
Но альтернатив нет, язык шустрый, компилируемый, ест мало памяти и всё таки куда проще конкурентов типа Си/С++/Раст/Д и тд и тп. Крч бизнесу ок, а разрабы со временем привыкают))
Сишников порвало))) Го это типа модерн си по заявлению авторов, часть из которых работало над си кстати. Ну типа да может неидеальный язык, но у него довольно низкий порог вхождения, но при этом позволяет быстро начать писать бэкенд по сути новый более производительный пхп.
Я понимаю тебя, о чем ты говоришь. Я работал с C#, сейчас на чистом Си. Эти знания про память и т. Д. нужно на поверхностном уровне, просто знать что это есть. Сам не понимаю когда прикладные разрабы начинают глубоко лезть в низкоуровневые тонкости.
@@arseniinickulin7809 да, та же история по сути. Сам работаю с c# уже более 10 лет. Использую Си, но пока, в качестве хобби.
Хз, как рантайм работает, например, полезно знать. Или как память себя ведет, чтобы потом при мониторинге не офигел от увиденного
Что-то как-то лайтово, этого надо было собесить пожестче, он senior)
В будущем может сделаем собеседование посложнее)
Этот парень сам Ютуб блогер
всё так)
Он на Буданова немного похож😄
Пхахахаха
Слишком много технических подробностей, которые на практике никогда не пригодятся. Типа, как устроены словари. Также отмечу что в отношении указателей и ссылок у обоих каша. У первого -- потому что не знает. У второго -- потому что писал на С++ (* там тупо нет ссылок и это слово просто синоним указателя *).
В с++ в большинстве случаев ссылка это синоним указателя, но есть кейсы, когда ссылка - это ссылка, а на счет каше непонятно где вы ее увидели
А на счет деталей все зависит от того, какие задачи вы решаете, когда я только начинал и мне было нужно аля перекладывать джейсоны, то да, мне эти знания были не нужны, но в текущих задачах они мне необходимы
@@vladimir_balun_programming В С++ -- ссылка -- синоним указателя. Именно это я и написал. В С++ нет кейсов, где ссылка -- это ссылка. Потому что С++ изначально не предлагает концепцию безопасности для инвариантов памяти. С++ не разделяет абстракцию языка и аппаратный уровень. И поскольку там даже концептуально нет такого разделения -- поэтому Вы не понимаете в чём принципиальная разница между ссылкой и указателем. Каша навязанная языком. Разумеется, Вы её не увидели.
Знать, как устроен словарь, в-целом, полезно. Но каким образом вычисляются хеши, как происходит доступ к значениям -- зачем? Как это влияет на результат программиста? Оптимизировать под кеш процессора? Зачем? Завтра будет другая аппаратура с другим словом кеша и другим объёмом кеша и вся это оптимизация идёт лесом.
А действительно важные вопросы: идиомы языка, как писать чистый код на го, что является неприемлемым в го, как организовать проект, какие инструменты использовать, как работать по эджайл, как работать в джире, требования по выполнению задач, тестированию -- вот по этим важнейшим частям ни одного вопроса задано не было. Слабенькое собеседование. Не то надо было спрашивать. Знать язык -- это ещё не программист. Это 10% от реального необходимого объёма знаний и навыков.
@@user-bz6lq9cu7w послушайте - это отлично, что у вас есть отдельное мнение на тему того, как следует проводить собеседования, но у меня есть свое, которое имеет право быть. В начале видео я сказал, что секция исключительно по языку, но это не значит, что не может быть дополнительных секций по тем вопросам, которые вы перечислили
@@vladimir_balun_programming А вот это уже интересно - в каких это случаях ссылка это не синоним указателя?
@@vladimir_balun_programming каша в бошке, школьника сразу видно.
Я так понял это Middle уровень?
Про что и где хранится у парня смутное понимание.
Балун это Джуниор который в с++ не сложился а теперь перешёл на go но то что говорит вообще понятия не имеет . Видно написали на листочке вопрос ответ а второй заучил и топит сам не понимая о чем говорит . Вот такие работают в озоне за копейки .
Верно. Тупые вопросы школьника. По работе вообще другое)). И главное Балун даже не понимает, что это видио выставляет его полным школопозорником.
Балун боится критики вообще токсичный человек в токсичной конторе озон . Задай ему вопрос в ответ так он и поплыл .
Хорошо, что тот, кто пишет это сообщение ни капли не токсичный человек
Не знает ООП . Не полиморфизм наследование инкапсуляция . А по правилам должно так : инкапсуляция наследование полиморфизм абстракция посылка сообщений и повторное использование . Вообщем Балун тебе нужно в дауны идти хотя ты и есть джун а не собесы проводить но а про пока который одел толстовку с озон вообще разговора нет . Два Бивес и Батхин .
*надел
Тебя автор обидел чем-то? Три простыни с хамской критикой, выглядит нездорово.
Видимо собес у него не прошел)
Дяденька, вспомните, как на русском писать - так и оставляйте комменты, а до тех пор держите свое "экспертное" мнение за решеточкой из зубов