41 najważniejszych pytań i odpowiedzi dotyczących Node.Js podczas wywiadu, które musisz znać w 2022 r.

Opublikowany: 2021-01-08

Uczestniczysz w rozmowie kwalifikacyjnej Node.js i zastanawiasz się, jakie są wszystkie pytania i dyskusje, przez które przejdziesz? Zanim weźmiesz udział w rozmowie kwalifikacyjnej Node.js, lepiej mieć wyobrażenie o typach pytań do rozmowy kwalifikacyjnej Node.js , abyś mógł mentalnie przygotować na nie odpowiedzi.

Node.js to proste, ale bardzo popularne narzędzie do tworzenia skryptów po stronie serwera, które wykorzystuje JavaScript. Możesz stworzyć coś tak prostego, jak program wiersza poleceń do nawet skomplikowanych aplikacji internetowych na poziomie korporacyjnym przy użyciu Node.js. W wielu firmach zauważysz zapotrzebowanie na Certyfikowanego programistę Node.js, który zajmie się całą stroną serwera. Możesz znaleźć zapotrzebowanie na Node.js na różnych poziomach w swojej karierze.

Spis treści

Node.js Wywiad Pytania i odpowiedzi 2020

Podzielmy artykuł na trzy sekcje:

  1. Podstawowe pytania i odpowiedzi dotyczące Node.js podczas rozmowy kwalifikacyjnej
  2. Poziom średniozaawansowany Node.js Wywiad Pytania i odpowiedzi
  3. Poziom ekspercki Node.js Wywiad Pytania i odpowiedzi

1. Podstawowe pytania i odpowiedzi dotyczące Node.js podczas rozmowy kwalifikacyjnej

P.1) Jaka jest różnica między Node.js a JavaScriptem?

Node.js to interpreter i środowisko dla JavaScript, które jest używane głównie do uzyskiwania dostępu lub wykonywania dowolnej operacji nieblokującej dla dowolnego systemu operacyjnego. Działającym silnikiem jest tutaj Google Chrome.

Natomiast JavaScript to język programowania, który jest używany do wszelkich działań po stronie klienta dla aplikacji internetowych. Działającym silnikiem jest tutaj Firefox, Safari, Google Chrome itp.

P.2) Co to jest Node.js?

Node.js to lekka, ale wydajna platforma, która została opracowana na silniku JavaScript Chrome . Kompiluje JavaScript bezpośrednio do natywnego kodu maszynowego. Jest używany do tworzenia aplikacji internetowych po stronie serwera i rozszerza API JavaScript, aby zapewnić zwykłe funkcje po stronie serwera. Ludzie używają tej struktury do tworzenia aplikacji na dużą skalę, takich jak aplikacje jednostronicowe, witryny do strumieniowego przesyłania wideo i inne aplikacje internetowe.

P.3) Wymień niektóre zalety korzystania z Node.js

  • Jest szybki, ponieważ jest tworzony na silniku Chrome JavaScript, co sprawia, że ​​jego biblioteka jest szybsza w wykonywaniu kodu.
  • Jest asynchroniczny, ponieważ nigdy nie czeka, aż API zwróci dane.
  • Jest skalowalny dzięki mechanizmowi zdarzeń, który umożliwia serwerowi reagowanie w sposób nieblokujący.
  • Jest to oprogramowanie typu open source, oferujące niesamowitą społeczność open source, która stworzyła fantastyczne moduły, które dodały więcej mocy aplikacjom Node.js.
  • Node.js nigdy nie buforuje danych, ponieważ dane wyjściowe są podzielone na porcje.

P.4) Wymień różnice między Angularem a Node.js?

Angular to oprogramowanie typu open source używane w aplikacjach internetowych, a Node.js to w zasadzie wieloplatformowe środowisko uruchomieniowe dla aplikacji.

Angular jest napisany w TypeScript, a Node.js jest napisany w językach takich jak C, C++ i JavaScript.

Angular służy głównie do tworzenia jednostronicowych aplikacji internetowych po stronie klienta, a Node.js służy głównie do tworzenia skalowalnych i szybkich aplikacji sieciowych po stronie serwera.

Angular to framework aplikacji internetowych, a Node.js ma kilka różnych frameworków, takich jak Partial.js, Sails.js i Express.js itp.

