web前端培訓:web前端工程師面試題大全

最近看到web羣裏的人,特別關心面試web前端開發工程師時,面試官都會問那些問題,今天小編分享web前端培訓專家整理了一份,web前端開發工程師崗位面試題的大全,大家可看看,做爲參考。


一、HTML常見題目

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

  02、HTML5爲什麼只需要寫<!DOCTYPE HTML>?

  03、行內元素有哪些?塊級元素有哪些?空(void)元素有那些?

  04、頁面導入樣式時,使用link和@import有什麼區別?

  05、介紹一下你對瀏覽器內核的理解?

  06、常見的瀏覽器內核有哪些?

  07、html5有哪些新特性、移除了那些元素?如何處理HTML5新標籤的瀏覽器兼容問題?

  08、如何區分HTML和HTML5?

  09、簡述一下你對HTML語義化的理解?

  10、HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?

  11、瀏覽器是怎麼對HTML5的離線儲存資源進行管理和加載的呢?

  12、請描述一下cookies,sessionStorage和localStorage的區別?

  13、iframe有那些缺點?

  14、Label的作用是什麼?是怎麼用的?(加for或包裹)

  15、HTML5的form如何關閉自動完成功能?

  16、如何實現瀏覽器內多個標籤頁之間的通信? (阿里)

  17、webSocket如何兼容低瀏覽器?(阿里)

  18、頁面可見性(Page Visibility)API可以有哪些用途?

  19、如何在頁面上實現一個圓形的可點擊區域?

  20、實現不使用border畫出1px高的線,在不同瀏覽器的Quirksmode和CSSCompat模式下都能保持同一效果。

  21、網頁驗證碼是幹嘛的,是爲了解決什麼安全問題?

  22、tite與h1的區別、b與strong的區別、i與em的區別?


二、CSS類的題目

  01、介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什麼不同的?

  02、CSS選擇符有哪些?哪些屬性可以繼承?

  03、CSS優先級算法如何計算?

  04、CSS3新增僞類有那些?

  05、如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?

  06、display有哪些值?說明他們的作用。

  07、position的值relative和absolute定位原點是?

  08、CSS3有哪些新特性?

  09、請解釋一下CSS3的Flexbox(彈性盒佈局模型),以及適用場景?

  10、用純CSS創建一個三角形的原理是什麼?

  11、一個滿屏品字佈局如何設計?

  12、常見兼容性問題?

  13、li與li之間有看不見的空白間隔是什麼原因引起的?有什麼解決辦法?

  14、經常遇到的瀏覽器的兼容性有哪些?原因,解決方法是什麼,常用hack的技巧?

  15、爲什麼要初始化CSS樣式。

  16、absolute的containing block計算方式跟正常流有什麼不同?

  17、CSS裏的visibility屬性有個collapse屬性值是幹嘛用的?在不同瀏覽器下以後什麼區別?

  18、position跟display、margin collapse、overflow、float這些特性相互疊加後會怎麼樣?

  19、對BFC規範(塊級格式化上下文:block formatting context)的理解?

  20、CSS權重優先級是如何計算的?

  21、請解釋一下爲什麼會出現浮動和什麼時候需要清除浮動?清除浮動的方式

  22、移動端的佈局用過媒體查詢嗎?

  23、使用CSS預處理器嗎?喜歡那個?

  24、CSS優化、提高性能的方法有哪些?

  25、瀏覽器是怎樣解析CSS選擇器的?

  26、在網頁中的應該使用奇數還是偶數的字體?爲什麼呢?

  27、margin和padding分別適合什麼場景使用?

  28、抽離樣式模塊怎麼寫,說出思路,有無實踐經驗?[阿里航旅的面試題]

  29、元素豎向的百分比設定是相對於容器的高度嗎?

  30、全屏滾動的原理是什麼?用到了CSS的那些屬性?

  31、什麼是響應式設計?響應式設計的基本原理是什麼?如何兼容低版本的IE?

  32、視差滾動效果,如何給每頁做不同的動畫?(回到頂部,向下滑動要再次出現,和只出現一次分別怎麼做?)

  33、::before和:after中雙冒號和單冒號有什麼區別?解釋一下這2個僞元素的作用。

  34、如何修改chrome記住密碼後自動填充表單的黃色背景?

  35、你對line-height是如何理解的?

  36、設置元素浮動後,該元素的display值是多少?(自動變成display:block)

  37、怎麼讓Chrome支持小於12px的文字?

  38、讓頁面裏的字體變清晰,變細用CSS怎麼做?(-webkit-font-smoothing: antialiased;)

  39、font-style屬性可以讓它賦值爲“oblique” oblique是什麼意思?

  40、position:fixed;在android下無效怎麼處理?

  41、如果需要手動寫動畫,你認爲最小時間間隔是多久,爲什麼?(阿里)

  42、display:inline-block什麼時候會顯示間隙?(攜程)

  43、overflow: scroll時不能平滑滾動的問題怎麼處理?

  44、有一個高度自適應的div,裏面有兩個div,一個高度100px,希望另一個填滿剩下的高度。

  45、png、jpg、gif這些圖片格式解釋一下,分別什麼時候用。有沒有了解過webp?

  46、什麼是Cookie隔離?(或者說:請求資源的時候不要讓它帶cookie怎麼做)

  47、style標籤寫在body後與body前有什麼區別?


