Pytania rekrutacyjne Node.js (Middle) z odpowiedziami

75 pytań na rozmowę rekrutacyjną z tematu Node.js (Middle) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.

Rozwiąż ten test
  1. 1.Która lista pokazuje główne fazy event loop w Node.js we właściwej kolejności?
  2. 2.W jakiej kolejności pojawi się wynik?
  3. 3.Co wykona się pierwsze wewnątrz callbacku I/O (np. w fs.readFile)?
  4. 4.Dlaczego rekurencyjne wywołania process.nextTick mogą być niebezpieczne?
  5. 5.Co domyślnie obsługuje pula wątków libuv?
  6. 6.Handler żądania przez 2 sekundy wykonuje pętlę mocno obciążającą CPU. Co dzieje się z innymi żądaniami?
  7. 7.Co z poniższych może zablokować event loop?
  8. 8.Jak zmierzyć, jak bardzo zajęty jest event loop?
  9. 9.Co robi timer.unref()?
  10. 10.Co robi await setTimeout(1000) zaimportowane z node:timers/promises?
  11. 11.Dlaczego wysyłać plik 2 GB strumieniem, a nie przez readFile?
  12. 12.Jakie są cztery podstawowe typy strumieni w Node.js?
  13. 13.Czym jest backpressure w strumieniach?
  14. 14.Dlaczego stream.pipeline() jest lepszy niż łańcuch .pipe()?
  15. 15.Jak czytać strumień readable linia po linii lub kawałek po kawałku przez async/await?
  16. 16.Czym jest Buffer?
  17. 17.Czym różni się Buffer.alloc(10) od Buffer.allocUnsafe(10)?
  18. 18.Co zwróci Buffer.from("привіт").length?
  19. 19.Czym jest objectMode w strumieniach?
  20. 20.Jak skompresować plik gzipem przy użyciu strumieni?
  21. 21.Co się stanie, gdy EventEmitter wyemituje error, a nie ma listenera error?
  22. 22.Na co zwykle wskazuje ostrzeżenie MaxListenersExceededWarning?
  23. 23.Jak poczekać na jedno zdarzenie jako promise?
  24. 24.Czym różnią się błędy operacyjne od błędów programisty?
  25. 25.Po co przekazywać cause przy ponownym rzucaniu błędu?
  26. 26.Do czego w Node.js służy AbortController?
  27. 27.Dlaczego każde wychodzące żądanie HTTP powinno mieć timeout?
  28. 28.Jak zdefiniować middleware obsługujące błędy w Express?
  29. 29.Co zmieniło się w Express 5 dla handlerów tras async?
  30. 30.Czy kolejność wywołań app.use() w Express ma znaczenie?
  31. 31.Do czego służy express.Router()?
  32. 32.Jaka jest kluczowa cecha Fastify w porównaniu z Express?
  33. 33.Po co walidować dane wejściowe na serwerze, skoro frontend już je sprawdza?
  34. 34.Które metody HTTP są z definicji idempotentne?
  35. 35.Jak dobrze zwracać błędy API w spójnym formacie?
  36. 36.Jak serwować folder plików statycznych w Express?
  37. 37.Jak należy przechowywać hasła?
  38. 38.Co gwarantuje podpis JWT?
  39. 39.Jaka jest częsta wada JWT w porównaniu z sesjami po stronie serwera?
  40. 40.Które atrybuty ciasteczka pomagają chronić ciasteczko sesji?
  41. 41.Dlaczego zapytania SQL muszą używać parametrów zamiast sklejania stringów?
  42. 42.Co robi middleware helmet?
  43. 43.Po co limitować żądania do endpointu logowania?
  44. 44.Jak wygenerować kryptograficznie bezpieczny losowy token?
  45. 45.Jak porównywać sekretny token z żądania z zapisanym?
  46. 46.Po co aplikacje Node.js używają puli połączeń z bazą danych?
  47. 47.Czym jest problem N+1 zapytań?
  48. 48.Kiedy potrzebna jest transakcja w bazie danych?
  49. 49.Czym jest ORM, np. Prisma albo TypeORM?
  50. 50.Która funkcja Node.js pozwala używać SQLite bez instalowania pakietu?
  51. 51.Do czego służą worker threads?
  52. 52.Czym różni się child_process.exec od child_process.spawn?
  53. 53.Co robi child_process.fork()?
  54. 54.Co robi moduł cluster?
  55. 55.Jak zamockować funkcję we wbudowanym test runnerze?
  56. 56.Jak przetestować endpointy aplikacji Express bez uruchamiania prawdziwego serwera na stałym porcie?
  57. 57.Która funkcja node:assert porównuje obiekty po zawartości?
  58. 58.Co The Twelve-Factor App zaleca w sprawie konfiguracji?
  59. 59.Co powinien zrobić serwer Node.js po otrzymaniu SIGTERM?
  60. 60.Po co w logach ID żądania?
  61. 61.Jakich danych nigdy nie wolno zapisywać w logach?
  62. 62.Dlaczego w Dockerfile aplikacji Node.js kopiuje się package.json i lock file przed kodem źródłowym?
  63. 63.Do czego służy endpoint health check, np. /health?
  64. 64.Co robi pole exports w package.json?
  65. 65.Czy kod CommonJS w nowoczesnym Node.js może zrobić require() modułu ES?
  66. 66.Co wyraża pole engines w package.json?
  67. 67.Czym są npm workspaces?
  68. 68.Jakie ryzyko niosą skrypty postinstall w zależnościach?
  69. 69.Kiedy Server-Sent Events (SSE) są lepsze niż WebSockety?
  70. 70.Jakie wyzwanie niosą WebSockety przy kilku instancjach serwera?
  71. 71.Po co kolejka zadań, np. BullMQ, do wysyłania e-maili po rejestracji?
  72. 72.Do czego służy AsyncLocalStorage?
  73. 73.Dlaczego HTTP keep-alive ma znaczenie dla serwisu, który często wywołuje inne API?
  74. 74.Dlaczego dla dużych tabel paginacja kursorem jest często lepsza niż OFFSET?
  75. 75.Czym jest wzorzec cache-aside z Redisem?