首页
/
每日頭條
/
職場
/
web前端html面試題及答案
web前端html面試題及答案
更新时间:2025-12-07 19:42:05

  簡答題 1、什麼是防抖和節流?有什麼區别?如何實現?

  參考答案

  防抖

  觸發高頻事件後n秒内函數隻會執行一次,如果n秒内高頻事件再次被觸發,則重新計算時間

  思路: 每次觸發事件時都取消之前的延時調用方法

  web前端html面試題及答案(前端經典面試題)(1)

  節流

  高頻事件觸發,但在n秒内隻會執行一次,所以節流會稀釋函數的執行頻率

  思路: 每次觸發事件時都判斷當前是否有等待執行的延時函數

  web前端html面試題及答案(前端經典面試題)(2)

  2、 get請求傳參長度的誤區、get和post請求在緩存方面的區别

  誤區:我們經常說get請求參數的大小存在限制,而post請求的參數大小是無限制的。

  參考答案

  實際上HTTP 協議從未規定 GET/POST 的請求長度限制是多少。對get請求參數的限制是來源與浏覽器或web服務器,浏覽器或web服務器限制了url的長度。為了明确這個概念,我們必須再次強調下面幾點:

  HTTP 協議 未規定 GET 和POST的長度限制GET的最大長度顯示是因為 浏覽器和 web服務器限制了 URI的長度不同的浏覽器和WEB服務器,限制的最大長度不一樣要支持IE,則最大長度為2083byte,若隻支持Chrome,則最大長度 8182byte 補充補充一個get和post在緩存方面的區别:

  get請求類似于查找的過程,用戶獲取數據,可以不用每次都與數據庫連接,所以可以使用緩存。post不同,post做的一般是修改和删除的工作,所以必須與數據庫交互,所以不能使用緩存。因此get請求适合于請求緩存。 3、模塊化發展曆程

  可從IIFE、AMD、CMD、CommonJS、UMD、webpack(require.ensure)、ES Module、script type="module" 這幾個角度考慮。

  參考答案

  模塊化主要是用來抽離公共代碼,隔離作用域,避免變量沖突等。

  IIFE: 使用自執行函數來編寫模塊化,特點:在一個單獨的函數作用域中執行代碼,避免變量沖突

  web前端html面試題及答案(前端經典面試題)(3)

  AMD: 使用requireJS 來編寫模塊化,特點:依賴必須提前聲明好

  web前端html面試題及答案(前端經典面試題)(4)

  CMD: 使用seaJS 來編寫模塊化,特點:支持動态引入依賴文件

  web前端html面試題及答案(前端經典面試題)(5)

  CommonJS: nodejs 中自帶的模塊化。

  web前端html面試題及答案(前端經典面試題)(6)

  UMD:兼容AMD,CommonJS 模塊化語法。

  webpack(require.ensure):webpack 2.x 版本中的代碼分割。

  ES Modules: ES6 引入的模塊化,支持import 來引入另一個 js 。

  web前端html面試題及答案(前端經典面試題)(7)

  4、npm 模塊安裝機制,為什麼輸入 npm install 就可以自動安裝對應的模塊?

  參考答案

  1. npm 模塊安裝機制:

  發出npm install命令查詢node_modules目錄之中是否已經存在指定模塊若存在,不再重新安裝若不存在npm 向 registry 查詢模塊壓縮包的網址下載壓縮包,存放在根目錄下的.npm目錄裡解壓壓縮包到當前項目的node_modules目錄 2. npm 實現原理

  輸入 npm install 命令并敲下回車後,會經曆如下幾個階段(以 npm 5.5.1 為例):

  執行工程自身 preinstall當前 npm 工程如果定義了 preinstall 鈎子此時會被執行。确定首層依賴模塊首先需要做的是确定工程中的首層依賴,也就是 dependencies 和 devDependencies 屬性中直接指定的模塊(假設此時沒有添加 npm install 參數)。工程本身是整棵依賴樹的根節點,每個首層依賴模塊都是根節點下面的一棵子樹,npm 會開啟多進程從每個首層依賴模塊開始逐步尋找更深層級的節點。獲取模塊獲取模塊是一個遞歸的過程,分為以下幾步:獲取模塊信息。在下載一個模塊之前,首先要确定其版本,這是因為 package.json 中往往是 semantic version(semver,語義化版本)。此時如果版本描述文件(npm-shrinkwrap.json 或 package-lock.json)中有該模塊信息直接拿即可,如果沒有則從倉庫獲取。如 packaeg.json 中某個包的版本是 ^1.1.0,npm 就會去倉庫中獲取符合 1.x.x 形式的最新版本。獲取模塊實體。上一步會獲取到模塊的壓縮包地址(resolved 字段),npm 會用此地址檢查本地緩存,緩存中有就直接拿,如果沒有則從倉庫下載。查找該模塊依賴,如果有依賴則回到第1步,如果沒有則停止。模塊扁平化(dedupe)上一步獲取到的是一棵完整的依賴樹,其中可能包含大量重複模塊。比如 A 模塊依賴于 loadsh,B 模塊同樣依賴于 lodash。在 npm3 以前會嚴格按照依賴樹的結構進行安裝,因此會造成模塊冗餘。從 npm3 開始默認加入了一個 dedupe 的過程。它會遍曆所有節點,逐個将模塊放在根節點下面,也就是 node-modules 的第一層。當發現有重複模塊時,則将其丢棄。這裡需要對重複模塊進行一個定義,它指的是模塊名相同semver 兼容。每個 semver 都對應一段版本允許範圍,如果兩個模塊的版本允許範圍存在交集,那麼就可以得到一個兼容版本,而不必版本号完全一緻,這可以使更多冗餘模塊在 dedupe 過程中被去掉。比如 node-modules 下 foo 模塊依賴 lodash@^1.0.0,bar 模塊依賴 lodash@^1.1.0,則 ^1.1.0 為兼容版本。而當 foo 依賴 lodash@^2.0.0,bar 依賴 lodash@^1.1.0,則依據 semver 的規則,二者不存在兼容版本。會将一個版本放在 node_modules 中,另一個仍保留在依賴樹裡。舉個例子,假設一個依賴樹原本是這樣:node_modules-- foo---- lodash@version1-- bar---- lodash@version2假設 version1 和 version2 是兼容版本,則經過 dedupe 會成為下面的形式:node_modules-- foo-- bar-- lodash(保留的版本為兼容版本)假設 version1 和 version2 為非兼容版本,則後面的版本保留在依賴樹中:node_modules-- foo-- lodash@version1-- bar---- lodash@version2安裝模塊這一步将會更新工程中的 node_modules,并執行模塊中的生命周期函數(按照 preinstall、install、postinstall 的順序)。執行工程自身生命周期當前 npm 工程如果定義了鈎子此時會被執行(按照 install、postinstall、prepublish、prepare 的順序)。最後一步是生成或更新版本描述文件,npm install 過程完成。 5、ES5的繼承和ES6的繼承有什麼區别?

  6、定時器的執行順序或機制?

  7、['1','2','3'].map(parseInt) 輸出什麼,為什麼?

  8、Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?

  9、fetch發送2次請求的原因

  http、浏覽器對象 1、HTTPS 握手過程中,客戶端如何驗證證書的合法性

  2、TCP三次握手和四次揮手

  3、img iframe script 來發送跨域請求有什麼優缺點?

  4、http和https的區别?

  5、什麼是Bom?有哪些常用的Bom屬性?

  6、Cookie、sessionStorage、localStorage的區别

  7、Cookie如何防範XSS攻擊

  8、浏覽器和 Node 事件循環的區别?

  9、簡述HTTPS中間人攻擊

  10、說幾條web前端優化策略

  11、你了解的浏覽器的重繪和回流導緻的性能問題

  react、Vue 1、寫 React / Vue 項目時為什麼要在列表組件中寫 key,其作用是什麼?

  2、React 中 setState 什麼時候是同步的,什麼時候是異步的?

  3、下面輸出什麼

  4、為什麼虛拟dom會提高性能?

  css 1、分析比較 opacity: 0、visibility: hidden、display: none 優劣和适用場景

  2、清除浮動的方式有哪些?比較好的是哪一種?

  3、css sprite 是什麼,有什麼優缺點

  4、link與@import的區别

  5、display: block;和display: inline;的區别

  6、容器包含若幹浮動元素時如何清理浮動

  7、PNG,GIF,JPG 的區别及如何選

  8、display,float,position 的關系

  9、如何水平居中一個元素

  JavaScript 1、JS有幾種數據類型,其中基本數據類型有哪些?

  2、Promise 構造函數是同步執行還是異步執行,那麼 then 方法呢?

  3、JS的四種設計模式

  4、列舉出集中創建實例的方法

  5、簡述一下前端事件流

  6、Function.proto(getPrototypeOf)是什麼?

  7、簡述一下原型 / 構造函數 / 實例

  8、簡述一下JS繼承,并舉例

  9、函數柯裡化

  10、說說bind、call、apply 區别?

  11、箭頭函數的特點

  程序閱讀題 1、下面程序輸出的結果是什麼?

  web前端html面試題及答案(前端經典面試題)(8)

  A: Lydia 和 undefinedB: Lydia 和 ReferenceErrorC: ReferenceError 和 21D: undefined 和 ReferenceError 2、下面代碼輸出什麼

  web前端html面試題及答案(前端經典面試題)(9)

  3、下面的輸出結果是什麼?

  web前端html面試題及答案(前端經典面試題)(10)

  A: orangeB: purpleC: greenD: TypeError 4、下面代碼中什麼時候會輸出1?

  web前端html面試題及答案(前端經典面試題)(11)

  5、下面的輸出結果是什麼?

  web前端html面試題及答案(前端經典面試題)(12)

  6、下面代碼輸出的結果是什麼?

  web前端html面試題及答案(前端經典面試題)(13)

  7、下面代碼的輸出是什麼?

  web前端html面試題及答案(前端經典面試題)(14)

  8、下面代碼的輸出是什麼?

  web前端html面試題及答案(前端經典面試題)(15)

  9、下面代碼的輸出是什麼?

  web前端html面試題及答案(前端經典面試題)(16)

  10、下面代碼的輸出是什麼?

  web前端html面試題及答案(前端經典面試題)(17)

  11、下面代碼的輸出結果是什麼?

  web前端html面試題及答案(前端經典面試題)(18)

  因文章篇幅較長,不能把答案一一寫出

  最後

  小編是一個有着5年工作經驗的前端工程師,關于web前端有一個完整學習web前端的路線,學習材料和工具。需要的夥伴可以私信我,發送“前端”就可以獲取領取地址,免費送給大家。對于學習web前端有任何問題(學習方法,學習效率,如何就業)都可以問我。希望你也能憑自己的努力,成為下一個優秀的程序員!

  ,

Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
男人不介意妻子沒有工作的原因(男人不介意妻子沒有工作)
男人不介意妻子沒有工作的原因(男人不介意妻子沒有工作)
  曾經認識一個中年離婚男人,有些男人離婚後會後悔,有些男人離婚後會高興,但是這個中年男人離婚後卻很矛盾。他說自己離婚後其實也很後悔,可是一想到離婚前的日子,更不想再過那樣的日子了,慢慢地也就順其自然,不再去想了。   男人跟自己的前妻結婚有了孩子後,妻子在家做起了全職媽媽,他一個人在外辛苦工作,賺錢養家。此後男人開始一個人承受着經濟壓力,不僅要養妻兒,還要...
