💡 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...
Золотое видео, добавил в избранное
Тимур, спасибо вам
Это 20 из 115 вопросов
В описании есть ссылка на репозиторий с вопросами
Класс, спасибо большое за такой информативный стрим😊. Я совсем с немногим сталкивался из того что рассказывали, - только недавно зачислили на обучение по Ноде)
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 Конец
Тимур, спасибо Вам. Вас даже просто приятно прослушать даже в отрыве от лекции :)
Я написал себе кастомную ошибку которая под капотом парсит стектрейс и сохраняет в себе имя класса и имя методе где она инстанцировалась.
Удобно я сразу вижу в каком сервисе какой класс ошибку вызвал.
Кращий! Дякую
З таймкодами було би супер
Якщо хто зробить, то я додам
Здравствуйте Тимур! Вы неприемлите middleware конкретно представленные nodejs, или в целом паттерн? Ведь в .net они тоже есть, и успешно выполняют свои задачи...
В .net это совершенно другой паттерн, есть целый доклад об этом мой, поищите
Мене показалось при описании middleware была описана частая реализация в express.js чем сам паттерн. Т.к. сам паттерн не плохой, плохо когда он единственный в проекте )
Реализация в мире ноды создала хаос. А вот хорошая реализация называется chain of responsibility
супер❤
Спасибо! Продолжение будет?
Продолжение на курсе по ноде, а сами вопросы опубликованы в гитхабе, ссылка на репу в описании
Спасибо, очень нужное видео
Ну это пока 20 из 115 вопросов всего ) github.com/tshemsedinov/NodeJS-Interview-Questions
@@TimurShemsedinov главное начать )))
19:40 а можно ли для сериализации-десериализации таких параметров использовать какой-то встроенный алгоритм, типа JSON.parse?
Можно, но это очень неэффективно, тут данные, соль и контрольная сумма (если она есть) все имеет точную длину, так что, лучше всего просто склеить строки и их потом и разрезать так же просто и быстро
Мне тут не нравится другое, мы же хеш в базе храним чтобы зашитттся от утечки данных. А тут мы все даем для взлома паролей
@@erjigit17 Пароль в базе не храним же, только соль, хеш и настройки алгоритма, это все безопасно, по рекомендациям OWASP, для каждого пользователя разная соль, алгоритмы тоже можем менять по ходу жизни системы, старых пользователей от этого не выгоняем, все ок
можна лінку на коз (обработку помилок) ? Хочу знати що це
А, зрозумів вже, сорі, це error.cause, зараз знайду посилання
Так, ви говорили про якусь уніфіковану систему обробки помилок, що свої граблі не потрібно писати
Ось приклад: github.com/HowProgrammingWorks/SOLID/blob/48886e865aaf45d80deffeef16fdcb6a5ddcd236/JavaScript/4-ISP/5-optimize.js#L40
@@MultiVasyaТак, це використання AggregateError + error.cause
Тут ще задачка на їх використання github.com/HowProgrammingWorks/Callbacks/blob/master/JavaScript/Tasks/5-errors.js
Качественный контент
Это не контент, а семинар
Го огляд на бан
Это не какая-то отдельная штука, чтоб об этом говорить. Просто альтернативный рантайм, коих море
ITшник, а седой, как три войны прошел
Много ревью кода делал.
@@TimurShemsedinov Какое политкорректное исправление )))
@@АрнольдШтайнмайнерэх, если я расскажу ревью чего я делал...
«Ревью кода!» Как красиво «повидал говна» завуалировал!)
На js так)))