【前端面試題】—53道常見NodeJS基礎面試題(附答案)

2022-01-31 web前端開發

說到前端就不得不提到後端,我們給用戶展示頁面所需的數據正是從後端獲取的,所以了解後端的運行原理和技術的實現很有必要。 Node. js是一個不錯的選擇,它是基於JavaScript語法的一套伺服器端(後端)語言。想要在企業中做得更好,開發者需要更多地了解它,並掌握它的有關用法。Node. js是一個基於 Chrome v8引擎的伺服器端 JavaScript運行環境;Node. js是一個事件驅動、非阻塞式I/O的模型,輕量而又高效;Node. js的包管理器npm是全球最大的開源庫生態系統。高並發、實時聊天、實時消息推送、客戶端邏輯強大的SPA(單頁面應用程式)。(1)簡單, Node. js用 JavaScript、JSON進行編碼,簡單好學。(2)功能強大,非阻塞式I/O,在較慢的網絡環境中,可以分塊傳輸數據,事件驅動,擅長高並發訪問。(3)輕量級, Node. js本身既是代碼又是伺服器,前後端使用同一語言。(4)可擴展,可以輕鬆應對多實例、多伺服器架構,同時有海量的第三方應用組件。global、 process, console、 module和 exports。process.stdin、 process.stdout、 process.stderr、process.on、 process.env、 process.argv、 process.arch、process.platform、 process.exitconsole.log/console. info、console.error/console.warning、console.time/console.timeEnd 、console.trace、console .table。setTimeout/clearTimeout, setInterval/clearInterval、 setImmediate/clearImmediate、 process. nextTick。事件循環其實就是一個事件隊列,先加入先執行,執行完一次隊列,再次循環遍歷看有沒有新事件加入隊列。執行中的事件叫IO事件, setlmmediate在當前隊列中立即執行,setTimout/setInterval把執行定時到下一個隊列, process. nextTick在當前隊列執行完,下次遍歷前執行。所以總體順序是:IO事件→ setImmediate→ setTimeout/setInterval→ process. nextTick。9、如何應用 Node. js中的 Buffer?Buffer是用來處理二進位數據的,比如圖片、MP3、資料庫文件等。Buffer支持各種編碼解碼、二進位字符串互轉。Node.js是單線程的,異步是通過一次次的循環事件隊列來實現的。同步則是阻塞式的IO,這在高並發環境中會是一個很大的性能問題,所以同步一般只在基礎框架啟動時使用,用來加載配置文件、初始化程序等。(3)用第三方框架,如 async、q、 promise等。(2) EventEmitter/Stream error事件處理。用node-- debug app. js和 node-inspector。Node. js全面支持各種網絡伺服器和客戶端,包括TCP、HTP/ HTTPS、TCP 、UDP、DNS、tls/ssl等。15、Noe.js是怎樣支持 HTTPS、tls的?Node. js是一個 JavaScript的運行環境,是一個伺服器端的「 JavaScript解釋器」,用於方便高效地搭建一些響應速度快、易於擴展的網絡應用。它採用事件驅動、異步編程方式,為網絡服務而設計。(1) Node. js是基於事件驅動和無阻塞的,非常適合處理並發請求,因此構建在 Node. js的代理伺服器相比其他技術實現的伺服器要好一點。(2)與 Node. js代理伺服器交互的客戶端代碼由 JavaScript語言編寫,客戶端與服務端都採用一種語言編寫。(1) Node .js是一個相對新的開源項目,不太穩定,變化速度快。(2)不適合CPU密集型應用,如果有長時間運行的計算(比如大循環),將會導致CPU時間片不能釋放,使得後續I/O無法發起。npm是 Node. js中管理和分發包的工具,可用於安裝、卸載、發布、查看包等。通過ηpm,可以安裝和管理項目的依賴,還可以指明依賴項的具體版本號。20、Node. js中導入模塊和導入 JavaScript文件在寫法上有什麼區別?在 Node. js中要導入模塊,直接使用名字導入即可,如下所示:
var express = require("express");

要導入 JavaScript文件,需要使用文件的路徑,如下所示:

var demo = require("./demo.js");

21、npm的作用是什麼?

npm是同 Node .js一起安裝的包管理工具,能解決 Node. js代碼部署上的很多問題。常見的使用場景有以下幾種。

(1)允許用戶從npm伺服器下載別人編寫的第三方包到本地。

(2)允許用戶從npm伺服器下載並安裝別人編寫的命令行程序到本地。

