🎧 Публичное собеседование #11: Backend, Node.js, Nest, Patterns, Prisma, JavaScript, API, Security

Sdílet
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 итоги

Komentáře • 83

  • @antontelichenko2102
    @antontelichenko2102 Před 2 lety +26

    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 итоги

  • @RedStounMk
    @RedStounMk Před 2 lety +126

    С одним Тимуром сложно наверное собеседование пройти а тут его аж два

    • @RedStounMk
      @RedStounMk Před 2 lety +23

      Второй правда молчал в основном, но всё же)

    • @fuad2069
      @fuad2069 Před 2 lety +3

      Ха, топчик

    • @dkushka
      @dkushka Před rokem +2

      Орнул

  • @dmytriysmirnov8924
    @dmytriysmirnov8924 Před rokem +13

    Крутой собес
    Гайз , звук слака триггерит очень сильно)) думал уже по работе дёргают

  • @antowamulyarchik370
    @antowamulyarchik370 Před rokem +7

    Я очень рад что я посмотрел это видео, спасибо вам огромное за вашу работу!

  • @dzmitryl.8506
    @dzmitryl.8506 Před rokem +6

    Спасибо большое за такой качественный материал. Красота!

  • @jankaban2871
    @jankaban2871 Před 2 lety +8

    Это прям очень хорошо, затронули несколько холиварных тем, где можно было бы языками зацепится, но на то они и холиварные, а так прям рука мастера видна... если мне в свое время такой багаж знаний я бы много граблей обошел, хотя сейчас и JS уже другой...

  • @PavelLitkinBorisovich
    @PavelLitkinBorisovich Před 2 lety +4

    Спасибо за интервью, было интересно.

  • @veronikas.1347
    @veronikas.1347 Před 2 lety +28

    Хотелось бы видеть включенную камеру и от интервьюера. Видно как некомфортно парню - не знает куда смотреть, взгляд мечется, диалог получается неполноценный, да и зрителю это +100 к сложности восприятия.

    • @green.616
      @green.616 Před 2 lety

      В целом да, смотреть на аватарку в компьютере бессмысленно, она не даёт визуальной обратной связи. А так просто виден мыслительный процесс.

  • @user-cl5jm2kp3d
    @user-cl5jm2kp3d Před 2 lety +5

    Круть! Спасибо за работу

  • @LutNurakhmetov
    @LutNurakhmetov Před 2 lety +4

    очень классный разговор получился!

  • @alex_akuna
    @alex_akuna Před 2 lety +15

    Фраза - "Если при разговоре с человеком, было выявлено сознание" меня порвала) Долго смеялся)

    • @alazarnfreeman9216
      @alazarnfreeman9216 Před 10 měsíci +3

      ты как-то очень легко рвешься

    • @ilyaincrypt0
      @ilyaincrypt0 Před 6 měsíci +1

      @@alazarnfreeman9216 а представь как после болта рвется 😂😂😂😂😂😂😂😂😂🤣🤣🤣🤣🤣

  • @dobryden7196
    @dobryden7196 Před 3 měsíci +1

    Настало время и мне Шемсединова смотреть, раньше было слишком сложно)

  • @sergeyosipov2114
    @sergeyosipov2114 Před 2 lety +2

    Хорошее интервью.

  • @eugenefedoryachenko8793
    @eugenefedoryachenko8793 Před rokem +5

    В призме используется sdl для облегчения работы с кодогенерацией. Призма существует не только для nodejs, но и для других ЯП)
    В призме можно сделать декораторы, так как sdl можно расширять и писать свои генераторы)

  • @dromix_ai
    @dromix_ai Před 2 lety +7

    Спасибо, было интересно посмотреть, особенно, когда человек с опытом. Заметил, что во многих интервью, вопросы повторяются и ссылаются на тех. стек Метархии, ( по архитектуре, модульности, DI, контекст, паттерны, воркер треды ). Можно немного разнообразить и добавить пару задач на понимание структур данных, паттернов, т.е, чтоб из условия задач, человек накидал немного кода

    • @TimurShemsedinov
      @TimurShemsedinov  Před 2 lety +2

      Я не требую лайкодинга на интервью, а Метархия это один из трех приличных способов писать на ноде

    • @user-tv2hs5rs4t
      @user-tv2hs5rs4t Před 2 lety +1

      @@TimurShemsedinov Спасибо. А оставшиеся два способа какие?

    • @TimurShemsedinov
      @TimurShemsedinov  Před 2 lety +9

      @@user-tv2hs5rs4t 2 - на чистой ноде писать и 3 - если хорошо знать DDD, GRASP, SOLID, применять IoC, DI, GoF и т.д. то можно поверх чего угодно написать хорошо, заизолировать опасные эффекты

  • @demetrx7972
    @demetrx7972 Před 6 měsíci

    Нужно больше интервью 😁

  • @Andrey-ws7nd
    @Andrey-ws7nd Před rokem +11

    Крутий собес. В расслабленном режиме. Да Тимур прав насчет того как проводить собесы. А не тупо задрочить теорий и начинать копать там где видно что разраб плохо помнит или слабо понимает

  • @xxxxPomaHxxxx
    @xxxxPomaHxxxx Před 2 lety +8

    Экономия на установлении соединения используя вебсокеты не будет, потому что хттп версией больше 1.0, соединение держат и переиспользуют постоянно, практически пока вкладка открыта. Проблема подхода переехать на вебсокеты с хттп обычно в том что есть куча внешнего софта у которых уже готово всё, бери и используй, но только для хттп, например прометеус, а для вебсокетов нужно будет своё городить.

  • @Velichkina_a
    @Velichkina_a Před 11 měsíci

    Спасибо за видео

  • @slaviksemen4919
    @slaviksemen4919 Před 5 dny +1

    это не интервью на хайпе вопросов. этот контент будет еще долго актуален

  • @davransat
    @davransat Před 2 lety +14

    Надеюсь это видео посмотрят люди проводящие интервью. А то кажется, что всем важно, что бы кандидат знал наизусть solid и другие паттерны. А так же странные вопросы про область видимости var.

    • @stewart6395
      @stewart6395 Před rokem

      Я еще не смотрел собес, но ваше сообщение очень странное. Как понимание принципов solid, паттернов и вопросы про основы JS может быть не важным? Наизучить их знать не нужно и даже вредно, а перечислить несколько принципов и паттернов нужно уметь. Я всегда задаю эти вопросы и это основа основ, которая как раз и отличает настоящих специалистов от макак, которые прошли один курс на ютубе по какому-то фреймворку и считают, что выше упомянутое вообще не важно

    • @mnemonicpie
      @mnemonicpie Před 10 měsíci

      ну одного гения ты уже призвал сюда (@@stewart6395)

  • @antonnaumenko2250
    @antonnaumenko2250 Před rokem +1

    Просто рыдал от смеха: "Если при разговоре выявлено сознание..." :-D

  • @erjigit17
    @erjigit17 Před 2 lety +7

    Чувствуется ваша школа.

  • @vyacheslavbondarev8812
    @vyacheslavbondarev8812 Před rokem +7

    Разговор двух профессионалов, браво :)
    Как я понимаю, Никита, тот человек, который проходил курс Метархии?

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem +12

      Учился у меня в КПИ

    • @vyacheslavbondarev8812
      @vyacheslavbondarev8812 Před rokem +4

      @@TimurShemsedinov 👏👏ох)
      Спасибо за насыщенное интервью, буду проходить ваш курс!

  • @Unnamed-r8x
    @Unnamed-r8x Před 8 měsíci +1

    Очень умный молодой человек

    • @pvttrix
      @pvttrix Před 8 měsíci +2

      да, чувствую себя валенком полным.

  • @zhenia14
    @zhenia14 Před 2 lety +5

    Тимура 2, но этого все равно мало!

  • @couragic
    @couragic Před 11 měsíci

    48:22 «новый» fetch в ноде реализован поверх undici кстати, и с ним при большом количестве запросов (и если сервер часто отвечает на них 503). node_fetch постабильнее работает.

  • @svk29
    @svk29 Před 2 lety +3

    В новый тайпорм добавили теже фишки что и в призме, система активно развивается. В призме было куча моментов с костылями в то время как с тайпорм все решалось естественным образом. Обе стстемы развиваются и обе по своему хороши.

    • @eugenefedoryachenko8793
      @eugenefedoryachenko8793 Před rokem

      не ври себе)
      тайпорм это шлак полный

    • @svk29
      @svk29 Před rokem +5

      @@eugenefedoryachenko8793Ляпнул лишь бы ляпнуть, молодец.

    • @eugenefedoryachenko8793
      @eugenefedoryachenko8793 Před rokem

      @@svk29 что там хорошего? Кривой query builder? Который делает любой запрос не читаемым, не поддерживаемым и не типизируемым?
      Или 100500 вариантов решения задачи, которые приходится использовать потому, что тайпорм не умеет в адекватную пагинацию?
      Или то что она не умеет в миграции?
      Уж лучше knex брать, если не хочется в кодогенерацию лезть

    • @svk29
      @svk29 Před rokem +3

      @@eugenefedoryachenko8793 Из коммента вижу ты просто не разобрался в теме, плохому танцору...

    • @eugenefedoryachenko8793
      @eugenefedoryachenko8793 Před rokem

      @@svk29 я уже полтора года знатно хлебай говна от тайп орм, так что времени разобраться у меня было предостаточно. Я так пишу, потому, что это действительно ужасный инстурмент на фоне конкурентов

  • @thesunrock
    @thesunrock Před rokem

    Тимур, у вас на канале есть видео, в котором вы разбираете чистую архитектуру? Сейчас поищу, но если не затруднить, поделитесь ссылкой или названием ролика.

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem +1

      Много таких есть, в основном на конференциях или интервью, но ссылки под рукой нет, все есть в индексе видео в гитхабе

  • @sezam-zz6lf
    @sezam-zz6lf Před rokem +1

    Призма приобщает к GO синтаксису ))

  • @allpavel
    @allpavel Před 2 lety +3

    А Public Interview #10 не было или я не вижу просто?

    • @TimurShemsedinov
      @TimurShemsedinov  Před 2 lety +1

      Было, но часть интервью, семинаров и ревью кода доступны только подписчикам с Патреона

    • @allpavel
      @allpavel Před 2 lety +1

      @@TimurShemsedinov Понял. Спасибо за информацию 🙂

  • @sashas.3323
    @sashas.3323 Před 4 měsíci +1

    Подскажите в одном из ваших интервью, слышал , что вы собираетесь написать приложение на node, fastify, nest и показать как вы себе представляете хороший код на фреймворках? Где то есть уже такое?

    • @TimurShemsedinov
      @TimurShemsedinov  Před 4 měsíci

      На курсе по ноде написали часть, но потом сделали перерыв на лекции по асинхронному программированию и вот сейчас вернулись писать дальше большой пример ERP системы

    • @sashas.3323
      @sashas.3323 Před 4 měsíci

      @@TimurShemsedinov интересно, а то мне в ближайшее время выходить на новую работу, бэкенд там на несте, а у меня основной опыт с php и react-ом, а опыт с нодой - это курсы по основам ноды и по основам неста, пройденные в прошлом году. ну и небольшой коммерческий опыт с проектом на ноде + express, доставшимся на поддержку в прошлой компании, вот сейчас опять вспоминаю nest сижу, хорошо бы представлять, что такое хорошо написанное приложение на нем. Даже если в будущем такое появится, будет очень здорово, хотелось бы стремиться к лучшему :)))

    • @TimurShemsedinov
      @TimurShemsedinov  Před 4 měsíci

      @@sashas.3323 це подивіться czcams.com/video/-az912XBCu8/video.html

    • @sashas.3323
      @sashas.3323 Před 4 měsíci

      @@TimurShemsedinov ,большое спасибо, посмотрю!

  • @deathwingdeath8060
    @deathwingdeath8060 Před 2 lety +3

    юзаем на проекте typeorm и всё ок, с чем там проблемы были ?

    • @TimurShemsedinov
      @TimurShemsedinov  Před 2 lety +3

      С тем, что ни какой пользы не несет

    • @hgfyos
      @hgfyos Před 2 lety +1

      Прям больших проблем нет, но лично я сталкивался с тем, что они от версии к версии меняют свой api. И по факту мажорной версии до сих пор нет(
      Ну и с миграциями муть, приходится через ts-node выполнять cli.js из node_modules/typeorm.

    • @deathwingdeath8060
      @deathwingdeath8060 Před 2 lety +1

      @@hgfyos эм, странно конечно, мы просто юзаем connection.runMigrations и всё

  • @taras7844
    @taras7844 Před 2 lety

    Це на мідл плюс розробника інтер'ю?

  • @mymanio9899
    @mymanio9899 Před 2 lety +2

    Речь шла о Prisma io, кто подскажет, как бороться с состоянием гонки при использовании призмы, работа с транзакциями в ней очень ограничена, какие есть способы, блокировки?

  • @couragic
    @couragic Před 11 měsíci

    45:50 почему «ундиши»?? когда он «Ундичи» - от итальянского «11»

    • @TimurShemsedinov
      @TimurShemsedinov  Před 11 měsíci +3

      ми скузи ил диалекто лигорнезе

  • @arsen0583
    @arsen0583 Před 4 měsíci

    Ну вместо npm думаю скоро уже bun будет

  • @demimurych1
    @demimurych1 Před 7 měsíci +1

    Разница в импортах с точки зрения кеша, это персональная проблема NodeJs, которая(комитет Node) до сих пор не знает как ее разрешить.
    Откуда вылезла проблема.
    Проблема эта связана с тем, как Люди развивающие Node вступили в конфликт с людьми из TC39 которые регламентируют JavaScript.
    Как следствие, то говно, что сделали программисты Node для импорта модулей - ( а это реальное говно) вошло в прямой конфликт с говном от TC39 которое говно только от части.
    При этом лучшее, что сделало TC39 это свое говно завернуло в промисы, на что недопрограммисты от Node оказались не способны.
    Как итог: Все неправы. И Tc39 и node. Только стандарт от TC39 он же официальный стандарт JavaScript оказался универсальным. А говно от Node - нет.
    И конкретно в этом конфликте, я считаю что TC39 правы. А Node должна идти курсом русского корабля. Потому, что стандарт TC39 дает возможность развития, а стандарт от комитета Node этого не дает и прибивает гвоздями то, что им захотелось.

  • @nikitapolevoi
    @nikitapolevoi Před 8 měsíci

    Зря вы так про graphql . За ним будущее

    • @TimurShemsedinov
      @TimurShemsedinov  Před 8 měsíci

      Тупиковая идея

    • @nikitapolevoi
      @nikitapolevoi Před 8 měsíci

      @@TimurShemsedinov работаю в Штатах. Здесь это уже стандарт для всех новых проектов. Все тренды долетят и до вас.
      GraphQl это супер удобно и сокращает несколько слоев избыточной логики.
      Можете сформулировать, где вы узрели тупик?

  • @fuad2069
    @fuad2069 Před rokem

    Мдаа а уж у дадашки бабашки и повелителя node js так мало просмотров очень жаль☹️

    • @TimurSevimli
      @TimurSevimli Před rokem

      Чем выше качества у контента, тем ниже просмотра. Это не новость))

  • @yuriyfse6555
    @yuriyfse6555 Před rokem +2

    как по мне собеседуемый находится на уровне знаний Джуна, с первых слов про потоки видно что для него это недоступная абстракция чего-то там.. так же как и тупое перечисление в начале количества разных языков, как по мне опять же суть упускется и понимания ноль ну или около нуля.

  • @inqvisitor3722
    @inqvisitor3722 Před rokem

    а как вам такой собес: 1 задачка с литкода - решил, разговариваем дальше, нет - пока?

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem +11

      Задачки с литкода вообще ни о чем, это как олимпиадное программирование, алгоритмы или лабы из универа, человек может натренироваться их делать, а реальные задачи потребуют от него совсем других навыков, более комплексных и понимания больших кусков кода, ну хоть в 2-3 тыс строк. Ну а отсутствие фидбека на собесе - это хамство конечно.

  • @OleksandrMasnyi
    @OleksandrMasnyi Před 2 lety +1

    Який лінукс використовуєте і яка його версія? Просто цікаво. @Timur Shemsedinov

    • @TimurShemsedinov
      @TimurShemsedinov  Před 2 lety +2

      Linux Fedora а версия сейчас 35, но они обновляются прозрачно

    • @OleksandrMasnyi
      @OleksandrMasnyi Před 2 lety +1

      @@TimurShemsedinov дякую.

    • @MrGavr007
      @MrGavr007 Před rokem +2

      русский язык забыл?

  • @7bccf6fc22
    @7bccf6fc22 Před 4 měsíci

    9:53 - "сначала взяли тайпорм.... " и там было все так плохо, что ... - так сложно, в общем было, "простое" делать на ОРМ, а "сложное" написать прямыми запросами к БД на SQL ? - парень умный, но ум от хорошей памяти, в общем, а не от интеллекта.