Angular najlepiej nadaje się do tworzenia wysoce aktywnych i interaktywnych aplikacji internetowych, a Node.js najlepiej nadaje się do tworzenia mniejszych projektów

Angular pomaga w dzieleniu aplikacji na komponenty MVC, a Node.js pomaga w tworzeniu zapytań do bazy danych

Angular jest dobrze używany do tworzenia aplikacji czasu rzeczywistego, a Node.js jest dobrze używany w sytuacjach, w których potrzebne są szybsze i bardziej skalowalne

P.5) Dlaczego Node.js jest jednowątkowy?

Działa na modelu jednowątkowym zamiast typowej implementacji opartej na wątkach, aby wspomóc przetwarzanie asynchroniczne. Dzięki przetwarzaniu asynchronicznemu aplikacja może działać lepiej i jest bardziej skalowalna podczas ładowania sieci.

P.6) Jak działa Node.js?

Node.js to maszyna wirtualna działająca w środowisku v8 przy użyciu JavaScript jako języka skryptowego. Działa w modelu jednowątkowym i nieblokującym we/wy, co zapewnia wysoką szybkość, ponieważ może obsłużyć większą liczbę jednoczesnych żądań. Ponieważ używa modułu HTTP, może działać na dowolnym samodzielnym serwerze WWW.

P.7) Gdzie możemy użyć Node.js?

Node.js może służyć do tworzenia:

  • Aplikacje sieciowe
  • Aplikacje internetowe czasu rzeczywistego
  • Aplikacje ogólnego przeznaczenia
  • Systemy rozproszone

P.8) Node.js ma ile typów funkcji API?

W Node.js można znaleźć dwa typy funkcji API, a mianowicie synchroniczne funkcje blokujące i asynchroniczne funkcje nieblokujące.

P.9) Jaka jest różnica między funkcją asynchroniczną i nieblokującą?

Funkcje asynchroniczne (niesynchroniczne) to te, za pomocą których możemy wykonywać asynchroniczne żądania HTTP, które nie czekają na odpowiedź serwera. Funkcje te nadal powracają do żądania, na które już otrzymał odpowiedź serwera.

Funkcje nieblokujące są używane w odniesieniu do operacji we/wy. Szybko reagują na wszelkie dostępne dane i działają zgodnie z żądaniami. W przypadku braku odpowiedzi, API szybko wraca z błędem.

Q.10) Wyjaśnij programowanie sterowane zdarzeniami

Jest to podejście programistyczne, które wykorzystuje głównie zdarzenia do wyzwalania kilku funkcji. Zdarzeniem może być naciśnięcie klawisza, kliknięcie myszą itp. Po wyzwoleniu zdarzenia wykonywana jest funkcja oddzwaniania, która jest wstępnie zarejestrowana w elemencie. Ta metoda używa głównie wzorca publikowania-subskrypcji. To dzięki tej metodzie Node.js jest szybszy niż inne technologie.

P.11) W kontekście Node.js wyjaśnij REPL

REPL w Node.js oznacza Read, Eval, Print i Loop. Przedstawia ustawienia komputera, takie jak powłoka systemu Unix/Linux lub konsola okna lub miejsce, w którym można zarejestrować dowolne polecenie, a następnie system może odpowiedzieć danymi wyjściowymi. Node.js jest domyślnie pakowany w środowisko REPL. REPL może wykonywać następujące zadania:

  • Czytaj: odczytuje dane wejściowe użytkownika, konwertuje je na strukturę danych JavaScript, a następnie przechowuje w pamięci.
  • Eval: odbiera i ocenia strukturę danych.
  • Drukuj: Drukuje ostateczny wynik.
  • Pętla: Zapętla dane polecenie, aż do dwukrotnego naciśnięcia CTRL+C .

P.12) Wymień zadania, które należy wykonać asynchronicznie przy użyciu pętli zdarzeń?

  • Operacje we/wy
  • Ciężkie obliczenia
  • Wszystko, co wymaga zablokowania

P13) Dlaczego Google używa silnika V8 dla Node.js?

Silnik wykonawczy V8 konwertuje kod JavaScript na natywny kod maszynowy, dzięki czemu aplikacje działają szybko. Ten silnik Chrome znacznie przyspiesza procesy wykonywania i odpowiedzi.

