web前端開發(fā)工程師面試題匯總
一、HTML 常見題目
01、Doctype作用?嚴(yán)格模式與混雜模式如何區(qū)分?它們有何意義?
02、HTML5 為什么只需要寫 ?
03、行內(nèi)元素有哪些?塊級元素有哪些? 空(void)元素有那些?
04、頁面導(dǎo)入樣式時,使用link和@import有什么區(qū)別?
05、介紹一下你對瀏覽器內(nèi)核的理解?
06、常見的瀏覽器內(nèi)核有哪些?
07、html5有哪些新特性、移除了那些元素?如何處理HTML5新標(biāo)簽的瀏覽器兼容問題?
08、如何區(qū)分 HTML 和 HTML5?
09、簡述一下你對HTML語義化的理解?
10、HTML5的離線儲存怎么使用,工作原理能不能解釋一下?
11、瀏覽器是怎么對HTML5的離線儲存資源進(jìn)行管理和加載的呢?
12、請描述一下 cookies,sessionStorage 和 localStorage 的區(qū)別?
13、iframe有那些缺點?
14、Label的作用是什么?是怎么用的?(加 for 或 包裹)
15、HTML5的form如何關(guān)閉自動完成功能?
16、如何實現(xiàn)瀏覽器內(nèi)多個標(biāo)簽頁之間的通信? (阿里)
17、webSocket如何兼容低瀏覽器?(阿里)
18、頁面可見性(Page Visibility)API 可以有哪些用途?
19、如何在頁面上實現(xiàn)一個圓形的可點擊區(qū)域?
20、實現(xiàn)不使用 border 畫出1px高的線,在不同瀏覽器的Quirksmode和CSSCompat模式下都能保持同一效果。
21、網(wǎng)頁驗證碼是干嘛的,是為了解決什么安全問題?
22、tite與h1的區(qū)別、b與strong的區(qū)別、i與em的區(qū)別?
二、、CSS類的題目
01、介紹一下標(biāo)準(zhǔn)的CSS的盒子模型?與低版本IE的盒子模型有什么不同的?
02、CSS選擇符有哪些?哪些屬性可以繼承?
03、CSS優(yōu)先級算法如何計算?
04、CSS3新增偽類有那些?
05、如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
06、display有哪些值?說明他們的作用。
07、position的值relative和absolute定位原點是?
08、CSS3有哪些新特性?
09、請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
10、用純CSS創(chuàng)建一個三角形的原理是什么?
11、一個滿屏 品 字布局 如何設(shè)計?
12、常見兼容性問題?
13、li與li之間有看不見的空白間隔是什么原因引起的?有什么解決辦法?
14、經(jīng)常遇到的瀏覽器的兼容性有哪些?原因,解決方法是什么,常用hack的技巧 ?
15、為什么要初始化CSS樣式。
16、absolute的containing block計算方式跟正常流有什么不同?
17、CSS里的visibility屬性有個collapse屬性值是干嘛用的?在不同瀏覽器下以后什么區(qū)別?
18、position跟display、margin collapse、overflow、float這些特性相互疊加后會怎么樣?
19、對BFC規(guī)范(塊級格式化上下文:block formatting context)的理解?
20、CSS權(quán)重優(yōu)先級是如何計算的?
21、請解釋一下為什么會出現(xiàn)浮動和什么時候需要清除浮動?清除浮動的方式
22、移動端的布局用過媒體查詢嗎?
23、使用 CSS 預(yù)處理器嗎?喜歡那個?
24、CSS優(yōu)化、提高性能的方法有哪些?
25、瀏覽器是怎樣解析CSS選擇器的?
26、在網(wǎng)頁中的應(yīng)該使用奇數(shù)還是偶數(shù)的字體?為什么呢?
27、margin和padding分別適合什么場景使用?
28、抽離樣式模塊怎么寫,說出思路,有無實踐經(jīng)驗?[阿里航旅的面試題]
29、元素豎向的百分比設(shè)定是相對于容器的高度嗎?
30、全屏滾動的原理是什么?用到了CSS的那些屬性?
31、什么是響應(yīng)式設(shè)計?響應(yīng)式設(shè)計的基本原理是什么?如何兼容低版本的IE?
32、視差滾動效果,如何給每頁做不同的動畫?(回到頂部,向下滑動要再次出現(xiàn),和只出現(xiàn)一次分別怎么做?)
33、::before 和 :after中雙冒號和單冒號 有什么區(qū)別?解釋一下這2個偽元素的作用。
34、如何修改chrome記住密碼后自動填充表單的黃色背景 ?
35、你對line-height是如何理解的?
36、設(shè)置元素浮動后,該元素的display值是多少?(自動變成display:block)
37、怎么讓Chrome支持小于12px 的文字?
38、讓頁面里的字體變清晰,變細(xì)用CSS怎么做?(-webkit-font-smoothing: antialiased;)
39、font-style屬性可以讓它賦值為“oblique” oblique是什么意思?
40、position:fixed;在android下無效怎么處理?
41、如果需要手動寫動畫,你認(rèn)為最小時間間隔是多久,為什么?(阿里)
42、display:inline-block 什么時候會顯示間隙?(攜程)
43、overflow: scroll時不能平滑滾動的問題怎么處理?
44、有一個高度自適應(yīng)的div,里面有兩個div,一個高度100px,希望另一個填滿剩下的高度。
45、png、jpg、gif 這些圖片格式解釋一下,分別什么時候用。有沒有了解過webp?
46、什么是Cookie 隔離?(或者說:請求資源的時候不要讓它帶cookie怎么做)
47、style標(biāo)簽寫在body后與body前有什么區(qū)別?
二、JavaScript類的題目
01、介紹JavaScript的基本數(shù)據(jù)類型。
02、說說寫JavaScript的基本規(guī)范?
03、JavaScript原型,原型鏈 ? 有什么特點?
04、JavaScript有幾種類型的值?(堆:原始數(shù)據(jù)類型和 棧:引用數(shù)據(jù)類型),你能畫一下他們的內(nèi)存圖嗎?
05、Javascript如何實現(xiàn)繼承?
06、Javascript創(chuàng)建對象的幾種方式?
07、Javascript作用鏈域?
08、談?wù)凾his對象的理解。
09、eval是做什么的?
10、什么是window對象? 什么是document對象?
11、null,undefined的區(qū)別?
12、寫一個通用的事件偵聽器函數(shù)(機試題)。
13、[“1”, “2”, “3”].map(parseInt) 答案是多少?
14、關(guān)于事件,IE與火狐的事件機制有什么區(qū)別? 如何阻止冒泡?
15、什么是閉包(closure),為什么要用它?
16、javascript 代碼中的”use strict”;是什么意思 ? 使用它區(qū)別是什么?
17、如何判斷一個對象是否屬于某個類?
18、new操作符具體干了什么呢?
19、用原生JavaScript的實現(xiàn)過什么功能嗎?
20、Javascript中,有一個函數(shù),執(zhí)行時對象查找時,永遠(yuǎn)不會去查找原型,這個函數(shù)是?
21、對JSON的了解?
22、[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) }) 能解釋一下這段代碼的意思嗎?
23、js延遲加載的方式有哪些?
24、Ajax 是什么? 如何創(chuàng)建一個Ajax?
25、同步和異步的區(qū)別?
26、如何解決跨域問題?
27、頁面編碼和被請求的資源編碼如果不一致如何處理?
28、模塊化開發(fā)怎么做?
29、AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)規(guī)范區(qū)別?
30、requireJS的核心原理是什么?(如何動態(tài)加載的?如何避免多次加載的?如何 緩存的?)
31、讓你自己設(shè)計實現(xiàn)一個requireJS,你會怎么做?
32、談一談你對ECMAScript6的'了解?
33、ECMAScript6 怎么寫class么,為什么會出現(xiàn)class這種東西?
34、異步加載的方式有哪些?
35、documen.write和 innerHTML的區(qū)別?
36、DOM操作——怎樣添加、移除、移動、復(fù)制、創(chuàng)建和查找節(jié)點?
37、.call() 和 .apply() 的含義和區(qū)別?
38、數(shù)組和對象有哪些原生方法,列舉一下?
39、JS 怎么實現(xiàn)一個類。怎么實例化這個類
40、JavaScript中的作用域與變量聲明提升?
41、如何編寫高性能的Javascript?
42、那些操作會造成內(nèi)存泄漏?
43、JQuery的源碼看過嗎?能不能簡單概況一下它的實現(xiàn)原理?
44、jQuery.fn的init方法返回的this指的是什么對象?為什么要返回this?
45、jquery中如何將數(shù)組轉(zhuǎn)化為json字符串,然后再轉(zhuǎn)化回來?
46、jQuery 的屬性拷貝(extend)的實現(xiàn)原理是什么,如何實現(xiàn)深拷貝?
47、jquery.extend 與 jquery.fn.extend的區(qū)別?
48、jQuery 的隊列是如何實現(xiàn)的?隊列可以用在哪些地方?
49、談一下Jquery中的bind(),live(),delegate(),on()的區(qū)別?
50、JQuery一個對象可以同時綁定多個事件,這是如何實現(xiàn)的?
51、是否知道自定義事件。jQuery里的fire函數(shù)是什么意思,什么時候用?
52、jQuery 是通過哪個方法和 Sizzle 選擇器結(jié)合的?(jQuery.fn.find()進(jìn)入Sizzle)
53、針對 jQuery性能的優(yōu)化方法?
54、Jquery與jQuery UI有啥區(qū)別?
55、JQuery的源碼看過嗎?能不能簡單說一下它的實現(xiàn)原理?
56、jquery 中如何將數(shù)組轉(zhuǎn)化為json字符串,然后再轉(zhuǎn)化回來?
57、jQuery和Zepto的區(qū)別?各自的使用場景?
58、針對 jQuery 的優(yōu)化方法?
59、Zepto的點透問題如何解決?
60、jQueryUI如何自定義組件?
61、需求:實現(xiàn)一個頁面操作不會整頁刷新的網(wǎng)站,并且能在瀏覽器前進(jìn)、后退時正確響應(yīng)。給出你的技術(shù)實現(xiàn)方案?
62、如何判斷當(dāng)前腳本運行在瀏覽器還是node環(huán)境中?(阿里)
63、移動端最小觸控區(qū)域是多大?
64、jQuery 的 slideUp動畫 ,如果目標(biāo)元素是被外部事件驅(qū)動, 當(dāng)鼠標(biāo)快速地連續(xù)觸發(fā)外部元素事件, 動畫會滯后的反復(fù)執(zhí)行,該如何處理呢?
65、把 Script 標(biāo)簽 放在頁面的最底部的body封閉之前 和封閉之后有什么區(qū)別?瀏覽器會如何解析它們?
66、移動端的點擊事件的有延遲,時間是多久,為什么會有? 怎么解決這個延時?(click 有 300ms 延遲,為了實現(xiàn)safari的雙擊事件的設(shè)計,瀏覽器要知道你是不是要雙擊操作。)
67、知道各種JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能講出他們各自的優(yōu)點和缺點么?
68、Underscore 對哪些 JS 原生對象進(jìn)行了擴展以及提供了哪些好用的函數(shù)方法?
69、解釋JavaScript中的作用域與變量聲明提升?
70、那些操作會造成內(nèi)存泄漏?
71、JQuery一個對象可以同時綁定多個事件,這是如何實現(xiàn)的?
72、Node.js的適用場景?(如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
73、解釋一下 Backbone 的 MVC 實現(xiàn)方式?
74、什么是“前端路由”?什么時候適合使用“前端路由”? “前端路由”有哪些優(yōu)點和缺點?
75、知道什么是webkit么? 知道怎么用瀏覽器的各種工具來調(diào)試和debug代碼么?
76、如何測試前端代碼么? 知道BDD, TDD, Unit Test么? 知道怎么測試你的前端工程么(mocha, sinon, jasmin, qUnit..)?
77、前端templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?
78、簡述一下 Handlebars 的基本用法?
79、簡述一下 Handlerbars 的對模板的基本處理流程, 如何編譯的?如何緩存的?
80、用js實現(xiàn)千位分隔符?(來源:前端農(nóng)民工,提示:正則+replace)
81、檢測瀏覽器版本版本有哪些方式?
82、我們給一個dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡,你來說下會執(zhí)行幾次事件,然后會先執(zhí)行冒泡還是捕獲。
四、面試官愛問的問題
01、原來公司工作流程是怎么樣的,如何與其他人協(xié)作的?如何夸部門合作的?
02、你遇到過比較難的技術(shù)問題是?你是如何解決的?
03、設(shè)計模式 知道什么是singleton, factory, strategy, decrator么?
04、常使用的庫有哪些?常用的前端開發(fā)工具?開發(fā)過什么應(yīng)用或組件?
05、頁面重構(gòu)怎么操作?
06、列舉IE與其他瀏覽器不一樣的特性?
07、99%的網(wǎng)站都需要被重構(gòu)是那本書上寫的?
08、什么叫優(yōu)雅降級和漸進(jìn)增強?
09、是否了解公鑰加密和私鑰加密。
10、WEB應(yīng)用從服務(wù)器主動推送Data到客戶端有那些方式?
11、對Node的優(yōu)點和缺點提出了自己的看法?
12、你有用過哪些前端性能優(yōu)化的方法?
13、http狀態(tài)碼有那些?分別代表是什么意思?
14、一個頁面從輸入 URL 到頁面加載顯示完成,這個過程中都發(fā)生了什么?(流程說的越詳細(xì)越好)
15、部分地區(qū)用戶反應(yīng)網(wǎng)站很卡,請問有哪些可能性的原因,以及解決方法?
16、從打開app到刷新出內(nèi)容,整個過程中都發(fā)生了什么,如果感覺慢,怎么定位問題,怎么解決?
17、除了前端以外還了解什么其它技術(shù)么?你最最厲害的技能是什么?
18、你用的得心應(yīng)手用的熟練地編輯器&開發(fā)環(huán)境是什么樣子?
19、對前端界面工程師這個職位是怎么樣理解的?它的前景會怎么樣?
20、你怎么看待Web App 、hybrid App、Native App?
21、你移動端前端開發(fā)的理解?(和 Web 前端開發(fā)的主要區(qū)別是什么?)
22、你對加班的看法?
23、平時如何管理你的項目?
24、說說最近最流行的一些東西吧?常去哪些網(wǎng)站?
25、如何設(shè)計突發(fā)大規(guī)模并發(fā)架構(gòu)?
26、是否了解開源的工具 bower、npm、yeoman、grunt、gulp,一個 npm 的包里的 package.json 具備的必要的字段都有哪些?(名稱、版本號,依賴)
每個模塊的代碼結(jié)構(gòu)都應(yīng)該比較簡單,且每個模塊之間的關(guān)系也應(yīng)該非常清晰,隨著功能和迭代次數(shù)越來越多,你會如何去保持這個狀態(tài)的?
27、Git知道branch, diff, merge么?如何設(shè)計突發(fā)大規(guī)模并發(fā)架構(gòu)?
28、當(dāng)團(tuán)隊人手不足,把功能代碼寫完已經(jīng)需要加班的情況下,你會做前端代碼的測試嗎?
29、知道什么是SEO并且怎么優(yōu)化么? 知道各種meta data的含義么?
30、移動端(Android IOS)怎么做好用戶體驗?
31、簡單描述一下你做過的移動APP項目研發(fā)流程?
32、你在現(xiàn)在的團(tuán)隊處于什么樣的角色,起到了什么明顯的作用?
33、你認(rèn)為怎樣才是全端工程師(Full Stack developer)?
34、介紹一個你最得意的作品吧?
35、你有自己的技術(shù)博客嗎,用了哪些技術(shù)?
36、對前端安全有什么看法?
37、是否了解Web注入攻擊,說下原理,最常見的兩種攻擊(XSS 和 CSRF)了解到什么程度?
38、項目中遇到國哪些印象深刻的技術(shù)難題,具體是什么問題,怎么解決?。
39、最近在學(xué)什么東西?
40、你的優(yōu)點是什么?缺點是什么?
41、如何管理前端團(tuán)隊?
42、最近在學(xué)什么?能談?wù)勀阄磥?,5年給自己的規(guī)劃嗎?
【web前端開發(fā)工程師面試題】相關(guān)文章:
web前端開發(fā)工程師面試題01-02
web前端開發(fā)面試題05-31
2015騰訊WEB前端開發(fā)面試題01-31
web前端開發(fā)工程師簡歷范文01-17
web前端開發(fā)就業(yè)方向01-07
WEB前端開發(fā)工程師簡歷表格06-03
web前端開發(fā)工程師個人簡歷05-07
web前端面試題02-25
web前端面試題及答案02-19