💡 Node.js - Разбор вопросов для собеседования на бекенд инженера и прикладного разработчика

Поділитися
Вставка
  • Опубліковано 25 вер 2024
  • 🚀 Из курсов Node.js 2024 и Async 2024:
    👉 Полный список вопросов: github.com/tsh...
    👉 Node.js 2024 описание курса: github.com/How...
    👉 Открытый курс по Node.js: github.com/How...
    👉 Описание курса Async 2024: github.com/How...
    👉 Старый курс по асинхронности: github.com/How...
    👉 Оглавление всех открытых лекций: github.com/How...
    👉 Github автора: github.com/tsh...

КОМЕНТАРІ • 43

  • @ДмитрийИванов-з8з2м
    @ДмитрийИванов-з8з2м 3 місяці тому +13

    Золотое видео, добавил в избранное
    Тимур, спасибо вам

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +1

      Это 20 из 115 вопросов

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +2

      В описании есть ссылка на репозиторий с вопросами

  • @АлександрТкаченко-п1ф
    @АлександрТкаченко-п1ф 3 місяці тому +2

    Класс, спасибо большое за такой информативный стрим😊. Я совсем с немногим сталкивался из того что рассказывали, - только недавно зачислили на обучение по Ноде)

  • @arkhipov-ms
    @arkhipov-ms 3 місяці тому +7

    00:00 Введение
    01:40 Что можно сделать с помощью `for await` с объектом `request: IncomingMessage`?
    03:47 Чем в ноде нативно хешировать пароли и в каких случаях для этого нужны завимости?
    05:45 Какое API реализует `nodejs/undici`?
    07:22 Чем современным заменить node:domain API?
    09:46 Когда мы можем использовать синхронные версии операций с файлами из `node:fs` вместо асинхронных и на что обращать внимаиние, применяя такое решение?
    22:28 Приведите лучшие практики для обработки ошибок в асинхронном коде.
    Асинхронные функции, async/await, thenable, обработка ошибок: ua-cam.com/video/Jdf_tZuJbHI/v-deo.html
    36:30 Как в проектах на ноде погут появиться уязвимости? Объясните на выбор XSS, Path traversal, SQL injection, CSRF? Как от них защищаться?
    43:10 Как возможно состояние гонки (race condition) в асинхронном программировании? И как от этого защищаться?
    58:03 В чём плюсы и минусы разделения кода на .js и отдельно тайпинги .d.ts?
    1:13:02 Приведите пример несколько типичных для Node.js паттернов проектирования (по GoF и не только) с примерами.
    1:23:11 В чём заключается проблема толстых контроллеров? (с примерами на ноде)
    1:28:54 Приведите примеры протекания абстракций (типичных для ноды).
    1:31:25 Как можно создать Singleton с помощью системы модульности в ноде?
    Полный ответ: 1:18:29
    1:31:41 Как проще всего реализовать паттерн Strategy на JavaScript (и где его использовать в ноде)?
    1:35:46 Приведите пример паттерна Adapter из встроенных библиотек ноды (есть несколько).
    1:38:15 Какой паттерн проектирования реализует EventEmitter?
    1:38:29 Как связаны контракты EventEmitter и Readable?
    1:39:22 Какие вы можете привести антипаттерны (или примеры плохого стиля) программирования для node.js?
    1:42:53 Зачем нам следующие поля Error: error.cause, error.code, error.message, error.stack?
    1:45:34 Как скопировать папку с вложенными файлами и папками с помощью node:fs?
    1:46:15 Конец

  • @vaniysha1992
    @vaniysha1992 2 місяці тому +1

    Тимур, спасибо Вам. Вас даже просто приятно прослушать даже в отрыве от лекции :)

  • @Nerossoul
    @Nerossoul 21 день тому +1

    Я написал себе кастомную ошибку которая под капотом парсит стектрейс и сохраняет в себе имя класса и имя методе где она инстанцировалась.
    Удобно я сразу вижу в каком сервисе какой класс ошибку вызвал.

  • @uCryNet
    @uCryNet 3 місяці тому +3

    Кращий! Дякую

  • @CodeBeep
    @CodeBeep 3 місяці тому +6

    З таймкодами було би супер

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +2

      Якщо хто зробить, то я додам

  • @АлександрСосо-щ1б
    @АлександрСосо-щ1б 3 місяці тому +1

    Здравствуйте Тимур! Вы неприемлите middleware конкретно представленные nodejs, или в целом паттерн? Ведь в .net они тоже есть, и успешно выполняют свои задачи...

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +3

      В .net это совершенно другой паттерн, есть целый доклад об этом мой, поищите

  • @viktor-kosenko
    @viktor-kosenko 3 місяці тому +1

    Мене показалось при описании middleware была описана частая реализация в express.js чем сам паттерн. Т.к. сам паттерн не плохой, плохо когда он единственный в проекте )

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому

      Реализация в мире ноды создала хаос. А вот хорошая реализация называется chain of responsibility

  • @artem_travlo
    @artem_travlo Місяць тому

    супер❤

  • @webdev56
    @webdev56 3 місяці тому +1

    Спасибо! Продолжение будет?

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому

      Продолжение на курсе по ноде, а сами вопросы опубликованы в гитхабе, ссылка на репу в описании

  • @raff_m_d6971
    @raff_m_d6971 3 місяці тому

    Спасибо, очень нужное видео

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +1

      Ну это пока 20 из 115 вопросов всего ) github.com/tshemsedinov/NodeJS-Interview-Questions

    • @raff_m_d6971
      @raff_m_d6971 3 місяці тому +1

      @@TimurShemsedinov главное начать )))

  • @АлександрТедер-н5ш
    @АлександрТедер-н5ш 3 місяці тому

    19:40 а можно ли для сериализации-десериализации таких параметров использовать какой-то встроенный алгоритм, типа JSON.parse?

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +1

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

    • @erjigit17
      @erjigit17 3 місяці тому

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

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому

      @@erjigit17 Пароль в базе не храним же, только соль, хеш и настройки алгоритма, это все безопасно, по рекомендациям OWASP, для каждого пользователя разная соль, алгоритмы тоже можем менять по ходу жизни системы, старых пользователей от этого не выгоняем, все ок

  • @MultiVasya
    @MultiVasya 3 місяці тому +1

    можна лінку на коз (обработку помилок) ? Хочу знати що це

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +1

      А, зрозумів вже, сорі, це error.cause, зараз знайду посилання

    • @MultiVasya
      @MultiVasya 3 місяці тому +1

      Так, ви говорили про якусь уніфіковану систему обробки помилок, що свої граблі не потрібно писати

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +1

      Ось приклад: github.com/HowProgrammingWorks/SOLID/blob/48886e865aaf45d80deffeef16fdcb6a5ddcd236/JavaScript/4-ISP/5-optimize.js#L40

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +1

      ​@@MultiVasyaТак, це використання AggregateError + error.cause

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +3

      Тут ще задачка на їх використання github.com/HowProgrammingWorks/Callbacks/blob/master/JavaScript/Tasks/5-errors.js

  • @Manatik
    @Manatik 3 місяці тому

    Качественный контент

  • @boyywnkobe
    @boyywnkobe 3 місяці тому

    Го огляд на бан

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +1

      Это не какая-то отдельная штука, чтоб об этом говорить. Просто альтернативный рантайм, коих море

  • @АрнольдШтайнмайнер
    @АрнольдШтайнмайнер 3 місяці тому +6

    ITшник, а седой, как три войны прошел

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +24

      Много ревью кода делал.

    • @АрнольдШтайнмайнер
      @АрнольдШтайнмайнер 3 місяці тому +1

      @@TimurShemsedinov Какое политкорректное исправление )))

    • @TimurShemsedinov
      @TimurShemsedinov  3 місяці тому +10

      ​@@АрнольдШтайнмайнерэх, если я расскажу ревью чего я делал...

    • @egodzb
      @egodzb 3 місяці тому

      «Ревью кода!» Как красиво «повидал говна» завуалировал!)

    • @denysalamanca5418
      @denysalamanca5418 3 місяці тому

      На js так)))