P14) Jakie są korzyści z używania Node.js?

Jak wspomnieliśmy wcześniej, Node.js jest zbudowany na silniku V8, co sprawia, że ​​jego biblioteka wykonuje kod szybko. Serwer oparty na Node.js nie czeka na zwrócenie danych przez API, co oznacza, że ​​jest asynchroniczny. Co więcej, Node.js jest wysoce skalowalny, ponieważ jego mechanizm zdarzeń reaguje w sposób nieblokujący.

Nie ma też buforowania w aplikacjach Node.js. Z biegiem lat pojawiła się spora społeczność open source, dostarczająca doskonałe moduły i zapewniająca dodatkowe możliwości aplikacjom Node.js.

2. Średniozaawansowany poziom Node.js Pytania i odpowiedzi do rozmowy kwalifikacyjnej

P.15) Czym jest piramida testowa?

Diagram, który wyjaśnia stosunek liczby testów jednostkowych, testów integracyjnych i testów typu end-to-end, które należy napisać, aby pomyślnie zbudować projekt, nazywa się piramidą testową.

Q16) Jaka jest rola pakietu Express.js?

Express.js to framework, który wspomaga zarządzanie przepływem danych między serwerem a trasami w aplikacjach po stronie serwera. Ta elastyczna platforma jest oparta na Node.js, a konkretnie na module oprogramowania pośredniego o nazwie connect. Z kolei moduł connect wykorzystuje moduł HTTP do komunikacji z Node.js. Dlatego integracja z Express.js staje się łatwa, jeśli pracujesz z dowolnym modułem oprogramowania pośredniego opartego na connect.

Q17 ) Jaka jest rola modułu Assert w Node.js?

Assert umożliwia pisanie testów. W Node.js jest to wewnętrzny moduł, który zapewnia zestaw testów asercji do badania niezmienników. Możesz użyć kodu require('assert') dla innych aplikacji.

Q.18) Co to jest wywołanie zwrotne pierwszego błędu w Node.js?

Wywołanie zwrotne od pierwszego błędu w Node.js służy do przekazywania błędów i danych. Pierwszy parametr, który przekazuje te funkcje, musi być obiektem błędu. Pozostałe parametry reprezentują załączone dane. Jeśli nie ma błędów lub problemów, możesz przejść do kolejnych argumentów.

var myPost = new Post({title: 'Myexample'});

myPost.save(function(err,myInstance){

jeśli (błąd)

{

//obsługa błędu i powrót

}

// kontynuuj z `myInstance`

});

P19) Jaki jest cel pliku package.json?

Plik package.json w Node.js zawiera metadane projektu. To serce aplikacji, w którym definiujesz właściwości pakietu. Metadane pliku można dalej podzielić na następujące kategorie:

  • Właściwości takie jak nazwa projektu, licencja, autor, aktualna wersja modułu, opis projektu itp.
  • Możesz również dołączyć niezbędne informacje o swoim projekcie, pisząc je bezpośrednio do pliku package.json.

Q.20) Jaki jest pożytek z module.exports?

Aby połączyć wszystkie podobne kody w jedną jednostkę kodu, którą można wykonać poprzez przeniesienie wszystkich powiązanych funkcji do konkretnego pliku, musimy użyć module.exports w Node.js. Na przykład masz plik o nazwie powitaj.js, który zawiera dwie funkcje, jak pokazano poniżej:

moduł.eksport = {

powitaj w języku hindi: function(){

zwróć „NAMASTE”;

},

powitaj po angielsku: function(){

powrót „Cześć”;

}};

Moduł module.exports oferuje dwie funkcje, które można zaimportować w osobnym pliku za pomocą poniższego kodu:

var myGreets = wymagaj („./greet.js”);

myGreets.greetInHindi() //NAMASTE

myGreets.greetInEnglish() //Witaj

P.21) Czym jest wzorzec reaktora w Node.js?

Reaktor Pattern w Node.js to teoria nieblokujących operacji I/O. Ten wzorzec udostępnia procedurę obsługi, która jest połączona z każdą operacją we/wy, a po utworzeniu żądania we/wy jest ona następnie przesyłana do demultipleksera . Ten demultiplekser to interfejs powiadomień, który jest w stanie obsłużyć współbieżność w nieblokującym trybie we/wy.

