當前位置:
首頁 > 知識 > 前端工程師面試題匯總

前端工程師面試題匯總

作者:markyun ,作者@馬云云

HTML

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

HTML5 為什麼只需要寫 ?

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

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

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

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

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

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

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

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

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

iframe有那些缺點?

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

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

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

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

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

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

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

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

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

CSS

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

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

CSS優先順序演算法如何計算?

CSS3新增偽類有那些?

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

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

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

CSS3有哪些新特性?

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

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

一個滿屏 品 字布局 如何設計?

常見兼容性問題?

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

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

為什麼要初始化CSS樣式。

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

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

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

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

CSS權重優先順序是如何計算的?

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

移動端的布局用過媒體查詢嗎?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

font-style屬性可以讓它賦值為「oblique」 oblique是什麼意思?

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

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

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

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

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

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

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

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

JavaScript

介紹JavaScript的基本數據類型。

說說寫JavaScript的基本規範?

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

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

Javascript如何實現繼承?

Javascript創建對象的幾種方式?

Javascript作用鏈域?

談談This對象的理解。

eval是做什麼的?

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

null,undefined的區別?

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

[「1」, 「2」, 「3」].map(parseInt) 答案是多少?

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

什麼是閉包(closure),為什麼要用它?

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

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

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

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

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

對JSON的了解?

[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1

js延遲載入的方式有哪些?

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

同步和非同步的區別?

如何解決跨域問題?

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

模塊化開發怎麼做?

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

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

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

談一談你對ECMAScript6的了解?

ECMAScript6 怎麼寫class么,為什麼會出現class這種東西?

非同步載入的方式有哪些?

documen.write和 innerHTML的區別?

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

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

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

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

JavaScript中的作用域與變數聲明提升?

如何編寫高性能的Javascript?

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

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

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

jquery中如何將數組轉化為json字元串,然後再轉化回來?

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

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

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

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

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

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

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

針對 jQuery性能的優化方法?

Jquery與jQuery UI有啥區別?

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

jquery 中如何將數組轉化為json字元串,然後再轉化回來?

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

針對 jQuery 的優化方法?

Zepto的點透問題如何解決?

jQueryUI如何自定義組件?

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

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

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

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

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

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

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

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

解釋JavaScript中的作用域與變數聲明提升?

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

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

Node.js的適用場景?

(如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?

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

什麼是「前端路由」?什麼時候適合使用「前端路由」? 「前端路由」有哪些優點和缺點?

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

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

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

簡述一下 Handlebars 的基本用法?

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

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

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

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

其他問題

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

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

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

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

頁面重構怎麼操作?

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

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

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

是否了解公鑰加密和私鑰加密。

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

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

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

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

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

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

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

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

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

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

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

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

你對加班的看法?

平時如何管理你的項目?

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

如何設計突發大規模並發架構?

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

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

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

Git知道branch, diff, merge么?

如何設計突發大規模並發架構?

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

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

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

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

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

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

你認為怎樣才是全端工程師(Full Stack developer)?

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

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

對前端安全有什麼看法?

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

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

最近在學什麼東西?

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

如何管理前端團隊?

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

有趣的問題

A、B兩人分別在兩座島上。B生病了,A有B所需要的葯。C有一艘小船和一個可以上鎖的箱子。C願意在A和B之間運東西,但東西只能放在箱子里。只要箱子沒被上鎖,C都會偷走箱子里的東西,不管箱子里有什麼。如果A和B各自有一把鎖和只能開自己那把鎖的鑰匙,A應該如何把東西安全遞交給B?

答案:A把葯放進箱子,用自己的鎖把箱子鎖上。B拿到箱子後,再在箱子上加一把自己的鎖。

箱子運回A後,A取下自己的鎖。箱子再運到B手中時,B取下自己的鎖,獲得藥物。

Amazon主頁的左上角有一個商品分類瀏覽的下拉菜單 沒有延遲,而且子菜單也不會在不應該的時候消失。它是怎樣做到這一點的呢?

答案是通過探測滑鼠移動的方向和軌跡,具體查看Khan Academy工程師 Ben Kamens 寫的 jQuery插件

文檔推薦

1、jQuery 基本原理

2、JavaScript 秘密花園

3、CSS參考手冊

4、JavaScript 標準參考教程

5、ECMAScript 6入門

答案可以參考文章《前端開發面試題》、《超全整理前端開發面試題——HTML篇(2016年)》、《超全整理前端開發面試題——CSS篇(2016年)

本文編號2473,以後想閱讀這篇文章直接輸入2473即可。

輸入m獲取文章目錄

推薦

前端開發

更多推薦18個技術類微信公眾號

涵蓋:程序人生、演算法與數據結構、黑客技術與網路安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序猿 的精彩文章:

新增 120+萬行代碼,Linux Kernel 4.12 確實是一個大版本
當互聯網公司聚餐時,他們是如何談笑風生的
王者榮耀防沉迷系統推出僅1天慘遭破解
首屆數據挖掘前沿發展與未來論壇在阿里舉辦 聽聽大咖們都說了啥
開源巨獻:騰訊最熱門30款開源項目

TAG:程序猿 |

您可能感興趣

前端工程師面試題(性能優化)
前端面試寶典,面試題,面試經驗
記一次前端面試題
Vue前端面試題
操作系統面試題練習,精品解析
測試員常見面試題 附答案
水處理測試試題
伺服器後台開發面試題總結
最新衡水押題歷史試題
軟體測試十大常見非技術面試題
蔡徐坤被寫進工程師面試題,但出現方式令人心酸,太不尊重人了吧
新鮮出爐的8月前端面試題
一道高盛面試題的啟示
程序員面試題和技巧分享,掌握八成便可去BAT一試!
婚姻情商測試題
每日一練| 正高職稱考試基礎測試題
一道 js 閉包面試題的學習
全國合格男友統一測試題
考一考!嵌入式操作系統面試題3道
安徽一教師筆試26分通過選拔被質疑 官方:試題偏難