🎧 Публичное собеседование #11: Backend, Node.js, Nest, Patterns, Prisma, JavaScript, API, Security
Vložit
- čas přidán 15. 06. 2022
- Патреон: / tshemsedinov
Github автора: github.com/tshemsedinov
0:09 о респонденте
0:55 на чем кроме js писал?
2:26 основная киллер-фича node.js
3:34 техническая основа node.js
6:18 возможности по распараллеливанию кода, разница между cluster и child process
7:52 как будут распределяться сокеты между мастером и чайлдами?
8:56 взаимодействие node с бд
13:00 где используешь метаданные?
16:15 системы модульности в node и фронте, require
21:15 динамические импорты
22:45 DDD, чистая архитектура, best practices
26:05 идея сервисов, разделения приложения на слои
28:25 взаимодействие с фронтендом
36:28 o graphQl
37:48 rpc
40:04 вопрос Тимуру: изменение требований к metarhia
44:00 как вы решаете вопросы с безопасностью?
45:30 http, fetch, undici
48:25 security issue связанные с безопасностью
51:46 метрики
56:00 управление памятью
57:43 паттерны
1:06:25 как и где работает Тимур?
1:09:40 проблема bus фактора на проекте
1:11:33 вопрос Тимуру: o bridge в паттернах
1:16:08 на что Тимур обращает внимание на собеседованиях?
1:19:50 итоги
0:09 о респонденте
0:55 на чем кроме js писал?
2:26 основная киллер-фича node.js
3:34 техническая основа node.js
6:18 возможности по распараллеливанию кода, разница между cluster и child process
7:52 как будут распределяться сокеты между мастером и чайлдами?
8:56 взаимодействие node с бд
13:00 где используешь метаданные?
16:15 системы модульности в node и фронте, require
21:15 динамические импорты
22:45 DDD, чистая архитектура, best practices
26:05 идея сервисов, разделения приложения на слои
28:25 взаимодействие с фронтендом
36:28 o graphQl
37:48 rpc
40:04 вопрос Тимуру: изменение требований к metarhia
44:00 как вы решаете вопросы с безопасностью?
45:30 http, fetch, undici
48:25 security issue связанные с безопасностью
51:46 метрики
56:00 управление памятью
57:43 паттерны
1:06:25 как и где работает Тимур?
1:09:40 проблема bus фактора на проекте
1:11:33 вопрос Тимуру: o bridge в паттернах
1:16:08 на что Тимур обращает внимание на собеседованиях?
1:19:50 итоги
С одним Тимуром сложно наверное собеседование пройти а тут его аж два
Второй правда молчал в основном, но всё же)
Ха, топчик
Орнул
Крутой собес
Гайз , звук слака триггерит очень сильно)) думал уже по работе дёргают
Я очень рад что я посмотрел это видео, спасибо вам огромное за вашу работу!
Спасибо большое за такой качественный материал. Красота!
Это прям очень хорошо, затронули несколько холиварных тем, где можно было бы языками зацепится, но на то они и холиварные, а так прям рука мастера видна... если мне в свое время такой багаж знаний я бы много граблей обошел, хотя сейчас и JS уже другой...
Спасибо за интервью, было интересно.
Хотелось бы видеть включенную камеру и от интервьюера. Видно как некомфортно парню - не знает куда смотреть, взгляд мечется, диалог получается неполноценный, да и зрителю это +100 к сложности восприятия.
В целом да, смотреть на аватарку в компьютере бессмысленно, она не даёт визуальной обратной связи. А так просто виден мыслительный процесс.
Круть! Спасибо за работу
очень классный разговор получился!
Фраза - "Если при разговоре с человеком, было выявлено сознание" меня порвала) Долго смеялся)
ты как-то очень легко рвешься
@@alazarnfreeman9216 а представь как после болта рвется 😂😂😂😂😂😂😂😂😂🤣🤣🤣🤣🤣
Настало время и мне Шемсединова смотреть, раньше было слишком сложно)
Хорошее интервью.
В призме используется sdl для облегчения работы с кодогенерацией. Призма существует не только для nodejs, но и для других ЯП)
В призме можно сделать декораторы, так как sdl можно расширять и писать свои генераторы)
Спасибо, было интересно посмотреть, особенно, когда человек с опытом. Заметил, что во многих интервью, вопросы повторяются и ссылаются на тех. стек Метархии, ( по архитектуре, модульности, DI, контекст, паттерны, воркер треды ). Можно немного разнообразить и добавить пару задач на понимание структур данных, паттернов, т.е, чтоб из условия задач, человек накидал немного кода
Я не требую лайкодинга на интервью, а Метархия это один из трех приличных способов писать на ноде
@@TimurShemsedinov Спасибо. А оставшиеся два способа какие?
@@user-tv2hs5rs4t 2 - на чистой ноде писать и 3 - если хорошо знать DDD, GRASP, SOLID, применять IoC, DI, GoF и т.д. то можно поверх чего угодно написать хорошо, заизолировать опасные эффекты
Нужно больше интервью 😁
Крутий собес. В расслабленном режиме. Да Тимур прав насчет того как проводить собесы. А не тупо задрочить теорий и начинать копать там где видно что разраб плохо помнит или слабо понимает
Экономия на установлении соединения используя вебсокеты не будет, потому что хттп версией больше 1.0, соединение держат и переиспользуют постоянно, практически пока вкладка открыта. Проблема подхода переехать на вебсокеты с хттп обычно в том что есть куча внешнего софта у которых уже готово всё, бери и используй, но только для хттп, например прометеус, а для вебсокетов нужно будет своё городить.
Спасибо за видео
это не интервью на хайпе вопросов. этот контент будет еще долго актуален
Надеюсь это видео посмотрят люди проводящие интервью. А то кажется, что всем важно, что бы кандидат знал наизусть solid и другие паттерны. А так же странные вопросы про область видимости var.
Я еще не смотрел собес, но ваше сообщение очень странное. Как понимание принципов solid, паттернов и вопросы про основы JS может быть не важным? Наизучить их знать не нужно и даже вредно, а перечислить несколько принципов и паттернов нужно уметь. Я всегда задаю эти вопросы и это основа основ, которая как раз и отличает настоящих специалистов от макак, которые прошли один курс на ютубе по какому-то фреймворку и считают, что выше упомянутое вообще не важно
ну одного гения ты уже призвал сюда (@@stewart6395)
Просто рыдал от смеха: "Если при разговоре выявлено сознание..." :-D
Чувствуется ваша школа.
Разговор двух профессионалов, браво :)
Как я понимаю, Никита, тот человек, который проходил курс Метархии?
Учился у меня в КПИ
@@TimurShemsedinov 👏👏ох)
Спасибо за насыщенное интервью, буду проходить ваш курс!
Очень умный молодой человек
да, чувствую себя валенком полным.
Тимура 2, но этого все равно мало!
48:22 «новый» fetch в ноде реализован поверх undici кстати, и с ним при большом количестве запросов (и если сервер часто отвечает на них 503). node_fetch постабильнее работает.
В новый тайпорм добавили теже фишки что и в призме, система активно развивается. В призме было куча моментов с костылями в то время как с тайпорм все решалось естественным образом. Обе стстемы развиваются и обе по своему хороши.
не ври себе)
тайпорм это шлак полный
@@eugenefedoryachenko8793Ляпнул лишь бы ляпнуть, молодец.
@@svk29 что там хорошего? Кривой query builder? Который делает любой запрос не читаемым, не поддерживаемым и не типизируемым?
Или 100500 вариантов решения задачи, которые приходится использовать потому, что тайпорм не умеет в адекватную пагинацию?
Или то что она не умеет в миграции?
Уж лучше knex брать, если не хочется в кодогенерацию лезть
@@eugenefedoryachenko8793 Из коммента вижу ты просто не разобрался в теме, плохому танцору...
@@svk29 я уже полтора года знатно хлебай говна от тайп орм, так что времени разобраться у меня было предостаточно. Я так пишу, потому, что это действительно ужасный инстурмент на фоне конкурентов
Тимур, у вас на канале есть видео, в котором вы разбираете чистую архитектуру? Сейчас поищу, но если не затруднить, поделитесь ссылкой или названием ролика.
Много таких есть, в основном на конференциях или интервью, но ссылки под рукой нет, все есть в индексе видео в гитхабе
Призма приобщает к GO синтаксису ))
А Public Interview #10 не было или я не вижу просто?
Было, но часть интервью, семинаров и ревью кода доступны только подписчикам с Патреона
@@TimurShemsedinov Понял. Спасибо за информацию 🙂
Подскажите в одном из ваших интервью, слышал , что вы собираетесь написать приложение на node, fastify, nest и показать как вы себе представляете хороший код на фреймворках? Где то есть уже такое?
На курсе по ноде написали часть, но потом сделали перерыв на лекции по асинхронному программированию и вот сейчас вернулись писать дальше большой пример ERP системы
@@TimurShemsedinov интересно, а то мне в ближайшее время выходить на новую работу, бэкенд там на несте, а у меня основной опыт с php и react-ом, а опыт с нодой - это курсы по основам ноды и по основам неста, пройденные в прошлом году. ну и небольшой коммерческий опыт с проектом на ноде + express, доставшимся на поддержку в прошлой компании, вот сейчас опять вспоминаю nest сижу, хорошо бы представлять, что такое хорошо написанное приложение на нем. Даже если в будущем такое появится, будет очень здорово, хотелось бы стремиться к лучшему :)))
@@sashas.3323 це подивіться czcams.com/video/-az912XBCu8/video.html
@@TimurShemsedinov ,большое спасибо, посмотрю!
юзаем на проекте typeorm и всё ок, с чем там проблемы были ?
С тем, что ни какой пользы не несет
Прям больших проблем нет, но лично я сталкивался с тем, что они от версии к версии меняют свой api. И по факту мажорной версии до сих пор нет(
Ну и с миграциями муть, приходится через ts-node выполнять cli.js из node_modules/typeorm.
@@hgfyos эм, странно конечно, мы просто юзаем connection.runMigrations и всё
Це на мідл плюс розробника інтер'ю?
Junior
Речь шла о Prisma io, кто подскажет, как бороться с состоянием гонки при использовании призмы, работа с транзакциями в ней очень ограничена, какие есть способы, блокировки?
45:50 почему «ундиши»?? когда он «Ундичи» - от итальянского «11»
ми скузи ил диалекто лигорнезе
Ну вместо npm думаю скоро уже bun будет
Разница в импортах с точки зрения кеша, это персональная проблема NodeJs, которая(комитет Node) до сих пор не знает как ее разрешить.
Откуда вылезла проблема.
Проблема эта связана с тем, как Люди развивающие Node вступили в конфликт с людьми из TC39 которые регламентируют JavaScript.
Как следствие, то говно, что сделали программисты Node для импорта модулей - ( а это реальное говно) вошло в прямой конфликт с говном от TC39 которое говно только от части.
При этом лучшее, что сделало TC39 это свое говно завернуло в промисы, на что недопрограммисты от Node оказались не способны.
Как итог: Все неправы. И Tc39 и node. Только стандарт от TC39 он же официальный стандарт JavaScript оказался универсальным. А говно от Node - нет.
И конкретно в этом конфликте, я считаю что TC39 правы. А Node должна идти курсом русского корабля. Потому, что стандарт TC39 дает возможность развития, а стандарт от комитета Node этого не дает и прибивает гвоздями то, что им захотелось.
Зря вы так про graphql . За ним будущее
Тупиковая идея
@@TimurShemsedinov работаю в Штатах. Здесь это уже стандарт для всех новых проектов. Все тренды долетят и до вас.
GraphQl это супер удобно и сокращает несколько слоев избыточной логики.
Можете сформулировать, где вы узрели тупик?
Мдаа а уж у дадашки бабашки и повелителя node js так мало просмотров очень жаль☹️
Чем выше качества у контента, тем ниже просмотра. Это не новость))
как по мне собеседуемый находится на уровне знаний Джуна, с первых слов про потоки видно что для него это недоступная абстракция чего-то там.. так же как и тупое перечисление в начале количества разных языков, как по мне опять же суть упускется и понимания ноль ну или около нуля.
а как вам такой собес: 1 задачка с литкода - решил, разговариваем дальше, нет - пока?
Задачки с литкода вообще ни о чем, это как олимпиадное программирование, алгоритмы или лабы из универа, человек может натренироваться их делать, а реальные задачи потребуют от него совсем других навыков, более комплексных и понимания больших кусков кода, ну хоть в 2-3 тыс строк. Ну а отсутствие фидбека на собесе - это хамство конечно.
Який лінукс використовуєте і яка його версія? Просто цікаво. @Timur Shemsedinov
Linux Fedora а версия сейчас 35, но они обновляются прозрачно
@@TimurShemsedinov дякую.
русский язык забыл?
9:53 - "сначала взяли тайпорм.... " и там было все так плохо, что ... - так сложно, в общем было, "простое" делать на ОРМ, а "сложное" написать прямыми запросами к БД на SQL ? - парень умный, но ум от хорошей памяти, в общем, а не от интеллекта.