更新時間:2022-12-19 15:34:42 來源:動力節(jié)點(diǎn) 瀏覽1528次
后端就是利用前端展示頁面所需的數(shù)據(jù),所以我們想要在后端發(fā)展就必須要搞清楚運(yùn)行的原理和技術(shù)是如何實(shí)現(xiàn)的。nodejs是我們必須要學(xué)會的,它是基于JavaScript語法的一套服務(wù)器端(后端)語言。想要在企業(yè)中做得更好,開發(fā)者需要更多地了解它,并掌握它的有關(guān)用法,才能更好的得道企業(yè)的青睞。

1、什么是JavaScript中的一等函數(shù) ?
當(dāng)函數(shù)可以像任何其他變量一樣對待時,這些函數(shù)就是一等函數(shù)。
還有許多其他編程語言,例如 scala、Haskell 等,包括 JS。
現(xiàn)在因?yàn)檫@個函數(shù)可以作為參數(shù)傳遞給另一個函數(shù)(回調(diào)),或者一個函數(shù)可以返回另一個函數(shù)(高階函數(shù))。
map() 和 filter() 是常用的高階函數(shù)。
2、Node.js 如何工作的 ?
Node.js 是一個使用 JavaScript 作為其腳本語言并運(yùn)行 Chrome 的 V8 JavaScript 引擎的虛擬機(jī)。
基本上,Node.js 基于事件驅(qū)動的架構(gòu),其中 I/O 異步運(yùn)行,使其輕量且高效。
它也被用于開發(fā)桌面應(yīng)用程序以及一個名為 electron 的流行框架,因?yàn)樗峁┝?API 來訪問 OS 級別的功能,例如文件系統(tǒng)、網(wǎng)絡(luò)等。
3、Node.js 比其他最流行的框架好在哪里 ?
4、Node.js如何克服I/O操作阻塞的問題 ?
由于節(jié)點(diǎn)有一個事件循環(huán),可用于以異步方式處理所有 I/O 操作,而不會阻塞 main 函數(shù)。
因此,例如,如果需要進(jìn)行一些網(wǎng)絡(luò)調(diào)用,它將被安排在事件循環(huán)中,而不是主線程(單線程)中。
如果有多個這樣的 I/O 調(diào)用,每個調(diào)用都會相應(yīng)地排隊分別執(zhí)行(除了主線程)。
因此,即使我們有單線程 JS,I/O 操作也是以非阻塞方式處理的。
5、為什么Node.js是單線程的 ?
Node.js 是作為異步處理的實(shí)驗(yàn)顯式創(chuàng)建的。
這是為了嘗試一種新的理論,即在單個線程上進(jìn)行異步處理,而不是通過不同框架進(jìn)行縮放的現(xiàn)有基于線程的實(shí)現(xiàn)。
6、Node.js 中有多少種 API 函數(shù) ?
有兩種類型的 API 函數(shù):
7、你是如何管理 Node.js 項目中的包 ?
它可以由許多軟件包安裝程序及其相應(yīng)的配置文件進(jìn)行管理。
其中大多使用 npm 或 yarn。兩者都提供了幾乎所有的 javascript 庫,具有控制特定環(huán)境配置的擴(kuò)展功能。
為了維護(hù)項目中安裝的庫版本,我們使用 package.json 和 package-lock.json 以便將該應(yīng)用程序移植到不同的環(huán)境中沒有問題。
以上就是“一些被經(jīng)常問到的nodejs面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動力節(jié)點(diǎn)Java官網(wǎng)。
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743