三、JavaScript類的題目

  01、介紹JavaScript的基本數據類型。

  02、說說寫JavaScript的基本規範?

  03、JavaScript原型,原型鏈?有什麼特點?

  04、JavaScript有幾種類型的值?(堆:原始數據類型和棧:引用數據類型),你能畫一下他們的內存圖嗎?

  05、Javascript如何實現繼承?

  06、Javascript創建對象的幾種方式?

  07、Javascript作用鏈域?

  08、談談This對象的理解。

  09、eval是做什麼的?

  10、什麼是window對象?什麼是document對象?

  11、null,undefined的區別?

  12、寫一個通用的事件偵聽器函數(機試題)。

  13、[“1”, “2”, “3”].map(parseInt)答案是多少?

  14、關於事件,IE與火狐的事件機制有什麼區別?如何阻止冒泡?

  15、什麼是閉包(closure),爲什麼要用它?

  16、javascript代碼中的”use strict”;是什麼意思?使用它區別是什麼?

  17、如何判斷一個對象是否屬於某個類?

  18、new操作符具體幹了什麼呢?

  19、用原生JavaScript的實現過什麼功能嗎?

  20、Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?

  21、對JSON的瞭解?

  22、[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) })能解釋一下這段代碼的意思嗎?

  23、js延遲加載的方式有哪些?

  24、Ajax是什麼?如何創建一個Ajax?

  25、同步和異步的區別?

  26、如何解決跨域問題?

  27、頁面編碼和被請求的資源編碼如果不一致如何處理?

  28、模塊化開發怎麼做?

  29、AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)規範區別?

  30、requireJS的核心原理是什麼?(如何動態加載的?如何避免多次加載的?如何緩存的?)

  31、讓你自己設計實現一個requireJS,你會怎麼做?

  32、談一談你對ECMAScript6的瞭解?

  33、ECMAScript6怎麼寫class麼,爲什麼會出現class這種東西?

  34、異步加載的方式有哪些?

  35、documen.write和innerHTML的區別?

  36、DOM操作——怎樣添加、移除、移動、複製、創建和查找節點?

  37、.call()和.apply()的含義和區別?

  38、數組和對象有哪些原生方法,列舉一下?

  39、JS怎麼實現一個類。怎麼實例化這個類

  40、JavaScript中的作用域與變量聲明提升?

  41、如何編寫高性能的Javascript?

  42、那些操作會造成內存泄漏?

  43、JQuery的源碼看過嗎?能不能簡單概況一下它的實現原理?

  44、jQuery.fn的init方法返回的this指的是什麼對象?爲什麼要返回this?

  45、jquery中如何將數組轉化爲json字符串,然後再轉化回來?

  46、jQuery的屬性拷貝(extend)的實現原理是什麼,如何實現深拷貝?

  47、jquery.extend與jquery.fn.extend的區別?

  48、jQuery的隊列是如何實現的?隊列可以用在哪些地方?

  49、談一下Jquery中的bind(),live(),delegate(),on()的區別?

  50、JQuery一個對象可以同時綁定多個事件,這是如何實現的?

  51、是否知道自定義事件。jQuery裏的fire函數是什麼意思,什麼時候用?

  52、jQuery是通過哪個方法和Sizzle選擇器結合的?(jQuery.fn.find()進入Sizzle)

  53、針對jQuery性能的優化方法?

  54、Jquery與jQuery UI有啥區別?

  55、JQuery的源碼看過嗎?能不能簡單說一下它的實現原理?

  56、jquery中如何將數組轉化爲json字符串,然後再轉化回來?

  57、jQuery和Zepto的區別?各自的使用場景?

  58、針對jQuery的優化方法?

  59、Zepto的點透問題如何解決?

  60、jQueryUI如何自定義組件?

  61、需求:實現一個頁面操作不會整頁刷新的網站,並且能在瀏覽器前進、後退時正確響應。給出你的技術實現方案?

  62、如何判斷當前腳本運行在瀏覽器還是node環境中?(阿里)

  63、移動端最小觸控區域是多大?

  64、jQuery的slideUp動畫,如果目標元素是被外部事件驅動,當鼠標快速地連續觸發外部元素事件,動畫會滯後的反覆執行,該如何處理呢?

  65、把Script標籤放在頁面的最底部的body封閉之前和封閉之後有什麼區別?瀏覽器會如何解析它們?

  66、移動端的點擊事件的有延遲,時間是多久,爲什麼會有?怎麼解決這個延時?(click有300ms延遲,爲了實現safari的雙擊事件的設計,瀏覽器要知道你是不是要雙擊操作。)

  67、知道各種JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)麼?能講出他們各自的優點和缺點麼?

  68、Underscore對哪些JS原生對象進行了擴展以及提供了哪些好用的函數方法?

  69、解釋JavaScript中的作用域與變量聲明提升?

  70、那些操作會造成內存泄漏?

  71、JQuery一個對象可以同時綁定多個事件,這是如何實現的?

  72、Node.js的適用場景?(如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering麼?

  73、解釋一下Backbone的MVC實現方式?

  74、什麼是“前端路由”?什麼時候適合使用“前端路由”? “前端路由”有哪些優點和缺點?

  75、知道什麼是webkit麼?知道怎麼用瀏覽器的各種工具來調試和debug代碼麼?

  76、如何測試前端代碼麼?知道BDD, TDD, Unit Test麼?知道怎麼測試你的前端工程麼(mocha, sinon, jasmin, qUnit..)?

  77、前端templating(Mustache, underscore, handlebars)是幹嘛的,怎麼用?

  78、簡述一下Handlebars的基本用法?

  79、簡述一下Handlerbars的對模板的基本處理流程,如何編譯的?如何緩存的?

  80、用js實現千位分隔符?(來源:前端農民工,提示:正則+replace)

  81、檢測瀏覽器版本版本有哪些方式?

  82、我們給一個dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡,你來說下會執行幾次事件,然後會先執行冒泡還是捕獲。


四、面試官愛問的問題

  01、原來公司工作流程是怎麼樣的,如何與其他人協作的?如何誇部門合作的?

  02、你遇到過比較難的技術問題是?你是如何解決的?

  03、設計模式知道什麼是singleton, factory, strategy, decrator麼?

  04、常使用的庫有哪些?常用的前端開發工具?開發過什麼應用或組件?

  05、頁面重構怎麼操作?

  06、列舉IE與其他瀏覽器不一樣的特性?

  07、99%的網站都需要被重構是那本書上寫的?

  08、什麼叫優雅降級和漸進增強?

  09、是否瞭解公鑰加密和私鑰加密。

  10、WEB應用從服務器主動推送Data到客戶端有那些方式?

  11、對Node的優點和缺點提出了自己的看法?

  12、你有用過哪些前端性能優化的方法?

  13、http狀態碼有那些?分別代表是什麼意思?

  14、一個頁面從輸入URL到頁面加載顯示完成,這個過程中都發生了什麼?(流程說的越詳細越好)

  15、部分地區用戶反應網站很卡,請問有哪些可能性的原因,以及解決方法?

  16、從打開app到刷新出內容,整個過程中都發生了什麼,如果感覺慢,怎麼定位問題,怎麼解決?

  17、除了前端以外還了解什麼其它技術麼?你最最厲害的技能是什麼?

  18、你用的得心應手用的熟練地編輯器&開發環境是什麼樣子?

  19、對前端界面工程師這個職位是怎麼樣理解的?它的前景會怎麼樣?

  20、你怎麼看待Web App 、hybrid App、Native App?

  21、你移動端前端開發的理解?(和Web前端開發的主要區別是什麼?)

  22、你對加班的看法?

  23、平時如何管理你的項目?

  24、說說最近最流行的一些東西吧?常去哪些網站?

  25、如何設計突發大規模併發架構?

  26、是否瞭解開源的工具bower、npm、yeoman、grunt、gulp,一個npm的包裏的package.json具備的必要的字段都有哪些?(名稱、版本號,依賴)

  每個模塊的代碼結構都應該比較簡單,且每個模塊之間的關係也應該非常清晰,隨着功能和迭代次數越來越多,你會如何去保持這個狀態的?

  27、Git知道branch, diff, merge麼?如何設計突發大規模併發架構?

  28、當團隊人手不足,把功能代碼寫完已經需要加班的情況下,你會做前端代碼的測試嗎?

  29、知道什麼是SEO並且怎麼優化麼?知道各種meta data的含義麼?

  30、移動端(Android IOS)怎麼做好用戶體驗?

  31、簡單描述一下你做過的移動APP項目研發流程?

  32、你在現在的團隊處於什麼樣的角色,起到了什麼明顯的作用?

  33、你認爲怎樣纔是全端工程師(Full Stack developer)?

  34、介紹一個你最得意的作品吧?

  35、你有自己的技術博客嗎,用了哪些技術?

  36、對前端安全有什麼看法?

  37、是否瞭解Web注入***,說下原理,最常見的兩種***(XSS和CSRF)瞭解到什麼程度?

  38、項目中遇到國哪些印象深刻的技術難題,具體是什麼問題,怎麼解決?。

  39、最近在學什麼東西?

  40、你的優點是什麼?缺點是什麼?

  41、如何管理前端團隊?

  42、最近在學什麼?能談談你未來3,5年給自己的規劃嗎?


  今天web前端知識小課堂就講到這。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章