Собеседование на middle Node.js разработчика
Проведём собеседование на позицию backend Node.js разработчика уровня middle и обсудим типовые вопросы.
На самом деле собеседование импровизированное, но вопросы и ответы на них, надеюсь, будут для вас полезны.
⚡ Мои курсы
Курс по Node.js: purpleschool.ru/course/nodejs
Все мои курсы: purpleschool.ru
Курсы для тех, кто не из России: www.udemy.com/user/alariplay/
Telegram канал с полезными советами: t.me/purple_code_channel
Разделы видео:
0:00 - Введение
0:30 - Знакомство
2:30 - Как Node.js исполняет код
9:00 - Потоки и асинхронность Node.js, event loop
23:35 - NPM и packege.json
32:41 - Паттерны
34:40 - ORM для Node.js
41:50 - Заключение
Пікірлер: 177
Для тех, что хочет подробно изучить Node.js мой курс: purpleschool.ru/course/nodejs
Молодцы ребята. Один тратит свое время на помощь коллеге и сообществу, другой готов искать пробелы в своих знаниях, не боясь публичности.
@PurpleSchool
7 ай бұрын
👍
Антон, спасибо тебе за такие полезные видосики! Успехов тебе в ютуб-начинаниях🤞
@PurpleSchool
2 жыл бұрын
Спасибо!)
перерыл весь ютуб на тему midl nodeJs и ничего нормального не нашёл (кроме вас) хороший видос, полезный👍👍👍
@PurpleSchool
2 жыл бұрын
Спасибо!
Антон спасибо продолжай в таком духе!!
@PurpleSchool
2 жыл бұрын
Спасибо!
Спасибо, очень интересно. Надеюсь, что на канале будет ещё контент по ноде 🔥
@PurpleSchool
2 жыл бұрын
Обязательно!)
Частенько приходится проводить собесы на бэк, какраз уровня мидл, чаще всего подхожу именно с практической стороны, типа реализуй то-то(пару задачек минут на 5 и строк на 10) достаточно простых, не требующих спец знаний, немного логических задачек не сложных, немного общих вопросов как например: - что из коробки зареквайрить в ноде(фс, утил, крипто, хттп ) можно, а что и без реквайра работает (Math, и всяческие структуры типа Мэп, Сет ... ). Про ньюансы работы V8 вобще редко спрашиваю, скорей когда не уверен что человек понимает что и как происходит. Так же немного по базам прохожусь чтоб понять что человек понимает что происходит в этом аспекте Ну и под конец уже солиды/драи/патерны и прочее все такое если время есть. Чаще всего до этого не доходит, некоторые например на собеседование с телефона приходят и удивляются что надо оказывается чучуть кода писать на собеседовании(типа: да за кого вы меня держите, отставьте это грязное дело, я смузи пить и творить пришел, ну или скорей всего думают что у нас как в корпорациях по 10 раундов и после эйчара еще 3 раза будут беседы о жизни). Почему о кишках в8 редко спрашиваю, скорей потому что таки на ноде программирование больше это бэкэнд для веба, и чаще всего он стейтлесс и прекрасно горизонтально масштабируется, а следовательно если даже человек и не очень оптимально сделает именно в плане работы с нодой, всегда можно немного "железом закидать" до момента починки. Но чаще всего таки на практике если человек пишет в рамках +- стандартов достаточно редко натыкается на ограничения ньюансов реализации движка. Как то например хреновая идея в принципе в апи по большому обьему данных без причины итерироваться, лучше где то в фоне подготовить и потом отдать. Или использовать сет интервал если ты не уверен на овер9000% что твой код действительно успеет отработать за тот промежуток времени.
@censored2279
2 жыл бұрын
Так же если есть возможность зашарить экран, лично увидеть, использовать онлайн сервисы совместного редактирования, если человек имеет мало опыта работы с технологией то это довольно явно видно по стилю написания/редактирования кода.
@waltergibbs3041
Жыл бұрын
Дак и шо,показывает это реальный уровень разраба?Онли стрессоустойчивость
@censored2279
Жыл бұрын
@@waltergibbs3041 что именно? Шаринг экрана или отказ от излишнего копания в в8 со старта? Собственно по шарингу плюс минус сразу видно скорость написания структуры кода пусть например человек не помнит стандартные библиотеки но если он пишет код со скоростью улитки на 5 минут задумываясь а что это ему иде подсветила в коде из 5 строк то тут как минимум сразу видно что с синтаксисом он не очень знаком, если в резюме написано пару месяцев ноды остальное пхп например то еще ладно, но если там 5 лет ноды ... ну не верю я что так можно, на других вопросах эти товарищи вполне себе тоже валятся в большинстве своем.
@waltergibbs3041
Жыл бұрын
@@censored2279 на стрессе дядьки и свое имя забудут
@kujojotaro3464
Жыл бұрын
Прикольно ты железом по своей логике будешь закидывать заблокированный main thread
Спасибо за видео !)) Думаю взять ваши курсы, хотелось бы еще по базову js с заданиями на степике.
@PurpleSchool
2 жыл бұрын
Спасибо! После выхода курса по микросервисам может действительно сделаю курс по JS. А задания и тесты я делаю на всех платформах, где выходят курсы.
@user-po3lh2mc3s
2 жыл бұрын
@@PurpleSchool Круто, будет вообще отлично если в курсе будет много практики)
Очень интересно!
@PurpleSchool
2 жыл бұрын
Спасибо!
Когда речь зашла про orm как-то несправедливо проигнорировали sequelize. А вообще качественный контент. Запиши ещё, без этих приколов про C++ или С в ноде, это прям какой-то суперхайлевел по-моему) Более практические вопросы, например озвучиваешь проблему из своего опыта и спрашиваешь, как бы человек решал. А то ощущение, что твое интервью прошел бы просто чел, который пару статей прочитал про ноду и все, а на практике, человек каждый день будет решать задачи инженерные
@coconut_punker
Жыл бұрын
Да, самый прикол что бог его знает где искать инфу про все это если на практике это все не используется или используется очень редко
@user-dq3us9nl9t
8 ай бұрын
ну еще и knex есть например sequelize такая же не удобная как и typeorm, с их проблемами связанными с определением отношений m-m, там такая чехарда начинается, что можно свихнуться. Так же в sequelize отсутствует типизация, по крайней мере в 2 версии, в 3 обещали добавить, не знаю добавили или нет
@user-dq3us9nl9t
8 ай бұрын
ну можно посмотреть видосы или еще лучше, сходить на собесы, там где описан подробный стек и даже если нет, просто попросить рассказать про проект@@coconut_punker а дальше, берешь каждую технологию и смотришь что это такое, и есть ли аналоги, что лучше использовать и изучаешь по итогу
Ух я б потел на таком собеседовани. Все таки спокойней когда сложность вопросов идет по наростанию, а тут как-то наоборот.
Сразу скажу, все видео не смотрел, может соискатель себя так не ведёт обычно, но один момент напряг сильно: - (и)нтервььюер: нужно ли коммитить лок файл? - (с)оискатель: нет, не нужно и вот почему... [даёт неправильный ответ] - и: ну не совсем... [Спокойно и содержательно объясняет почему он неправ. Не переходя на личности, никого не оскорбляя] - с: ну тоже спорно [начинает нести какую-то фигню] Вместо того, чтобы сказать: я понял, спасибо что рассказали, буду знать - начинает оправдываться и выдумывать. Неумение принимать фидбек лично для меня это красный флаг
@user-bs1ef6tt3e
2 жыл бұрын
Ты просто не принимаешь любое другое мнение, кроме твоего (красный флаг)
@helios8567
Жыл бұрын
@@user-bs1ef6tt3e в этом деле нет личного и чужого мнения. Есть правильный ответ. Это как сказать что 2+4 это 5, и утвержать что это твоё мнение.
Интервьюеру - респект, услышал много полезной информации от него. Кандидат слабенький: сам проходя собез на джуна, отвечал на примерно такие вопросы вполне себе успешно
@PurpleSchool
2 жыл бұрын
Рад, что материал был полезен!
@diggerdog001
Жыл бұрын
ну молодец, не все такие охуенные как ты. пф
@alazarnfreeman9216
10 ай бұрын
сам себе лизнул) молодец. как говориться, сам себя не похвалишь - ходишь целый день как об@ср@ный
Примерно около 8:00 ты задаешь гостю уточняющие вопросы про оптимизацию кода и этапах его исполнения в v8. Я правильно понимаю, что эти вопросы последовали потому, что гость сам ушел в эту степь, отвечая на вопрос "Что происходит когда код JS передается в Nodejs на исполнение" ? Скорее всего вопрос подразумевал ответы про стэк вызовов, event loop, таймеры, коллбэки. Просто учитывая, что в начале должны были быть джуниорские вопросы, то вопросы про нюансы работы v8 и интерпретацию js вообще не джуниорские, и даже у миддлов такое не спрашивают.
@PurpleSchool
2 жыл бұрын
Да, просто уж раз разговор туда пошёл, углубились в V8. Это уже на уровень middle.
чистосердечно благодарю
@PurpleSchool
5 күн бұрын
Пожалуйста!
Круто👍👍👍
@PurpleSchool
2 жыл бұрын
👍
угараю с чела, не знает ответ на вопрос и начинает: "ваще-то это вопрос для сеньоров уже". Ну не знаешь так и скажи "не знаю". Мы сюда мидловое интервью пришли послушать а не отмазы джуна
@Astn00
Жыл бұрын
Уметь отмазаться, тоже важный навык. Особенно когда с заказчиком общаешься :)
@Abilovv599
11 ай бұрын
Я являясь джуном который начал программировать 8 месяцев назад знал большинство вопросов 🤦🏻♂️
@y_y6153
11 ай бұрын
@@Abilovv599 da da, popizdi))
@user-dq3us9nl9t
8 ай бұрын
поздравляю, ты научился проходить собесы и зазубрил теорию, а теперь при работе сколько ты этого всего используешь?@@Abilovv599
По поводу призмы и монги. Призма требует от монги, чтобы она была запущена с репликой и это жесть как неудобно делать, если у тебя нет какого-то docker файла со всеми настройками, а только обычная mongodb-community. Тут интервьюер правильно подметил, это как микроскопом гвозди забивать, монгус для более простых задач более чем достаточно и удобно.
@PurpleSchool
2 жыл бұрын
Именно!
какие кнч тут все духари в комментах.Прям сплю и вижу этих 'сеньоров'
@y_y6153
11 ай бұрын
eto pzdc merzko chitat'
@franklucas6847
2 ай бұрын
Таково уж комюнити в it. Бездари возомнившие себя богами)
Начнем с простых вопросов. Итак - "Как получить самый оптимизированный машинный код в JavaScript?", " А что там со знаменитой многопоточностью в node?", парень наверное сразу поплыл. В целом конечно, молодец и со стороны всегда виднее, но хотя бы паттерны с принципами мидлу не положено путать.
@coconut_punker
Жыл бұрын
Да да тоже угарнул ))
@coconut_punker
Жыл бұрын
Паттерны такая чудная штука , помню как то задрочился что надо из подучить , начал и стал искать примеры где бы их применить на практике. С этого момента начались проблемы
на счет ORM, я бы еще не забывал про ORM injection, так что уязвимости все еще есть.
Два года изучаю фронтенд. Что нужно изучить если идти в фулстек? Правильно понимаю, что учить весь бекенд не нужно, а что именно? И какая потребность сейчас в react node.js фулстек разработчиках?
Хочу на собес. Работаю джуном, хочу собес на уровень middle или middle+ (просто так, без трудоустройства, ради интереса, глупостей говорить не буду)))
вопрос: где ваще можно на практике убедиться кто кого администриует и кто что выполняет ( я про NodeAPI, libuv, v8)
Трындец, для итерации больших объёмов данных ни про протокол асинхронного итерирования ни про стримы, ни кто и не вспомнил.
@PurpleSchool
2 жыл бұрын
Так про стримы я как раз и говорил.
@TimurShemsedinov
2 жыл бұрын
@@PurpleSchool про треды говорил, а не про стримы
@GLUCKKKKKKKKKK
2 жыл бұрын
Как же без папы node.js)
@TimurShemsedinov
2 жыл бұрын
@@GLUCKKKKKKKKKK батя в здании
@fucktor82
2 жыл бұрын
Тимур, вы очень "душный" товарищ. Под каждым видео где я вижу ваши комментарии, только один негатив и попытка показать себя самым умным. И что-то мне подсказывает, что это далеко от реальности. Добрее надо быть и развивать в себе способность к конструктивному диалогу. Софт скилы поважнее будут ваших стримов и протоколов асинхронного итерирования.
С локфайлами вообще беда, кучу людей на собеседованиях встречал и они просто не коммитят их (php, nodejs, frontend разработчики).
Про обход матрицы двумя циклами, ты наверное хотел сказать O(n^2) - где n - количество строк, так как O^2 - это просто некорректно. Но даже O(n^2) - не совсем верная оценка сложности для этого случая, верная это: O(m * n) - где m - количество строк, n - количество столбцов
@PurpleSchool
2 жыл бұрын
Верно)
@sleeplessowl777
8 ай бұрын
Интервьюер сам не шарит)
@valentineserebreanu398
5 ай бұрын
нет, когда говорят о сложности, не используют таких обозначений O(m*n) если ты считаешь количество операций - да. А сложность отображается так O(max(n,m)^2). Сложность алгоритма в множестве O - это немного другое, нежели подсчет точного количество операций. Когда мы имеем дело с O , то для упрощения представления понимания сложности алгоритма , отбрасываются константы, отбрасыавются младшие члены полинома(типа не может быть n^2+n, ведь при больших или малых значениях n , этот младший член не будет играть роли) то есть , если количество операций это n^2+n+2 , то O(n^2)
Спасибо
@PurpleSchool
2 жыл бұрын
Буду периодически делать и такой контент.
Кот прошел собеседование. Мы его берём!
@PurpleSchool
Жыл бұрын
👍
Интересное собеседование
@PurpleSchool
5 ай бұрын
Спасибо
интервьювер заявил, что алгоритмическая сложность если один цикл будет О, если два будет О^2, когда на самом деле она будет О(n) и О(n^2).
@alexandrkazakov723
3 ай бұрын
на самом деле вложенные циклы не всегда имеют сложность O(n^2)
Какой же приятный тон у Антона, эстетика
@PurpleSchool
Жыл бұрын
Спасибо)
28:52 никто не оценил, что когда речь зашла о nest, котэ решил внезапно напомнить о себе) А я напомню, что кот это маскот NestJS'a
@PurpleSchool
Жыл бұрын
👍👍👍
Лучший ,пожалуйста сделай с джуном на JS/React /TS
@PurpleSchool
2 жыл бұрын
Ок, запланирую)
Мне нравится Objection + knex
Я, конечно, извиняюсь, и, может быть не прав, но... За полтора года работы с нодой ответы на все вопросы должны были бы уже на подкорке закрепиться. Тем более, что ничего сверхъестественного интервьювер не спрашивал. Про низы? Ну так человек сам туда полез. Паттерны? Их даже джуны наизусть знают. За видео, конечно, спасибо - помогло понять, что сам я кое-что знаю. Буду смелее на следующем интервью.
@PurpleSchool
2 жыл бұрын
Супер! Рад, что видео помогло)
@user-dq3us9nl9t
8 ай бұрын
на самом деле, из того что спрашивали на собесе, используется на практике от силы 20%, так что если не зубрить это постоянно или не зависать на собесах каждый месяц, это все забывается. По моему опыту конечно, может у вас это и спрашивают на работе постоянно
После Propel ORM для PHP что typeORM что Sequelize кажутся инвалидами какими - то, имхо, холивара не жду здесь
Пока комментят мол "ряя, он же джун" чел уже мидддлом работает и решает адекватные бизнес задачи. Вообще всегда считал что если миддл крепкий - он скорее всего уже не миддл. Для бизнеса круто конечно играть на чувстве самозванца и платить миддлу как джуну. Но серьёзно, это не здоровая тема. Полезно знать что там внутри V8 и как работают оптимизаторы деоптимизаторы, но это всё уходит почти полностью лесом когда мы джуну кидаем таску вклеить в проект на микросервисах i18n про который тот не в курсе ни слухом ни духом и начинается неделя качель. Единственное что тут помогает - решение проблем по мере их поступления т.к по другому просто не работает. Ещё из актуального - комментаторы давно заходили в исходники чужих библиотек? Их как правило пишут миддлы и выше. А код там зачастую просто мерзкий. Так же и с продуктами. В какой продукт не зайду ребята делятся на два типа либо "умный" тугодум либо "шустрый" говнокодер. К слову вторых любят больше ;(
@Andrq122
Жыл бұрын
А вообще ребята, учитесь проходить собеседования а не кодить. Оно вам полезнее по зарплате будет. Опыт с временем придёт. А вот собесы проходить с опытом вы к сожалению только разучитесь.
@user-dq3us9nl9t
8 ай бұрын
100% верно, сам долго работал в разных компаниях, а теперь не могу работу найти, постоянно странные вопросы задают. Приходится учиться проходить собесы@@Andrq122
Когда спросили, из чего состоит нода, чел тупо с экрана считал)
Проблема с пакадж локом даже не в том что ты позволяешь минорные менять, ты то может и фиксированные даже поставишь но ты не можешь гарантировать что все то дерево зависимостей сделало так же.
сегодня бы чел и на джуна не прошёл собеседование. Хотя я понятия не имею о чём джунов спрашивают (я идиот)
Лол. Сейчас такие вопросы на трейни могут спросить (по опыту) , а тут мидл)
Или он джун, или я мидл не могу понять ))). Кто растет в ноде, прочитайте Касскаро про патерн очень крутая книга
@dobryden7196
Ай бұрын
Касскаро? не могу нагуглить ничего про код
если я пройду ваш курс по NodeJS и TS, то я буду знать и понимать ответы на все вопросы из этого видео?
@DimanMazafaca
2 жыл бұрын
2 года учится необходимо. За 1 курс ты наверное особо не продвинешься
@larch715
2 жыл бұрын
Попробуй использовать кривую Эббингауза при изучении, если знаешь английский изучай офф доки дев блога V8, и доки NodeJS, пробуй объяснять самому себе тему, не заучивать, а именно понять. Все вопросы которые спросили "мидла" это база.
@4uikina
Жыл бұрын
Да, на все вопросы по ноде из этого видео в курсе есть ответы.
@franklucas6847
13 күн бұрын
@@larch715 Первый раз вижу как кто то упомянул про кривую. Мое почтение
А как определили градацию уровня человека ? Показалось что уровень entry-junior
@PurpleSchool
2 жыл бұрын
Уровень да, не мидл. Был вопрос как сам человек себя оценивает и на эту оценку я уже подбирал вопросы.
@daveyjonesx
Жыл бұрын
Понапрдумывали градаций, теперь еще и энтри какие-то есть
@newgrafon5185
7 ай бұрын
@@daveyjonesx ждем Pre-Junior, Junior+, Junior++, Junior-Почти-Middle и так далее XD
еще раз НПМ ИНСТ !!!О!!! Л
Вопросы хорошие, но вот например "как ты оптимизируешь приложение" слишком общий вопрос. Когда интервьюер хочет услышать конкретно что-то определенное, кандидату очень трудно понять, что вообще хочет интервьер , и приходится спрашивать. Не очень люблю такую стратегию, где нужно узнавать дополнительно, какой вопрос на самом деле то был.
А мне вот всегда интересно. А зачем спрашивать как работает движок V8 или как базы данных у себя хранят индексы и какие алгоритмы они используют и тд тп. Если мы, ну никак не сможем повлиять на это. Зачем вообще туда углубляться?
@PurpleSchool
2 жыл бұрын
Это помогает знать что такое оптимизация и деоптимизация и как мы можем ей помочь.
@-EgoSerg-
2 жыл бұрын
@@PurpleSchool ну ок. Вот базы используют b-tree деревья. И как это вам позволит оптимизировать? Мы сможете повлиять на процесс, как база у себя внутри, будет создавать эти индексы? Хочу посмотреть, как у вам это получится
@NickOlkhovik
2 жыл бұрын
Часто такие вопросы позволяют понять, что человек увлекается всем этим и хочет узнавать больше. Но мне кажется это вопросы больше для Senior уровня.
@-EgoSerg-
2 жыл бұрын
@@NickOlkhovik мне кажется эти вопросы для архитекторов. Вот если они будут делать свою бд или свой движок. Вот тогда имеет смысл это делать. А спрашивать о том, что там дебрях и особенно, если нет возможности на это повлиять. Тогда в этом смысла вообще нет
@-EgoSerg-
2 жыл бұрын
@@NickOlkhovik Вы изучали строение компрессора в холодильнике? Или из каких частей состоит микропроцессор и как его части работают между собой? Всеми этими вещами вы пользуетесь каждый день. Но не знание как они работают, на ваши процессы не влияют
20:30 чито? Это что там тебе мешает перебрать массив асинхронно не блокируя основной поток? Какой то ты неправильный сеньйор :)) Перебирай сколь угодно, только хелпером дроби большую микротаску на макротаску, если есть задержка тика ивентлупа.
Это правда middle?
Не сказать, что видео чем-то полезно. Нужен либо сильный собеседник (точно не джун как тут), либо автор должен давать развернутые ответы на свои же вопросы (не обрывками что-то где-то там). А вопросы каждый сам может посмотреть на любом сайте.
Очень много всего нагорил кандидат, возможно, он практик, но по теории надо подготовиться.
лок файл комитить надо
с next.js работал а до фронта не дотянулся...
@PurpleSchool
2 жыл бұрын
Он работал с Nest, а не Next
Позовите меня лучше
кто кого собеседует? )
Как вообще с вакансиями на backend node js dev??
@PurpleSchool
2 жыл бұрын
Достаточно много.
Если не уверен в теме, лучше не спорить с интервьюером Хотя даже если уверен, спорить тоже не очень хорошая затея
@avalonclan3995
Жыл бұрын
Да, лучше промолчать и тогда интервьюер решит, что ты точно етого не знаешь)
@user-yw9wx4lv2w
8 ай бұрын
всегда спорю если уверен на собесах. Зачем молчать?) может тебя так проверяют а может нет? Если я прав - то я смогу переубедить, если нет - узнаю что-то новое. Одни плюсы.
@daveyjonesx
8 ай бұрын
@@user-yw9wx4lv2w я не о том, что нужно промолчать в том месте, где услышал ошибку от интервьюера. Я о том, что если вы оба расходитесь во мнениях, спорить не имеет смысла, та как за время интервью вы ничего не докажете собеседнику или он вам, но отнимите кучу времени от плана, можно откреститься короткой фразой «я понял вашу точку зрения, я с ней не согласен», и вы оба будете просто держать в голове что на такую-то тему у вас разные представления, при этом градус негатива незначительный, чем если бы произошел спор на несколько минут.
работаю фронтом - судя по этому собесу могу пойти на мидл бека) Только апишки нужных библиотек подучить)
Я бы сказал, что Михаил джун+
@PurpleSchool
9 ай бұрын
Да, на тот момент ближе к Junior
Сложные вопросы
по-моему это ни разу не мидл блеать, хотя я посмотрел минут 5 в середине, но это сразу видно
А так мужичок не прошёл
Не хочу обидеть соискателя, но сдаётся мне, с позиции iOS разработчика, чувак не middle всё таки
Что за длинный перебор массива который блокирует event loop что за бредни Забудьте про форич
@PurpleSchool
2 жыл бұрын
Если тебе необходимо в потоке скажем сделать группировку данных, а потом к этим данным сделать join второго массива данных. Чем бы ты его не перебирал, map, for, forEach, это будет выполняться в основном потоке, блокируя его. Любые тяжелые вычислительные операции в потоке его блокируют.
@steel1004
2 жыл бұрын
@@PurpleSchool если внутри for of будет await то он не заблочит event loop и всё будет ок const { setTimeout: setTimeoutPromise } = require('node:timers/promises'); const resArr = [..........] for (const e of resArr) { await setTimeoutPromise(1000) } а вот если внутри forEach будет await то считай пиши пропало (event loop будет ждать пока весь массив переберет все свои await) resArr.forEach(async(e) => { await setTimeoutPromise(1000) }) это происходит за счет того что for of это цикл на итераторах, а forEach непойми что вызывающее cb у каждого элемента массива да еще который нельзя остановить.
@user-tm5ow3et4l
2 жыл бұрын
@@steel1004 С forEach await не работает ибо forEach, filter - синхронные
@steel1004
2 жыл бұрын
@@user-tm5ow3et4l await работает с форич смотри код который я привёл
@sviatoslavhulko4758
7 ай бұрын
@@steel1004 Вы наверное не совсем корректно поняли идею автора. Имелось ввиду что внутри самого цикла будут запускаться какие-то синхронные операции, а не асинхронные. Именно это и заблокирует поток. Поэтому await тут наверное не совсем к месту
А middle то поддельный!
Считаю себя джуном (год продакшен опыта), но даже для меня кажется НЕ нормальным не знать о package-lock для npm ci. Применение паттернов на практике (фабрич метод, абстракт фабрика, синглтон, фасад и т д). Путать паттерны и принципы. Не может даже элементарно назвать временную сложность обхода матрицы (O^2) (а это рассказывают чуть ли не в школе!! не говоря уже об уровне мидла). И этот человек считает себя миддлом...... Видимо вот таких миддлов из ищут на вакансию "Миддл разработчик 60к на руки". И хочется спросить почему не было вопросов касаемо Docker / Kubernetes, SQL вопросы advanced уровня ?
@PurpleSchool
Жыл бұрын
Я знаю что Docker и Kubernetes человек точно не знает, поэтому не спрашивал. А SQL не дошли)
@alexandrkazakov723
3 ай бұрын
Обход матрицы имеет сложность по времени O(n * m) а не O(n^2)
@Mauzzz0
3 ай бұрын
ну ты ведь понял, что я имел в виду частный случай, когда n=m....@@alexandrkazakov723
когда они иностранные слова склоняют - уши вянут...
Я бы отказал такому кандидату, как мидл не может знать базы про паттерны
Вообще не мидл, джун
"Декораторы используются с методами". What? Декоратор это один из паттернов проектирования.
@PurpleSchool
Жыл бұрын
Декоратор как и паттерн, так и название функций, со специальным обозначением реализующий паттерн в TypeScript, который можно использовать в классами, свойствами и методами.
@kaifaty
Жыл бұрын
@@PurpleSchool нет никаких проблем создать функцию декоратор которая будет декоририровать не методы, а функции. Без привязки к тайпскрипту.
@PurpleSchool
Жыл бұрын
Конечно, но мы же обсуждали именно ts декораторы.
Извиние, но кандидату однозначно дизлайк. Очень слабая база и много ничем не подтвержденных возражений
мидл-теоретик и то не до конца...
Какое отношение имеет TS к Node ? Кому этот костыль для безруких нужен? Только фронтовики пытаются всунуть его везде :-) Этот "специалист" со скрипом на джуна тянет, какой там мидл? Он вообще не понимает как работает нода и как на ней писать :-) PG и гемморой? Правда? Монго - ущербный бред ТОЛЬКО для не структурированных данных. Если у вас классы - значит структура и можно нормализовать и использовать RDBMS.
@PurpleSchool
3 ай бұрын
Попробуйте без него написать большое приложение поддерживать и рефакторить. TS уже стандарт, которые требуют в любой компании, посмотрите на вакансии.
айтишный мир еще не придумал, видать, как завершить собес после того как уже точно понял, что этого хватит. Все такие милашки, но кто-то должен сказать - ты не от что не мидл, ты до джуна не дотягиваешь
Чувак, возвращайся лучше на 1С
чел, уходи из кода. иди в мачдоналдс
Вывод, отвечайте только на конкретный вопрос, не добавляйте ничего более, а то потом еще вопросы будут
Оптимизатор 😊