Собеседование senior backend-разработчика / Node.js
🔥 Курсы для Node.js-разработчика на Хекслете: ru.hexlet.io/programs/backend...
🔥 Карьерный трек на Хекслете: ru.hexlet.io/courses/employme...
✅ Полезные вебинары по программированию каждую неделю: ru.hexlet.io/webinars?...
Публичное собеседование - формат учебного интервью, где собеседующий задаёт вопросы, которые обычно задаёт разработчикам при найме в свою команду.
Действующие лица:
- Задаёт вопросы: Кирилл Мокевнин
- Отвечает на вопросы: Роман Гафуров (резюме: cv.hexlet.io/resumes/494)
Таймкоды:
- 00:00:00 - интро и о кандидате: каким проектом занимается Роман
- 00:03:04 - что такое шина
- 00:04:56 - почему на проекте используется такое решение, сетевые протоколы и финтех
- 00:12:37 - гарантии доставки, Фаулер, семантика доставки сообщений
- 00:17:20 - идемпотентность, конечный автомат, магия Ruby и другие языки программирования
- 00:25:26 - предметно про задачи Ромы на проектах
- 00:32:38 - реализация статики
- 00:36:38 - бэкенд: Node.js, Express, ORM
- 00:38:57 - что можно делать руками, а что нет
- 00:45:50 - где фреймворк может мешать
- 00:47:25 - React: фреймворк или библиотека?
- 00:54:09 - как пишет тесты
- 01:04:44 - стейт памяти
- 01:06:35 - какие ещё языки интересны Роме для изучения
- 01:17:36 - задачи на производительность
- 01:20:56 - инфраструктура, pipeline проекта
- 01:27:00 - немного про подходы Хекслета, стартапы и взяли бы Рому в Хекслет
- 01:39:05 - культура компании
- 01:49:29 - как было бы в реальном собеседовании и оверинжиниринг
- 01:52:14 - почему четвёртый проект Хекслета на Node.js такой геморройный / Prisma
- 02:02:11 - зачем формировать запрос
- 02:12:43 - резюмируем
🔗 Полезные ссылки:
- Ещё публичные собеседования Хекслета: • Публичные собеседовани...
#хекслет #программирование #backend
Пікірлер: 122
Кирилл отличный интервьюер! Вопросы все по теме и прямые, сразу вскрывающие все недочеты.
Получилось собес-дискуссия ) Спасибо за видео! Побольше таких встреч со спецами )
Большое спасибо! Очень круто!
Спасибо за интервью. Как правильно в конце сказали, действительно хотелось бы почаще видеть людей уровня senior.
Неплохо разбавили серию собесов. Мне, как студенту, было ничего не понятно, но очень интересно. А когда знакомые фразы слышишь, то вообще воодушевляешься) В общем и целом было приятно посмотреть! Даёшь больше собесов!)
Респект Кириллу! Столько технологий знает - может дискутировать на любые темы.
thanks guys, it was so interesting to listen.. like a podcast :) especially i liked the part where there was a discussion about "react: library or framework"
Отличный собес! Роману вначале приходится отвечать не за свои решения и понятно, что это всегда тяжело. К тому же видно, что раскрывать подробности нельзя и это очень осложняет дело, учитывая, что ты знаешь, что собес публичный. Да и сам факт публичности, уверен давит на мозги. Роман отлично справился!
пасибо за видео))
Огонь!
Всё понял, кмк не было сложно =) но было очень интересно, спасибо
Конечно есть запрос!
Реакт это... это моё почтение как с него срывается маркетинговый покров 🌟🎉🎉
очень интересно, местами не хватало знаний или экспертизы чтобы понять о чем идет разговор, но от этого еще интереснее)
Спасибо, кайфанул! 95% собеса не понимал о чём речь, и тем не менее было очень интересно! Приятные люди, хороший темп, реально кайфанул!
Прикольно смотреть разговор двух программистов, когда понимаешь примерно ничего.
Требую Тимура Шемсединова на беседу, очень интересно что вы вместе сможете для нас рассказать и порассуждать. Будет очень полезно
Добрый день! @Хекслет, о каком курсе идет речь в 1:57:12? Подскажите, пожалуйста, название.
Интервьюер очень крут👍
Видно что язык очень хорошо подвешен у Романа, а это главное для сеньора) Я думаю Кирилл думает примерно также
Ща бы на собеседовании на сеньера спорить реакт библиотека или фреймворк )
Здравствуйте ! Можно попросить ссылку курс, где происходит реализации данной библиотеки о которой идет речь тут 1:57:16 ?
"Я тебя понял" Кирилл очень нежный
В конце обсуждают вариант со сложной фильтрацией из форм через псевдоязык запросов типа user_eq.. Как в данном случае разруливается вопрос с безопасностью? Составляется список таблиц, которые можно поджойнить? Запрос выполняет отдельный юзер, которому доступны только необходимые таблицы?
спасибо
ооо, бекенд! так мало собесов в интернете по бэку
Очень понравился формат. Роман молодец, высокий уровень.
парень в синей футболке! очень круто ведет интерьвю
Киррил все знает, а Роман всегда прав.
Насчет обработки ошибок, в Rust она лучше чем в Go. В Rust есть возможность их пробрасывать выше, а не сразу обрабатывать в момент появления! Если интересно об этом даже в ютубе можно найти информацию.
В котлине экстеншн методы это static в который передается this. Это же просто сахар тем более типизирован - это не тоже самое что в js
"Байтики в Го ворочать, говоришь...". Я ещё видел "программистов контроллеров" на JS
Очень интересно, так а какую ORM то в итоге на js лучше использовать?
Послушал интервью, кажется, что я со своими двумя с половиной годами опыта дважды сеньор, возьмите меня :) Правда стек у меня узкий пока, но я обучаемый :) P.S. Побольше интервью на сеньоров, т.к. таких видео очень не хватает.
Нууу... ок... Это точно был синьор? Странные вещи он говорит. По Кириллу видно, как он местами офигевает, но держит poker face ))
@KalinachenkoTV
2 жыл бұрын
По всем темам синьорский уровень тяжело иметь + интервьюер молодой. Жалко кодовой практики небыло или визуализации данных схемами 🥶
@kusov4748
2 жыл бұрын
Вполне себе сеньор
@12zxqwas1
2 жыл бұрын
@@kusov4748 Это джун.
@andreygrigorev8366
2 жыл бұрын
@@12zxqwas1 Не соглашусь. Чувствуется сеньерский уровень (опять же, тут уже вопрос градации - в какой то компании сеньер, а в какой то миддл/миддл+)
Меня интересует положение камеры, интервьюер смотрит сверху интервьюируемого, это специально ?
> Хочу прикоснуться к хаскелю > Отпугивает раст тем, что там страшная обработка ошибок Принципы обработки ошибок в расте/хаскеле крайне похожи (иногда с точнстью до синтаксиса), странно)
Может дело в не очень высоких стандартах по знаниям в его стеке, но с такими ответами в моем стеке даже на позицию миддла можно рассчитывать только с огромным послаблением. Не похоже на то, что он знает но не может выразить словами корректно. При этом видно как Кирилл усердно пытается вытащить из него ответы. Никоим образом не хочу обидеть Романа и надеюсь вопросы просто были в противоположных его компетенциям областях :)
@RisDeep
2 жыл бұрын
А какой твой стэк?
@berman3302
2 жыл бұрын
@@RisDeep C#, который актуальный, а не его печальное фреймворк начало. В основном в контексте микросервисов, nearly highload (потому что это субъективное понятие и потому что не все участки системы что-то специфичное реально требуют) и связанных изысканий (RPC vs REST, оптимизация SQL запросов и microORM, брокеров, SD и, редко, самописных спец решений поверх best practice). Также есть опыт продакшн решений C# фронтенда с wasm, но это почти всегда фуллстек и не самое благодарное поле. Кстати многие сталкиваются с C++ в браузере на wasm (www.figma.com/ с 2017 года, www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/), но почему-то удивляются C# реализации (Blazor) :) Впрочем и на позицию, предполагающую CRUD'ошлёпство, при собеседовании, что интересно, спрашивают не меньше. Предполагаю такой фильтр рассчитан на отсев совсем уж плохих специалистов, которые начнут городить совсем плохие решения.
@maksymdudyk1718
Жыл бұрын
Киррил красиво излагает мьісли, имеет огромньій опьій, компетенцию и кругозор, а другой собеседник, Роман, ну, он просто прав почти всегда.
Больше похоже на собеседование сис. админа/тимлида, а не разработчика(( Не услышал ни одного полноценного кейса от Ромы, когда он сам писал код, разбирался в коде, тестил код...
Мне одному кажется, что собес по джунам и мидлам намного жёстче чем вот тут..?
@ergiev2007
2 жыл бұрын
Конечно
@olehdevua
Жыл бұрын
тебе кажется
@user-if8zk2nt7p
Жыл бұрын
Я джун и у меня пара корешей синьоры. Они мне сразу так и сказали что они на собесе просто попиздят и устраиваются а ддуна во все щели😂
@_good_luck
Жыл бұрын
это вообще не собес
ребит не справлялся? что это за нагрузки такие ? может проблема была в вас, а не в нем?
@mmospanenko
2 жыл бұрын
Ага, судя по тому как еще отвиливал от ответом то скорее всего именно так и было))
Твердый джун по моему, вопросы не раскрыли его как опытного node.js разраба на мой взгляд.
@12zxqwas1
2 жыл бұрын
Согласен.
Excellent interview. Feels like guy has some problems with soft skills. Or deson't know how to put it without telling about company secrets or something... But interesting conversation nevertheless. Still useful, well done.
Kotlin extension это просто синтаксический сахар. При его использовании байт код класса не меняется.
Вообще не понял, почему кандидат в BE разработчики должен был отвечать на вопрос: а React - это библиотека, и еще рассуждать об этом
@channal18126
11 ай бұрын
это культура скажем так... фронтендеру тоже могут спросить за бэкенд... на таких высоких позициях когда стэк большой, грань между бэком и фронтом становится более размыта, я фронтендер но тоже бывает спрашивают какие нибудь вещи из бэка
Типичный js, не знаю почему, но не хочу нормальную структуру в проекте, хочу все файлики в одной папке
я ещё даже не junior, но вся беседа была абсолютно понятна... А могли бы раскрыть секрет в чём смысл чёткого определения React это фреймворк или библиотека? Проверка инженера на возможность наличия собственного мнения с обоснованием или просто ютуб потроллить?
@da_best_jokes
2 жыл бұрын
Записывайся на собес и устраивайся на работу 300к+ тогда) Че ждем
@da_best_jokes
2 жыл бұрын
Не в обиду только Я тоже просто так со стороны смотрю, вроде все так легко и понятно, но если самому попасть на точно такой же собес, то и тыкмыкпык не выдавить из себя будет
@da_best_jokes
2 жыл бұрын
Это как смотреть решение какой-то задачи, до которого ты так и не додумался. А когда читаешь уже само решение, то понимаешь насколько это все было легко, хотя сам не смог додуматься
@yarbersheer8559
2 жыл бұрын
@@da_best_jokes простите.. но разницу между http1.1 и 2 ...мидлу?... боль
@da_best_jokes
2 жыл бұрын
@@yarbersheer8559 не понял:)
А вы донатить маинтейнерам не подумали, если действительно хотите пользоваться? Или хотя бы привлекать донаты в репозиторий
Что-то у меня подозрение что это уровень до мидл, просто рынок перегрет сейчас
@12zxqwas1
2 жыл бұрын
Это уровень джуна после курсов.
Что-то он не тянет на senior((
@sergeykhairulin
2 жыл бұрын
главное продать себя как seniora )
а в чем проблема форкнуть что-то с опенсорса и дописать как хочешь? истории про мердж реквесты + ожидания в пол года кажутся какими-то несерьезными
@bernish
2 жыл бұрын
В неоплачиваности данных действий
@user-tx5sr2lt6z
Жыл бұрын
Ты можешь форкнуть , фиксануть и юзать, но следить за отдельным проектом уже другая история(оптимизация, устранение уязвимости, фичи и тд). Скорее всего он имелл ввиду то, что они юзали пофикшеную версию, но ждали, пока сам овнер зальет фикс
Блин, кода не пишут, ноду хейтят, руби огонь. Разговор двух хипстеров в пивнушке. Как можно взять сеньора после такого вью ума не приложу. Можно конечно, но потом обижаться надо только на себя.
Этот парень крепкий мидл. Но не сеньер. Много вопросов про систем дизайн
А по поводу ORM... Может вместо 3-х JS макак нанять толкового спеца который будет писать запросы руками?
@wh1teb1ack92
2 жыл бұрын
Это ты думаешь что если выучил ООПшный язык, то себя в спецы записал? Я думал клоунов которые хаят JS становится меньше, но как оказывается нет...
@maksimsergeevich5939
2 жыл бұрын
@@wh1teb1ack92 Ты умственно-отсталый? Я фуллстэк на Nodejs/js уже как 3 года, ещё пишу на go и немного rust. Из чего следует, что я не пишу на ООП языках. Причем ты тут вообще ООП приплел, и как ты тут увидел ненависть к JS? SQL может ООПшный язык? У тебя знаний ноль по сути. Иди может школу закончи сначала, потом пытайся что-то осознанное написать в комментариях. Написал 10 консол логов за свою жизнь и тебе показалось, что ты стал отцом и адептом JS? Или на чем ты там писать учился, на JQuery? Ты млять даже не понимаешь, что человек пишет, и при этом бросаешься терминами и баззвордами суть применения которых ты даже не понимаешь.
@TrueNeutralEvGenius
Жыл бұрын
@@wh1teb1ack92 Не, это всегда const. (Соотношение глупые люди и клоуны).
Собеседование больше похоже на лекцию
Составной индекс это норма же
на продвижение
@HexletOrg
Жыл бұрын
Спасибо 💜
Мне одному кажется что ведущий похож на Птушкина
- В хаскеле математики достаточно много - На самом деле это буллшит, код будет на уровне джаваскрипта даже проще. ШТА?
а что с линухом не так? 6:16
@ViacheslawSaveliew
Жыл бұрын
фанаты огрызков снобят чутка, забывая откуда корнями макось
@TheLevius
Жыл бұрын
@@ViacheslawSaveliew откуда?
Не могу не согласиться, что React попадает под определение фреймворков. Но в моем понимании адекватный фреймворк должен давать из коробки очень многое. Все то, чтобы ты мог полностью на нем построить готовое приложение; Хотя бы систему событий и стейт-менеджер. В противном случае я отношу это к определению библиотеки. Вам нужно признать, что сам по себе React бесполезен. И как тогда его можно называть фреймворком?
@FoRVidEGG
11 ай бұрын
Стейт менеджмент нужен далеко не во всех приложениях же. А для событий можно самому паттерны реализовать поверх webApi, не сильно много времени на это нужно будет. Так что не сказал бы что без этого реакт бесполнезен
Рома целкой был когда-то, Но нарушил он УК. И теперь его ласкает Волосатая рука.
я фронтендер и JS не могу нормально выучить а тут чувак пишет свободно на 5+ языках...)))) уровень, снимаю шляпу
На какую зп может рассчитывать этот человек?
@used332
2 жыл бұрын
ну 6-7k может получать
@andreika713
2 жыл бұрын
@@used332 это если на пол ставки.. в РФ минималка тыщ 12)
@user-pd8pw4uq5v
2 жыл бұрын
@@andreika713 очень тонко))
@ablyakimablyalimov8848
2 жыл бұрын
@@andreika713 😂😂😂
@Deletedeletedelete
2 жыл бұрын
уе?
1:37:10 "...Российская экономика теряла 70 млн. долларов в час..." Как я люблю такие разговоры) Российская экономика теряет хуилиарды уже много лет и ничего никого. Это не ваши деньги, чего вы беспокоитесь?))
блин, ребята, слабовато будет, но в любом случае спасибо за работу
с тестами конечно полнейший провал, middle
Мне кажется у парня проблемы с софт скилами, не хочет слушать и принимать очевидные вещи, даже Кирилу пришлось не легко
Роман молодец, но получилось очень скучно. Такое ощущение осталось что собеседуемый рассказывает про прочитанное в книжках, не имея какого-то своего мнения. Просто транслирует популярные мнения. Ну разве это senior?
По-моему собес вообще не про бэкенд 😅
Реакт - это библиотека. Ты ничего не понимаешь.
это точно собеседование? )) или для сенёров это нормально сидеть и болтать 2 часа за жизнь? а джуны должны хреначить структуры данных и лопатить базу перед собесами...
@HexletOrg
Жыл бұрын
Это и правда нормально)
@bender01
Жыл бұрын
@@HexletOrg а почему так? вить это интересно как грандмастера решают задачи! или собеседующие жим-жим что сами не вытянут?!
@HexletOrg
Жыл бұрын
@@bender01 там просто обычно уже на другом уровне всё обсуждается - архитектура, подход к решению бизнес-задач и другое, а не проверка того, как он алгосики за 5 минут решает)
как будто бабушек на крыльце послушал. конкретного собеседования по делу нет. одни вопросы о вкусах. а о вкусах не спорят. а и еще меряние чсв какоето
1:59:36 Это простая и неудивительная история, ничего сверхъестественного, и всё равно не отвечает на вопрос эффективности сырых запросов. 2:00:02 ТУШЕ!!! Интервьюер балаболка беспонтовая.
Могу сказать, что собес-беседа норм, но соискатель рассказывает слишком много конф. информации про свою компанию Не уверен, что это надо публиковать.
@arinas-r
2 жыл бұрын
Ну, он пытался говорить очень абстрактно сначала, но ведущий хотел деталей:)