Pomaga również obsłużyć każde żądanie w formie zdarzenia, a następnie umieścić każde zdarzenie w linii. W ten sposób powstaje kolejka zdarzeń. Jednocześnie mamy naszą pętlę zdarzeń, która powtarza zdarzenia obecne w kolejce zdarzeń.

P.22) Jakie są wydania LTS Node.js?

LTS oznacza wersję Node.js z długoterminowym wsparciem, która zawiera wszystkie ważne poprawki błędów wraz z aktualizacjami bezpieczeństwa i ulepszeniami wydajności. Wszystkie te wersje są ważne przez minimum 18 miesięcy i koncentrują się przede wszystkim na kwestiach bezpieczeństwa i stabilności. Zmiany wprowadzone w wersjach LTS ograniczają się tylko do naprawy błędów, npm, aktualizacji zabezpieczeń, dokumentacji i przyspieszenia wydajności.

P.23) Co rozumiesz przez piekło oddzwaniania?

Callback Hell jest również nazywany Piramidą Zagłady. Jest to wzorzec, który występuje z powodu ekstremalnych zagnieżdżonych wywołań zwrotnych, które nie są czytelne. Zwykle zawiera wiele zagnieżdżonych funkcji zwrotnych, co utrudnia odczytanie lub debugowanie kodu. Wynika to głównie z niewłaściwej implementacji logiki asynchronicznej.

async_A(funkcja(){

async_B(funkcja(){

async_C(funkcja(){

async_D(funkcja(){

….

});

});

});

});

Q24) Wymień argumenty wejściowe async.queue.

W Node.js async.queue przyjmuje dwa argumenty jako dane wejściowe. Obejmują one funkcję zadania i wartość współbieżności.

P.25) Czym jest libuv?

Jest to wieloplatformowa biblioteka wspierająca Node.js, używana głównie do asynchronicznych operacji we/wy. Początkowo został opracowany dla Node.js, ale teraz jest również używany z naszym systemem, takim jak pyuv, Luvit, Julia, itp. Libuv jest w zasadzie abstrakcją wokół libev/IOCP opartą na platformie, oferując użytkownikom oparte na libev API. Kilka kluczowych cech libuv to:

  • Zdarzenia systemu plików
  • W pełni funkcjonalna pętla zdarzeń wspierana
  • Asynchroniczne gniazda TCP i UDP
  • Asynchroniczne operacje na plikach i systemie plików
  • Procesy potomne

P.26) Strumienie w Node.js

Strumienie umożliwiają odczytywanie i przetwarzanie dużych zbiorów danych w Node.js. Obiekty te to zbiory danych przypominające łańcuchy i tablice. Pozwalają na ciągłe odczytywanie danych ze źródła lub zapisywanie do miejsca docelowego. W Node.js istnieją cztery podstawowe typy strumieni — do odczytu, do zapisu, dupleksu i transformacji.

Q.27) Jak odczytujecie i uruchamiacie pliki w Node.js?

W Node.js istnieją dwa sposoby odczytywania i wykonywania plików – readFile i createReadStream. Główna różnica między nimi polega na tym, że readFile jest w pełni buforowany, a funkcja createReadStream jest częściowo buforowana. readFile() zwraca odpowiedź tylko wtedy, gdy cały plik jest umieszczany w buforze, co spowalnia czas przetwarzania.

W przeciwieństwie do tego createReadStream traktuje proces jako serię zdarzeń, dzieląc plik na porcje i odsyłając odpowiedzi jedna po drugiej. Zapewnia więc efektywny sposób przetwarzania dużych plików danych.

Q.28) Jakie implementacje zabezpieczeń są dostępne w Node.js?

Uwierzytelnianie i obsługa błędów to dwie główne implementacje zabezpieczeń w Node.js.

P.29) Jak obsługiwane są wątki podrzędne w Node.js?

Można by pomyśleć, że skoro Node.js jest jednowątkowy, nie można używać wątków potomnych. Chociaż proces zasadniczo nie ujawnia wątków podrzędnych, nadal możesz wykonywać niektóre asynchroniczne zadania we/wy w tle, używając funkcji spawn(). Dzięki temu główna pętla zdarzeń aplikacji nie jest utrudniona. Możesz również dołączyć moduł ChildProcess, aby jawnie używać tej koncepcji wątków.

