Отлично для интервью на 50 минут! + Сразу дал расклад, что будет на интервью. + Дружелюбно. + Заинтересовал кандидата, пояснил особенности решения и поведения среды + Запросил фидбэк + Дал фидбэк - Не выделил время для вопросов от кандидата. *Если расширить интервью на 10-15 минут, то можно ещё по софт-скилам пройти. Заметно лучше, чем первое интервью на канале (см. коммент там).
@olezhek28go9 ай бұрын
Я привык, что для софтов отдельная секция собеса есть, чтоб основательно поговорить об этом:) а так, спасибо за фидбек)
@calculaction8 ай бұрын
Полезно! Жду ещё! пс: на опечатки время я бы не тратил и на кучу лишних слов о кружках и к!отиках (имхо)^^
@murad_shafii8 ай бұрын
поддерживаю
@arturdumchev30553 ай бұрын
Вообще все равно до опечаток, никто не пишет код в блокноте
@mchekalov9 ай бұрын
Шемистан крут, мне до такого уровня пока рости.
@АлекСневар2 ай бұрын
Да, пока по русскому лучше запотей.
@olezhek28go9 ай бұрын
Вай, какой красавчик в кепке😂
@chesscat5539 ай бұрын
Марти Макфлай из 1985 года.
@АлександрВасильев-в1е8 ай бұрын
А какой у него кот)
@olezhek28go8 ай бұрын
@@АлександрВасильев-в1е дааа)
@АлександрЛобов-ю6ж9 ай бұрын
рассуждал так же в первой задаче, когда убрали третий аргумент из make, но оказалось, что это не работает при именно 5 элементах, потому что он создаётся с capacity=6. Если их 4 или 6, то capacity будет 4 и 6 соответственно. Если их 7, то cap=8, 14-14, 15-16
@Dmitry-ug1zq8 ай бұрын
Не все так просто, если бы было 3 элемента при добавлении, то тогда бы так и сработало, cap/len были бы по 3)
@АлександрВасильев-в1е8 ай бұрын
Олег, выздоравливай!
@olezhek28go8 ай бұрын
спасибо)
@millerov9 ай бұрын
Если я не ошибаюсь, в последней задаче, при выходе из функции по таймауту, горутина останется висеть и ждать завершения запроса, тратить ресурсы:) Я бы просто повесил тайм-аут на реквест без каналов и кейсов. Было бы и проще и правильнее
@pav50009 ай бұрын
Это в реальном мире, но по условию задачи было запрещено что-то менять в функции, которая запрос выполняет.
@olezhek28go9 ай бұрын
справедливое замечание) Однако, есть пару нюансов. 1- мы не контролируем вызываемую сторону и не факт, что таймаут будет там обработан. 2 - в такой шустрый формат интервью сложно уложить продумывание всего) В целом можно в комментах поразмышлять как ещё можно докрутить код)
@Евгений-н6р8х7 ай бұрын
@@pav5000 Странное условие, как по мне. http запрос всегда можем сделать с таймаутом или контекстом. Если прям нужно подобное решение, то пример следует подобрать по удачнее.
@yami_curr5 ай бұрын
12:20 я так и не понял, как у вас а2 и а3 тут получаются разными. Я проверил сам и а2 и а3 должны выходят одинаковыми с cap = 6
@lifepainqa30815 күн бұрын
Согласен , кто то тут врет :D
@АлександрЛобов-ю6ж7 ай бұрын
так сосредоточились на очепятках, что забыли вызвать анонимную горутину в конце)
@olezhek28go4 ай бұрын
даа, есть такое)
@KonstantinIppolitov26 күн бұрын
Здравствуйте, Олег. У меня в конце недели собеседование в Avito. Я изначально писал на PHP и мне сказали, что задачи на собеседовании будут по PHP, хотя я проходил курсы по Golang на Coursera и в Вашу компанию подавался на Golang разработчика. Вот теперь думаю к чему готовиться.
@АлександрЛобов-ю6ж9 ай бұрын
для третьей задачи теперь нужно всегда спрашивать, какая версия go :)
@nonesnonoperos95048 ай бұрын
Да, для 1.22 есть нюансики как говорится)
@olezhek28go4 ай бұрын
всё верно)
@JIexaPol9 ай бұрын
В последней задаче при срабатывании ctx.Done мы получаем утечку горутин, так как после этого запись в канал ch заблокирует горутину на 91 строчке. Разве нет? Горутина, которая захочет записать результат в канал ch, уже не сможет этого сделать, если основная функция уже прочитала ctx.Done и завершилась и больше не читает ch.
@olezhek28go9 ай бұрын
Речь идёт о ситуации, когда отмена контекста происходит одновременно с записью в канал?)
@JIexaPol9 ай бұрын
@@olezhek28go нет, я про ситуацию, когда getDiscountWithContext завершился, поймав закрытие канала ctx.Done, и больше никто не читает канал ch, а горутина, вызвавшая getDiscount позже попытается записать туда значение.
@JIexaPol9 ай бұрын
@@olezhek28go нет, я про то, что функция, которая пишет в канал ch, может никогда не завершится, если мы отвалились по таймауту. Ведь читателя у канала не будет, когда придет результат от getDiscount()
@АнтроповАлексей-ы7г9 ай бұрын
@@olezhek28go тут скорее про то, что в случае таймаута мы в select попадаем в блок с ctx.Done(), возвращаем результат и из канала ch уже никто не читает, соответственно горутина с записью в такой канал будет вечно ждать, пока из канала кто-то прочитает (а уже никто не прочитает). если бы канал был с буфером, таких проблем бы можно было избежать)
@olezhek28go9 ай бұрын
@@АнтроповАлексей-ы7г а понял) согласен) тут стоит ещё подумать о закрытии канала
@luckytima23159 ай бұрын
Братик ты как всегда выглядишь как булочка сладкая :p
@olezhek28go8 ай бұрын
ахаха) пирожок)
@kafychannel9 ай бұрын
Great interview, thx !
@megauspexx9 ай бұрын
Запустите код из первой задачи, вторая часть решена неправильно
@artemkas41915 ай бұрын
В этом и весь прикол, слайсы в go настолько через задницу спроектированы, что заранее не знаешь, где может выстрелить, поведение у них абсолютно непредсказуемое
@КириллПоздоровкин-г9л3 ай бұрын
@@artemkas4191надо просто в кишочках покопаться)
@Elijah-xe2he3 ай бұрын
Я не GOшник, но во 2 задаче кандидат упомянул, что под переменные для if/for выделяются отдельные области памяти и эта память живёт только в блоке if/for. Раз мы в second кладем ссылки на v и после цикла область памяти для v умрёт, откуда тогда в println возьмутся значения?
@notfust4 ай бұрын
Почему в задаче на замыкания при выводе будут обращаться к памяти b102? Что происходит с памятью, когда программа выходит из ее области видимости? Понятно, что сама физическая память никуда не исчезнет, и second как ссылалась, так и будет ссылаться на эту ячейку, пока новое значение не присвоят. Но разве нет такого, что если память была очищена, то в результате ссылаться будет не на что, она будет помечена, как нулевой указатель. Или она все-таки будет доставать мусор, который лежит по этому адресу?
@olezhek28go4 ай бұрын
там просто эскейп анализ при выходе из функции производится и если он видит, что локальный указатель кому-то нужен, например, его возвращают из функции, то он его со стека в хип переложит и ничего не перетрется)
@rerurkful16 күн бұрын
Вот когда есть кот, тот всё понятно)
@evg16059 ай бұрын
в последней задаче - канал создать с емкостью 1 нужно - иначе горутинка утечет ))) понятно что если случай с main то все равно все завершиться, но все же... 88 строчка
@EvgeniiSuvorov8 ай бұрын
и как это прервет горутину?
@evg16058 ай бұрын
@@EvgeniiSuvorov не прервет, а гарантировано даст записать в канал и завершиться…
@Artem.Alalykin8 ай бұрын
Так, Олег... Кажется, у тебя был ранее канал несколько другой тематики. Мне ведь не кажется? :-)
@olezhek28go8 ай бұрын
всё верно)
@shamistanaliyev56789 ай бұрын
Шамистаны в общем то крутые))
@olezhek28go9 ай бұрын
😂однозначно
@shemistan119 ай бұрын
Согласен😁
@shamistanaliyev56789 ай бұрын
@@olezhek28go ты мне как то в линкедыне писал, что твоего близкого друга зовут также как и меня, Шамистан Алиев, я сначала не поверил, но теперь я точно знаю, что это правда 😂😂
@olezhek28go9 ай бұрын
@@shamistanaliyev5678 да, точно:)
@LokidonАй бұрын
Когда компилятор в голове с ide, получается код с ошибками, мы же не роботы. 😢
@ТестБлаБла9 ай бұрын
А разве горутина не продолжит висеть в последней задаче?
@JIexaPol9 ай бұрын
продолжит
@ПётрОлегов-о6ы7 ай бұрын
Я б обернул select в for, потому что вместо долгого ответа получили ошибку отмены таймаута. Как была низкой стабильность метода, так и осталась.
@lauhG36 ай бұрын
зачем? ты в селекте ждешь канал который быстрее сработает. Там нету смысла обрабатывать другой код в этот момент
@МихаилКовалышев7 ай бұрын
Вопрос к Авито. А что у вас за разработчики такие, что доказывают мне, что при передаче ссылки на структуру в метод, на новый стектрейс помимо передачи ссылки происходит еще и копирование на куче! Был у вас на собеседовании (N этапов) и на кодинге после такого не знал что ответить. А позиция у человека была далеко не старший =)
@erwererwrwr28 күн бұрын
из того, как вы сформулировали предложение, понять совсем ничего нельзя
@savvinovan9 ай бұрын
ох, я бы сам все это решил, они вообще нихрена не понимают
@olezhek28go9 ай бұрын
😂сто пудов
@yushkinelizar12809 ай бұрын
Невызванная горутина в ласт задаче *🫤*
@olezhek28go9 ай бұрын
Эх, ускользнуло от взгляда
@Kotl1n9 ай бұрын
А на должность SRE/Devops в avito алгоритмы спрашивают?
@shemistan119 ай бұрын
Именно алгоритмы вроде нет, но это не точно)
@olezhek28go4 ай бұрын
смотря где, думаю)
@mchekalov9 ай бұрын
А где традиционное, в одной из задач ошибка, найдите ее?
@olezhek28go9 ай бұрын
На все время не хватило, но если есть варианты кидай сюда:)
@Varkatel9 ай бұрын
ошибка, что константу внизу переименовал, а вверху не
@olezhek28go9 ай бұрын
@@Varkatel ага и ещё лучше, чтоб там была в одном месте русская с, а в другом английская)
@maratbaisultan69153 ай бұрын
18:35 челик инициализирует структуру с приватным полем лол
@mikemerinoff9 ай бұрын
- Найди опечатку в своем коде * засаживает еще две опечатки, пока искал *
@olezhek28go9 ай бұрын
случается)
@НикаАрхипова-в7й6 ай бұрын
без очепаток никуда
@artemkas41915 ай бұрын
Классика - исправил 1 баг, получил 10 новых багов😂
@johnquest822 ай бұрын
человек то ли сильно нервничал, иначе я не понимаю, как можно так часто делать опечатки и не видеть этого...
@НурмагомедТалайлов9 ай бұрын
Можете еще mock-собеседование было на языке Java
@artartov20188 ай бұрын
2 дкнь изучаю Го, изи решил все задачи! )))
@IvanFedulov4 ай бұрын
пиздишь😅
@olezhek28go4 ай бұрын
красава)
@ЕвгенийГригорьев-ш9ц9 ай бұрын
Красавчик к кепке!, во первых задачи - полное фУфлЕ, во-вторых если ты картавый щупленький малыш как на картинке, то ты вызвал у меня чувство недоумения и сострадания, в третьих твои придирки к опечаткам выдают в тебе чувство собственной неуверенности
@olezhek28go9 ай бұрын
Так все так, я забитый маменькин сынок и вылез в интернет, чтобы раздражать таких как ты:) Выходит на собес или зассал?😂
@erwererwrwr3 күн бұрын
вы здоровы, в принципе? а если человек инвалид без ног, но гений-программист, он что перестал быть гением программистом, у вас с логикой и рассудком в порядке всё?