2025-12-07
甲骨文裁員傳聞(為什麼甲骨文被裁員工不值得同情)
甲骨文裁員傳聞(為什麼甲骨文被裁員工不值得同情)
     出品 | © 子彈财經   作者 | © 克虜伯      “北京最大的一個養老院倒了。”   一位程序員朋友談起最近甲骨文裁員的話題時,風趣的打起了比喻,聽上去多少有些黑色幽默。   5月7日,甲骨文中國公司被曝出裁員的傳聞,随後這一消息被内部員工确認,甲骨文中國區的高管在當天接到了來自美國總部的一通VIP電話,通知裁員的消息,甚至根本沒有任何選...
2025-12-07
好的職場遊戲(一場遊戲一場夢)
好的職場遊戲(一場遊戲一場夢)
  ——人生的底色是悲涼的——   之前一直打算認認真真寫一篇關于職場的勾心鬥角之事,以飨讀者,結果總是忙前忙後抽不開時間去創作,當然我指的創作不是胡編亂造,是真實發生在我身上的事情,感覺自己在職場上也摸爬滾打十餘年了,寫這些是足夠有信服力,再加上自己的文字功底不賴,自然就是信手拈來的事情。   好希望頭條能開通個語音輸入功能,這樣就避免了一個字一個字去打,...