(3)允許用戶將自己編寫的包或命令行程序上傳到npm伺服器供別人使用。

22、什麼是 EventEmitter?

EventEmitter是 Node. js中一個實現觀察者模式的類,主要功能是訂閱和發布消息,用於解決多模塊交互而產生的模塊之間的耦合問題.

23、如何實現一個 EventEmitter?

可通過3步實現 EventEmitter定義一個子類,通過寄生組合式繼承,繼承 EventEmitter

父類,代碼如下。

var Util= require('util' ); var EventEmitter= require ('events' ) .EventEmitter;function  IcktEmitter () {    EventEmitter .apply(this, arguments)}Util.inherits(IcktEmitter, EventEmitter);

var ie = new IcktEmitter ( ) ; ie.on('icketang', function(data){ console.log('接收到消息',data )})ie.emit(' icketang','來自有課網的消息');

24、EventEmitter有哪些典型應用?

有以下應用。

(1)在模塊間傳遞消息。

(2)在回調函數內外傳遞消息。

(3)處理流數據,因為流是在 EventEmitter的基礎上實現的。

(4)運用觀察者模式收發消息的相關應用。

25、如何捕獲 EventEmitter的錯誤事件?

當發布error消息的時候,如果沒有註冊該事件,應用程式會拋出錯誤並中斷執行。所以要監聽error事件,代碼如下。

var ie= new IcktEmitter ( ); ie .on('error ', function(err){ conso1e.1og ( '接收到錯誤的信息',err )})ie.emit(' error','來自ie1的錯誤消息');

26、Node. js中的流是什麼?

流(Stream)是基於 EventEmitter的數據管理模式,由各種不同的抽象接口組成,主要包括可寫、可讀、可讀寫、可轉換等類型。

27、使用流有什麼好處?

流是非阻塞式數據處理模式,可以提升效率,節省內存,有助於處理管道且可擴展等。

28、流有哪些典型應用?

流在文件讀寫、網絡請求、數據轉換、音頻、視頻等方面有很廣泛的應用。

29、如何捕獲流的錯誤事件?

監聽error事件,方法與訂閱 EventEmitter的error事件相似。

30、有哪些常用 Stream流?分別什麼時候使用?

Readable流為可讀流,在作為輸入數據源時使用;Writable流為可寫流,在作為輸岀源時使用;Duplex流為可讀寫流,它作為輸岀源被寫入,同時又作為輸入源被後面的流讀出。

Transform流和 Duplex流一樣,都是雙向流,區別是 Transfrom流只需要實現一個函數 _transfrom( chunk, encoding, callback);而 Duplex流需要分別實現_read(size )函數和_write( chunk, encoding, callback )函數。

31、如何實現一個 Writable流?

實現 Writable流分成3步

(1)引入 Writable模塊。

(2)繼承 Writable模塊。

(3)實現 _write(chunk, encoding, callback )寫入函數。

代碼如下。

//引入 Writable模塊var Writable= require('stream').Writable;var Util = require('util');//繼承 Writable模塊function IcktWritable( ) {  Writable. apply(this, arguments ) ;}Util.inherits ( IcktWritable, Writable ) ;//實現 write函數IcktWritable. prototype. _write = function ( data, encoding, callback ) {      console.log ('被寫入的數據是:' ,data. toString ( ) )callback ( )}var iw= new IcktWritable ( ) ;for (var i=0;i< 5 ;i++ ) {iw. write('有課網'+i,'utf8")}iw,end('學技能就上有課網' );

32、內置的fs模塊架構由哪幾部分組成?

fs模塊主要由下面幾部分組成。

(1) POSIX文件 Wrapper,對應作業系統的原生文件操作。

(2)文件流,fs. createReadStream和 fs.createWriteStrean。

(3)同步文件讀寫, fs.readFileSync和fs.writeFileSync。

(4)異步文件讀寫, fs.readFile和fs.writeFile。

33、讀寫一個文件有多少種方法?

總體來說,有4種方法。

(1) POSIX式底層讀寫。

(2)流式讀寫。

(3)同步文件讀寫。

(4)異步文件讀寫。

34、如何讀取JSON配置文件?

主要有兩種方式。第一種是利用 Node. js內置的 require( data.json!)機制,直接得到 Javascript對象;

第二種是讀入文件內容,然後用JSON. parse( content)轉換成 JavaScript對象。