3. Pytania i odpowiedzi dotyczące Node.js na poziomie eksperckim

P.30) Jaki jest pożytek z NODE_ENV?

Jeśli Twój projekt jest na poziomie produkcyjnym, Node.js promuje konwencję używania zmiennej NODE_ENV do oflagowania go. Pomaga to w podjęciu lepszej decyzji podczas tworzenia projektu. Co więcej, gdy ustawisz NODE_ENV na produkcję, Twoja aplikacja będzie działać szybciej około trzy razy.

Q.31) W Node.js, jaka jest różnica między createReadStream i readFile?

Node.js oferuje dwa sposoby odczytywania i obsługi plików, które używają readFile i CreateStream. readFile() to całkowicie buforowany proces, który odpowiada tylko wtedy, gdy cały plik zostanie umieszczony w buforze i odczytany. Jest to proces wymagający dużej ilości pamięci, który staje się bardzo powolny w przypadku większych plików.

Natomiast w przypadku createReadStream jest częściowo buforowany, co przyjmuje cały proces jako serię zdarzeń. Plik jest dzielony na duże porcje, które są następnie przetwarzane i odsyłane pojedynczo jako odpowiedź. Po zakończeniu są one usuwane z bufora, dzięki czemu przetwarzanie większych plików jest bardziej wydajne.

Q.32) Wyjaśnij użycie klasy bufora w Node.js

Klasa bufora w Node.js przechowuje surowe dane w postaci tablicy liczb całkowitych. Odpowiada alokacji pamięci poza sferą V8, co oznacza, że ​​jest klasą globalną. Dostęp do klasy można uzyskać bez importowania modułu bufora w Node.js. Zapotrzebowanie na klasę bufora powstaje, ponieważ JavaScript nie jest kompatybilny z danymi binarnymi.

Q.33) Rozróżnij spawn() i fork()

Używasz spawn() w Node.js, aby uruchomić nowy proces. Za pomocą dostarczonego zestawu poleceń proces ten aktywuje tylko jedną kopię modułu węzła na procesorze. Ponieważ nie jest tworzona żadna nowa instancja V8, funkcja spawn() staje się szczególnie pomocna, gdy proces podrzędny zwraca dużą ilość danych.

I odwrotnie, metoda fork() wykonuje nową instancję silnika V8. Oznacza to, że wielu pracowników pracuje na jednym kodzie opartym na węźle dla różnych zadań.

Q.34) Rozwój front-endu i back-endu

Programowanie front-endu opiera się na żądaniach asynchronicznych i AJAX, podczas gdy programowanie back-endu opiera się na architekturze serwerowej. Ten pierwszy wykorzystuje języki znaczników i języki internetowe, takie jak HTML, JavaScript, CSS itp. Do celów SEO. Podczas gdy ta ostatnia wykorzystuje języki programowania Python, Ruby i inne do tworzenia kopii zapasowych. Programowanie front-end jest bardziej dostępne w porównaniu z programowaniem back-end.

Q.35) Wymień etapy korzystania z funkcji sterowania przepływem.

Kod wykonywany między wywołaniami funkcji asynchronicznych w Node.js to funkcja przepływu sterowania. Działanie funkcji można wyjaśnić następującymi krokami:

  • Najpierw kontroluj kolejność wykonywania
  • Następnie zbierz wymagane dane
  • Następnie ogranicz współbieżność
  • Na koniec wywołaj kolejny krok programu

Q.36) Wymień funkcje czasowe Node.js.

Node.js udostępnia moduł Timers, który zawiera różne funkcje do uruchamiania kodu po określonym czasie. Różne funkcje zapewniane przez ten moduł:

setTimeout/clearTimeout – Służy do programowania wykonania kodu po kilku milisekundach

setInterval/clearInterval – Służy do kilkukrotnego wykonania bloku kodu

setImmediate/clearImmediate – Służy do uruchamiania kodu na koniec bieżącego cyklu pętli zdarzeń

process.nextTick – służy do zaprogramowania funkcji zwrotnej, która musi zostać wyzwolona w następnej iteracji pętli zdarzeń

P.37) Opowiedz nam o teorii Punycode w Node.js?

