您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Nodejs面試題有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Nodejs面試題有哪些”這篇文章吧。
第1題:什么是nodejs?我們在哪里使用它?
Nodejs是服務器端的一門技術。它是基于Google V8 JavaScript引擎而開發的。用來開發可擴展的服務端程序。
第2題:為什么要使用node js?
nodejs會讓我們的編程工作變得簡單,它主要包含如下幾點幾個好處:
①執行快速。
②永遠不會阻滯。
③JavaScript是通用的編程語言。
④異步處理機制。
⑤避免并行所帶來的問題。
第3題:nodejs有哪些特點?
是單線程的,但是有很高的可擴展性,使用JavaScript作為主流編程語言。使用的是異步處理機制和事件驅動。處理高效。
第4題:Set immediate和set time out 區別在哪里?
Set immediate就是馬上執行的意思。Set time out,時間參數傳為0,也想獲得同樣的功能。只不過前者要快一些。
第5題:如何更新nodejs的版本?
npm install npm -g
第6題:為什么nodejs是單線程的?
Nodejs使用的是單線程沒錯,但是通過異步處理的方式,可以處理大量的數據吞吐量,從而有更好的性能和擴可擴展性。
第7題:什么是回調函數?
回調函數是指用一個函數作為參數傳入另一個函數,這個函數會被在某個時機調用。
第8題:什么叫做回調地獄?
回調地獄是由嵌套的回調函數導致的。這樣的機制會導致有些函數無法到達,并且很難維護。
第9題:如何阻止回調地獄?
有三種方法,對每個錯誤都要處理到,保證代碼的貫通,程序代碼模塊化。
第10題:解釋一下repl的作用?
Read evaluate print loop,用于測試,調試和實驗用。
第11題:API函數的類型有哪些?
有兩種:一種是阻滯型函數。阻滯型函數會等待操作完成以后再進行下一步。
另外一種是非阻滯型函數。這種函數使用回調函數來處理當前函數獲取的結果。
第12題:回調函數的第1個參數是什么?
通常是錯誤對象。如果這個參數為空,表示沒有錯誤。
第13題:NPM的作用是什么?
Node package manager,主要有兩個功能。
它是一個網端模塊的存儲介質。
它的另一個作用是安裝程序依賴和版本管理。
第14題:nodejs和ajax的區別是什么?
Nodejs和ajax也就是asynchronous JavaScript and xml,都是通過JavaScript來表現的,但是他們的目的截然不同。
Ajax是設計用來動態的更新頁面的某個區域,從而不需要更新整個頁面。
Nodejs是用來開發客戶服務器類型應用的。
第15題:解釋一下nodejs中chaining.
Chaining是指從一個數據流到另一個數據流的鏈接,從而實現多個流操作。
第16題:什么是streams?解釋一下有哪些類型?
流的概念是不間斷的,它可以不間斷的從某個地方讀取數據,或者向某個地方寫入數據。
有4種類型的流數據。可讀,可寫。既可讀,又可寫,轉化。
第17題:退出代碼是什么?有哪些退出代碼?
退出代碼是指中斷nodejs運行時返回的代碼。
有這么幾種unused, uncaught fatal exception, fatal error, non function internal exception handler, internal exception handler run time failure,internal JavaScript evaluation failure.
第18題:什么是globals?
有三個global的關鍵字。
Global代表的是最上層的命名空間,用來管理所有其他的全局對象。
Process 是一個全局對象,可以把異步函數轉化成異步回調, 它可以在任何地方被訪問,它主要是用來返回系統的應用信息和環境信息.
Buffer, 是用來處理二進制數據的類.
第19題:Angular js和node js的區別是什么?
Angular js是網絡應用開發框架,而nodejs是一個實時系統。
第20題:為什么統一的風格兒非常重要,有什么工具可以保證這一點?
統一的風格可以讓所有的組成員按照一種規矩來寫代碼。工具有Standard和eslint.
第21題:用什么方法來處理沒有被處理的異常?
在應用和node js之間使用domain來處理這樣的異常。
第22題:Node js是如何支持多處理器平臺的?
Cluster模塊是用來支持這方面的。它可以允許多個nodejs工作進程運行在相同的端口上。
第23題:如何配置開發模式和生產模式的環境?
首先有一個配置文件,然后通過環境變量參數來獲取對應的配置內容。
第24題:nodejs中跟時間相關的函數有哪些?
①Set time out,clear time out.
②Set interval,clear interval.
③Set immediate,clear immediate.
④Process.nextTick.
第25題:解釋一下什么是reactor pattern。
Reactor pattern主要是非阻滯的i/o操作。提供一個回調函數來關聯io操作。io請求完成以后會不會提交給demultiplexer, 這是一個通知接口用來處理并發性的非阻滯的io操作,這個功能是通過查詢一個event loop來實現的.
第26題:lts版本是什么意思?
也就是long term support版本。至少會被支持18個月。使用的是偶數來標識。這種版本有穩定性和安全性的保證。
第27題:你為什么需要把express APP和server分開?
分開以后方便維護以及測試,在測試某個模塊的時候,尤其是APP模塊的時候,你不需要去對網絡方面的連接配置做工作。
第28題:next tick和setImmediate的區別是什么?
Next tick會等待當前的event執行完成或者下一輪兒事件循環到達再執行。
Set immediate,會在下一輪的事件循環中,執行回調并且返回當前的循環來做讀寫操作。
以上是“Nodejs面試題有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。