二者的區別是,對於第一種方式,如果多個模塊都加載了同一個JSON文件,那麼其中一個改變了 JavaScript對象,其他也跟著改變,這是由 Node.js模塊的緩存機製造成的,緩存中只有一個 JavaScript模塊對象;

第二種方式則可以隨意改變加載後的JavaScript變量,而且各模塊互不影響,因為它們都是獨立的,存儲的是多個 JavaScript對象。

35、fs.watch和 fs.watchFile有什麼區別?

二者主要用來監聽文件變動,fs.watch利用作業系統原生機制來監聽,可能不適用網絡文件系統;fs. watchFile則定期檢查文件狀態變更,適用於網絡文件系統,但是與fs.watch相比有些慢,因為它不採用實時機制。

36、為什麼需要子進程?

Node. js是異步非阻塞的,這對高並發非常有效。可是我們還有其他一些常用的需求,比如和作業系統 shell命令交互,調用可執行文件,創建子進程,進行阻塞式訪問或高CPU計算等,子進程就是為滿足這些需求而產生的。顧名思義,子進程就是把 Node. js阻塞的工作交給子進程去做。

37、exec、 execFile、 spawn和fork都是做什麼用的?

它們的作用分別如下。

exec可以用作業系統原生的方式執行各種命令,如管道 cat ab. txt |  grep hello。

execFile用於執行一個文件。

spawn負責在流式和作業系統之間進行交互。

fork負責在兩個 Node. js程序( JavaScript)之間進行交互。

38、如何實現一個簡單的命令行交互程序?

實現代碼如下。

var cp = require (' child process );//執行指令var child= cp .spawn('echo', ['hello, ''] );// child.stdout是輸入流, process. stdout是輸出流//子進程的輸出流作為當前程序的輸入流,然後重定向到當前程序的控制器輸出child. stdout. pipe(process. stdout)

39、兩個 Node. js程序之間如何交互?

通過fork實現父子程序之間的交互。子程序用 process.on、 process. send訪問父程序,父程序用 child.on、 child.send訪問子程序。

關於 parent. JS的示例代碼如下。

var cp = require (' child_process' ) ; var child= cp.fork ('./child. js' );child .on('message', function(msg){ console.1og('子程序發送的數據:',msg )})child.send ( '來自父程序發送的數據' )

關於 child .js的示例代碼如下。