Punycode to składnia kodowania. Służy do tłumaczenia ciągu znaków Unicode (UTF-8) na podstawowy ciąg znaków ASCII. Jest to potrzebne, ponieważ nazwy hostów rozpoznają tylko znaki ASCII. Jest domyślnie dla wszystkich wersji po 0.6.2. Jeśli jednak chcesz go używać w starszych wersjach, możesz to zrobić za pomocą składni:

punycode = require('punycode');

Q.38) Rozróżnić Node.js i Ajax?

Node.js to JavaScript po stronie serwera, w przeciwieństwie do Ajax, który jest technologią po stronie klienta. Ajax służy głównie do aktualizacji lub edycji strony internetowej bez konieczności jej odświeżania. Natomiast Node.js jest potrzebny do opracowania oprogramowania serwerowego, które jest zwykle wykonywane przez serwery, a nie przeglądarki internetowe.

P.39) Czy Node.js oferuje jakiś debugger?

Node.js oferuje prosty protokół oparty na TCP, a także wbudowany klient debugowania. Jeśli chcesz debugować plik JavaScript, możesz użyć argumentu node debug [script.js | -e „skrypt” | <host>: <port> ], po którym następuje nazwa pliku js, który chcesz debugować.

P.40) Co to są obiekty globalne?

Możesz używać obiektów globalnych w Node.js bez konieczności ich jawnego dołączania. Mogą to być funkcje modułów, ciągi itp. dostępne w zakresie modułu aplikacji. Czasami możesz je znaleźć w zasięgu globalnym.

Q.41) Wyjaśnij kody wyjścia Node.js.

Kody zakończenia to zestaw odrębnych kodów używanych do zakończenia określonego procesu. Może również zawierać obiekt globalny. Poniżej kilka przykładów kodów wyjścia używanych w Node.js:

  • Nie używany
  • Niewyłapany śmiertelny wyjątek
  • Wewnętrzny program obsługi wyjątków Błąd wykonania
  • Błąd krytyczny
  • Błąd wewnętrznej oceny JavaScript

Ucz się kursów inżynierii oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Zbliżając się do końca naszej kolekcji niektórych z najczęściej zadawanych pytań i odpowiedzi związanych z rozmowami kwalifikacyjnymi Node.js , mamy nadzieję, że uznasz je za wartościowe i będziesz w stanie zaimponować swoim ankieterom, odpowiadając na nie właściwie.

Jeśli chcesz dowiedzieć się więcej o dużych zbiorach danych, zapoznaj się z programem Executive PG UpGrad i IIITB w zakresie programowania pełnego stosu, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadań, IIIT-B Status absolwenta, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Co to jest Nodejs?

Nodejs to środowisko JavaScript po stronie serwera. Jest sterowany zdarzeniami, nie blokuje się i jest wysoce skalowalny. Nodejs jest również oprogramowaniem typu open source, a więc darmowym. Node.js służy do tworzenia skalowalnych programów sieciowych. Node.js jest niezależny od platformy i działa w różnych systemach operacyjnych (OS) i może być wdrażany w systemach Linux, Solaris, Windows i Mac. Node.js jest używany przez firmy takie jak LinkedIn, PayPal, IBM, Microsoft itp. Node.js to środowisko uruchomieniowe JavaScript, które służy do tworzenia szybkich, skalowalnych aplikacji sieciowych. To środowisko wykonawcze jest przeznaczone do tworzenia aplikacji o dużej współbieżności, które mogą obsługiwać tysiące jednoczesnych połączeń.

Co to jest maszynopis?

Typescript to nadzbiór języka JavaScript stworzony przez Microsoft. Typescript wprowadza do JavaScriptu niektóre z najbardziej zaawansowanych funkcji języka programowania. Deweloperzy mogą zaimplementować swoje istniejące umiejętności programowania po stronie serwera java do JavaScript. Typescript jest szczególnie przydatny podczas tworzenia aplikacji internetowych na dużą skalę. TypeScript to darmowy język programowania typu open source opracowany i utrzymywany przez firmę Microsoft. Jest to ścisły nadzbiór JavaScriptu i dodaje do języka opcjonalne typy statyczne oraz programowanie obiektowe oparte na klasach. Jest to język do programowania JavaScript w skali aplikacji.

Co to jest MongoDB?