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