process .on ( 'message' , function(msg){conso1e.1og ( '父程序發送的數據: ' , msg )process.send ( '來自子程序發送的數據' )

40、如何讓一個 JavaScript文件變得像 Linux命令一樣可執行?

具體步驟如下。

(1)在文件頭部加入#!/ bin/sh

如 icketang40.js#!/bin/shecho'有課網— 技能學習就上有課網;

(2)用 chmod命令把名為 icketang40的 JavaScript文件改為可執行文件。

(3)進入文件目錄,在命令行輸入 icketang40.js就相當於執行 node icketang40.js

執行結果。

41、子進程和進程的 stdin、 stdout、 stderror是樣的嗎?

概念都是一樣的。stdin、 stdout、 stderror分別是輸入、輸出、錯誤。三者都是流。區別是在父進程裡,子進程的 stdout是輸入流, stdin是輸出流。

42、async都有哪些常用方法?分別怎麼用?

async是一個 JavaScript類庫,它的目的是解決 JavaScript中異常流程難以控制的問題。async不僅在 Node. js裡適用,還可以用在瀏覽器中。其常用方法和用法如下。

具體代碼如下所示。

var async = require('async ');var date = Date .now ( );

(1) async. parallel:並行執行完多個函數後,調用結束函數。不用等到前一個函數。執行完再執行下一個函數。

async .parallel ( [     function ( callback ) {        setTimeout (function () {console. log('process one', Date. now ( ) - date)callback(null, 'msg one')},2000)},function ( callback ){setTimeout ( function () {console. log('process tow', Date .now ( ) - date )callback ( null, 'msg tow' )},1000)}], function(err, result){  console. log(err, result, 'done ')})

(2) async.series:串行執行完多個函數後,調用結束函數。前面一個函數執行完之後,就會立即執行下一個函數。

async .series ( [function ( callback ) {setTimeout ( function () {console. log ( 'process one ', Date. now ( ) - date )callback ( null, ' msg one'  )},2000 )},function ( callback )  {setTimeout ( function () {console. log ( 'process tow', Date. now ( ) - date )callback ( null, 'msg tow ' )},1000 )   }] , function (err, result ) {console. log(err, result, 'done')})

(3) async. waterfall:依次執行多個函數,前一個函數的執行結果作為後一個函數執行時的參數。

async .waterfall ( [function ( callback ) {setTimeout ( function () {console. log('process one, Date. now()- date)callback(null, 'msg one')},2000)},function(argl, callback){ setTimeout (function(){console. log('process tow, Date. now  ( ) - date, argl )callback(null, 'msg tow')},1000)}] , function(err, result){console. log(err, result, 'done ')})

43、express項目的目錄大致是什麼結構的?

首先,執行安裝 express的指令:npm install express-generator-g。

然後,通過 express指令創建項目:express icketang。

創建的項目目錄結構如下。

./app.js  應用核心配置文件(入口文件)

./bin  存放啟動項目的腳本文件

./ package.json  存儲項目的信息及模塊依賴

./public 靜態文件(css、js、img等)

./routes 路由文件(MVC中的 contro1ler)

./views 頁面文件(jade模板)

44、express常用函數有哪些?

常用函數有以下幾個

express .Router—路由組件

app.get—路由定向。

app. configure——配置。

app.set一設定參數。

app.use——使用中間件。

45、express中如何獲取路由的參數?

執行的命令如下

使用 req.params.name來獲取;使用req.body.username來獲得表單傳入參數 username;express的路由支持常用通配符有?、+、*、( )。

46、express  response有哪些常用方法?

常用方法有以下幾個。

res. download( ),彈出文件下載。

res.end ( ),結束響應。

res.json( ),返回json。

res.jsonp( ),返回 jsonp。

res .redirect ( ),重定向請求。

res .render ( ),渲染模板。

res.send ( ),返回多種形式數據。

res.sendFile  ( ),返回文件。

res.sendStatus( ),返回狀態。

47、mongodb有哪些常用優化措施?

常用優化措施如下。

(1)優化預讀。

(2)禁用NUMA。

(3)不要記錄訪問時間等。

48、Redis的主要特點是什麼?

主要特點如下。

(1) Redis支持數據的持久化,可以將內存中的數據保存在磁碟中,重啟的時候可以再次加載和使用。

(2) Redis不僅支持簡單的鍵-值類型的數據,同時還提供list、set、zset、hash等數據結構的存儲。

(3) Redis支持數據的備份,即主-從模式的數據備份。

49、Nginx和 Apache有什麼區別?

Nginx是輕量級的,同樣的Web服務在 nginx中會佔用更少的內存和資源。Nginx抗並發,處理請求的方式是異步非阻塞的,負載能力比 Apache高很多,而 Apache則是阻塞型的。

在高並發下 Nginx能保持低資源、低消耗、高性能,並且處理靜態文件比 Apache好。 

Nginx的設計高度模塊化,編寫模塊相對簡單,配置簡潔。作為負載均衡伺服器,支持7層負載均衡,是一個反向代理伺服器。

社區活躍,各種高性能模塊出品迅速。Apache的 rewrite比 Nginx強大,模塊豐富。Apache發展得更為成熟,Bug很少,更加穩定。

Apache對PHP的支持比較簡單, Nginx需要配合其他後端使用。Apache處理動態請求有優勢,擁有豐富的特性、成熟的技術和開發社區。

50、說說線程與進程的區別。

(1)一個程序至少有一個進程,一個進程至少有一個線程

(2)線程的劃分尺度小於進程,使得多線程程序的並發性高。

(3)進程在執行過程中擁有獨立的內存單元,而多個線程共享內存,極大地提高了程序的運行效率。

(4)線程在執行過程中與進程有區別。每個獨立的線程都有程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個線程執行控制。

(5)從邏輯角度來看,多線程的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個線程看作多個獨立的應用來實現進程的調度、管理和資源分配。這是進程和線程的主要區別。

51、你知道哪些 Node.js核心模塊?

EventEmitter 、Stream、FS、Net和全局對象等。

52、說說 MySQL和 MongoDB的區別。

(1) MySQL是傳統的關係型資料庫, MongoDB則是非關係型資料庫。

(2) MongoDB以BSON結構進行存儲,在存儲海量數據方面有著很明顯的優勢。

(3)與傳統關係型資料庫相比, NoSQL有著非常顯著的性能和擴展性優勢。

(4)與傳統的關係型資料庫(如與 MySQL)相比, MongoDB的優點如下。

弱一致性(最終一致),更能保證用戶的訪問速度。

使用文檔結構的存儲方式,能夠更便捷地獲取數據。

53、談談棧和堆的區別。

區別如下:

(1)棧( stack)區由編譯器自動分配和釋放,存放函數的參數值、局部變量的值等。

堆(heap)區一般由程式設計師分配和釋放,若程式設計師不釋放,程序結束時可能由OS回收。

(2)堆(數據結構)可以被看成一棵樹,如堆排序。棧(數據結構)是一種先進後出的數據結構。

推薦閱讀

【前端面試題】—18道有關混合開發的面試題(附答案)

【前端面試題】—21道有關移動端的面試題(附答案)

相關焦點

  • 前端面試題每日1練_262
    --答案--題目1:正確答案:BC解析:D這個語法定義的是方法(method)。因為這種寫法只能在class裡生效,所以D這個function始終是跟一個object有關聯的,也就是說,D準確的說應該是一個method,而不是function(函數)題目2:正確答案:BD解析:Readonly只針對
  • 2020Web前端常見經典面試題及答案-開課吧
    Web前端常見面試題及答案問題:js有哪些類型?本文收錄了一些在Web前端開發面試中經常會遇到的面試題及答案,希望對大家有所幫助,若有所疏漏歡迎指正。
  • 開課吧:2020Web前端開發常見面試題及答案,提高面試通過率!
    Web前端開發面試題及答案問題:實現節流函數(throttle)解析:防抖函數原理:規定在個單位時間內,只能觸發次函數。以上就是小科今天整理提供的Web前端開發面試題,希望為Web前端同學提供了有用的面試素材,以後小科每日均會提供Python、Web及MySQL資料庫相關的習題。學習沒有捷徑,希望大家都能少走一些彎路,順利找到工作!
  • 2020Web前端開發常見面試題匯總-開課吧
    2020Web前端面試題了解一些面試題及答案以下是小編為大家整理的web前端面試題及答案,供各位參考。Web前端面試題:異步請求適合在哪個生命周期調?解析:官實例的異步請求是在mounted命周期中調的,實際上也可以在created命周期中調。
  • 前端面試題每日1練_250
    3for(var i = 0; i < 5; i++){    requestAnimationFrame(() => console.log(i));}A:1 2 3 4 5B:0 1 2 3 4C:4 4 4 4 4D:5 5 5 5 5--答案
  • 【前端面試題】01—42道常見的HTML5面試題(附答案)
    但在面試中,HTML5部分的面試題主要考察應試者對HTML5API的掌握情況,這是HTML5的重點,也正是這些API推動了前端的發展。有些人認為HTML5隻是新增了一些語義化HTML標籤,或者HTML5隻是對HTML做了拓展,我們只須了解HTML相關知識的觀點是不正確的。今天我們將跟大家分享42道HTML5的相關面試題。
  • 前端面試題集合
    內存洩露的排除定位和解決方法垃圾回收機制websocket實現原理http狀態碼301 302的區別,304是啥緩存機制,協商協議定時器setTimeout的運行機制事件循環機制 eventloop異步es5 es6 es7分別怎麼樣解決js的繼承的實現方法清除浮動的方法常見布局的方法
  • 前端面試題每日1練_253
    A:判斷obj對象是否具有val屬性B:判斷obj對象是否具有val的值C:判斷obj的原型對象是否具有val的屬性D:判斷obj的原型對象是否具有val的值--答案--題目1:正確答案:B解析:題目2:正確答案:B解析:AMD和CMD都是瀏覽器端的js模塊化規範,分別由require.js和sea.js實現。 CommonJS是伺服器端的js模塊化規範,由NodeJS實現。
  • 2020 前端面試|第二波面試題總結
    前言哈,看樣子年後跳槽還是大家比較關心的一件事情了,繼第一波面試題匯總的反響和評論,觀看和點讚的朋友們很多,我繼續將後續面試的一些內容寫出來,有很多面試題答案我自己寫的比較含糊,但是在面試的過程中是描述的表較多的。畢竟寫文字要寫出來太多了。我也只是寫了一個大概,如果對答案不太滿意的同學可以自行查詢標準答案哈。
  • 這個Github項目,搞定前端開發所有React 面試題
    重磅乾貨,第一時間送達隨著JQuery的逐漸衰落離場,如今的前端開發框架界前三已被:Vue,React,Angular 牢牢佔據,Vue,React,Angular三巨頭也是我們前端開發工程師必須要學習的內容之一,三大前端框架相關問題在面試中常常會著重被面試官提問到。
  • 【前端面試題】—30道常見React基礎面試題(附答案)
    <Parent><h1>有課前端網</h1></Parent>在父組件內部,如果嘗試使用 props.children. map映射子對象,則會拋出錯誤,因為props. children是一個對象,而不是一個數組。
  • 500道Java 必備面試題答案(過後即刪)
    其實,很多面試者在搜集面試資料的時候都踩過一些「坑」,你是不是也遇到過:免費搜索的面試題,內容不全面,這就算了,有時候答案都不準確;很多培訓機構提供的面試寶典內容雖然不少,但深度不夠,且面試題過於老舊脫離了企業實際需要;還有很多付費的面試題存在濫竽充數,提供了很多沒有價值的面試題,錢花了,乾貨沒學到;
  • 2020最新Web前端經典面試題試題及答案(持續更新)-開課吧
    Web前端面試題Web前端面試題:說說你對webpack的看法解析:webpack是一個模塊打包工具,可以使用webpack可以將代碼切割成不同的chunk,實現按需加載,降低了初始化時間支持sourceUrls和sourceMaps,易於調試具有強大的plugin接口,大多是內部插件,使用起來比較靈活webpack使用異步IO並具有多級緩存,在增亮編譯上更加快Web前端面試題
  • 2020 前端面試 | 第一波面試題總結
    前言 先介紹一下自己的情況吧 內蒙古呼和浩特某大學畢業,專科,計算機多媒體專業畢業 16年出來工作,工作經驗四年,之前主要做平面相關,自己喜歡瞎折騰,從17年開始研究前端
  • 常見結構化面試經典100題及答案查看
    常見結構化面試經典100題及答案查看由北京教師招聘考試網提供:更多關於結構化面試經典100題的內容請關注教師資格考試網/北京教師招聘考試網!或關注北京華圖微信公眾號(bjhuatu),北京教師考試培訓諮詢電話:400-010-1568。
  • 前端同學經常忽視的一個 JavaScript 面試題
    function getName() { alert (5);} //請寫出以下輸出結果:Foo.getName();getName();Foo().getName();getName();new Foo.getName();new Foo().getName();new new Foo().getName();這幾天面試上幾次碰上這道經典的題目
  • 面試珍藏:最常見的200多道Java面試題(2019年最新版)
    ,我做了大量的「功課」,首先我研究了幾乎所有大廠的面試題,還和負責招聘工作的幾個朋友,詳細的探討了 Java 面試所要涉及的知識點,於是就有了今天大家看到的這 200 多道面試題。原因二:節省招聘雙方彼此的時間,有些來公司面試人,無論是有幾年工作經驗的還是剛畢業的,就連這些最基礎的面試題都搞不定,這確實讓人很遺憾。常言道「一屋不掃何以掃天下」,也是同樣的道理,如果連基礎的概念都搞不明白,又怎麼讓面試官相信你能寫出高質量的程序呢?與其浪費彼此的時間,還不如花點時間把自己的基礎知識掌握牢固。
  • 每日一學:2020Web前端面試題匯總,提高面試成功機率-開課吧
    本文收錄了一些在Web前端開發面試中經常會遇到的面試題及答案,希望對大家有所幫助,若有所疏漏歡迎指正。2020Web前端面試題Web前端面試題:怎樣查找字符串中出現最多的字符和個數?{ num= $0.length;char = $1;}});console.log(`字符最多的是${char},出現了${num}次`);Web前端面試題題
  • 2020Web前端開發常見面試題及答案全解析-開課吧Web前端
    Web前端開發問題一:前端如何進行seo優化,以下說法錯誤的是:A.爬蟲依賴於標籤來確定上下文和各個關鍵字的權重;解析:title 指圖片的信息(滑鼠移到圖片上顯示)、alt 指圖片不顯示時顯示的文字以上就是小科今天整理提供的Web前端開發面試題,希望為Web前端同學提供了有用的面試素材,以後酷仔每日均會提供Python及Web相關的習題。
  • 答對這40道經典web前端面試題,想不拿到offer都難!
    想成功就業web前端工程師,想要能高薪就業,那麼除了好的web前端技能以外,還得有好的面試技巧,如果提前就了解更多企業的面試要求及面試題目,那麼可以讓我們的面試成功的機率大大的提高。今天小編就整理了一些經典的web前端面試題,希望可以祝大家一臂之力。一、HTML常見題目01、Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?02、HTML5為什麼只需要寫?