2025-12-07
好看的職場類電視劇有哪些(9部堪比宮鬥劇的職場劇)
好看的職場類電視劇有哪些(9部堪比宮鬥劇的職場劇)
  大家有開始追孫俪和趙又廷主演的劇《理想之城》了嗎?這部職場劇非常精彩,高能劇情堪比宮鬥劇,被網友稱為現代版的《甄嬛傳》。以往職場劇往往會淪為批着職場皮的瑪莉蘇偶像劇,但小編發現近期有不少好看的職場題材劇,像是《怪你過分美麗》、《我是真的愛你》、《安家》等等,以下網友評論9部堪比宮鬥劇的「職場劇」,《平凡的榮耀》号稱男版《如懿傳》!      圖片來源:微...
2025-12-07
丈夫徹夜不歸妻子不聞不問(妻子抱怨丈夫不與自己同房)
丈夫徹夜不歸妻子不聞不問(妻子抱怨丈夫不與自己同房)
  導語:妻子抱怨丈夫不與自己同房,總是找借口加班,丈夫卻有難言   夫妻之間和諧、美好、幸福的生活,需要彼此努力的付出,也許要相互的關愛、支持,理解和信任,婚姻并不是愛情的墳墓,但是否能夠經營好,卻很大程度決定定了婚姻的保鮮期。      有這樣一對夫妻因為感情糾紛來到《愛情保衛戰》的舞蹈上,由于他們和其他家庭不一樣,讓很多人這對夫妻生活産生了很大的感慨,...
2025-12-07
Copyright 2023-2025 - www.tftnews.com All Rights Reserved