前端面試套路之HTML,CSS,JS(二)
HTML相關相關:
1.Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?
2.行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?
3.介紹一下你對瀏覽器核心的理解?
4.常見的瀏覽器核心有哪些?
5.HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
6.瀏覽器是怎麼對HTML5的離線儲存資源進行管理和載入的呢?
7.iframe有那些缺點?
8.Label的作用是什麼?是怎麼用的?
9.HTML5的form如何關閉自動完成功能?
10.如何實現瀏覽器內多個標籤頁之間的通訊?
11.webSocket如何相容低瀏覽器?
12.頁面可見性(Page Visibility API) 可以有哪些用途?
13.如何在頁面上實現一個圓形的可點選區域?
14.實現不使用 border 畫出1px高的線,在不同瀏覽器的Quirksmode和CSSCompat模式下都能保持同一效果
15.網頁驗證碼是幹嘛的,是為了解決什麼安全問題?
16.title與h1的區別、b與strong的區別、i與em的區別?
CSS相關問題:
1.介紹一下標準的CSS的盒子模型?低版本IE的盒子模型有什麼不同的?
2.CSS選擇符有哪些?哪些屬性可以繼承?
3.CSS優先順序演算法如何計算?
4.CSS3新增偽類有那些?
5.如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
6.display有哪些值?說明他們的作用。
7.position的值relative和absolute定位原點是?
8.請解釋一下CSS3的Flexbox(彈性盒佈局模型),以及適用場景?
9.用純CSS建立一個三角形的原理是什麼?
10.css多列等高如何實現?
11.一個滿屏 品 字佈局 如何設計?
12.經常遇到的瀏覽器的相容性有哪些?原因,解決方法是什麼,常用hack的技巧 ?
13.li與li之間有看不見的空白間隔是什麼原因引起的?有什麼解決辦法?
14.為什麼要初始化CSS樣式?
15.absolute的containing block計算方式跟正常流有什麼不同?
16.CSS裡的visibility屬性有個collapse屬性值是幹嘛用的?在不同瀏覽器下以後什麼區別?
17.position跟display、margin collapse、overflow、float這些特性相互疊加後會怎麼樣?
18.對BFC規範(塊級格式化上下文:block formatting context)的理解?
19.CSS權重優先順序是如何計算的?
20.請解釋一下為什麼需要清除浮動?清除浮動的方式
21.zoom:1的清除浮動原理?
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前有什麼區別?
48.什麼是CSS 前處理器 / 後處理器?
49.rem佈局的優缺點
Javascript相關問題
1.介紹JavaScript的基本資料型別。
2.說說寫JavaScript的基本規範?
3.JavaScript原型,原型鏈 ? 有什麼特點?
4.JavaScript有幾種型別的值?(堆:原始資料型別和 棧:引用資料型別),你能畫一下他們的記憶體圖嗎?
5.Javascript如何實現繼承?
6.Javascript建立物件的幾種方式?
7.Javascript作用鏈域?
8.談談this物件的理解
9.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()
23.js延遲載入的方式有哪些?
24.Ajax 是什麼? 如何建立一個Ajax?
25.同步和非同步的區別?
26.如何解決跨域問題?
27.頁面編碼和被請求的資源編碼如果不一致如何處理?
28.伺服器代理轉發時,該如何處理cookie?
29.模組化開發怎麼做?
30.AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)規範區別?
31.requireJS的核心原理是什麼?(如何動態載入的?如何避免多次載入的?如何 快取的?)
32.JS模組載入器的輪子怎麼造,也就是如何實現一個模組載入器?
33.談一談你對ECMAScript6的瞭解?
34.ECMAScript6 怎麼寫class,為什麼會出現class這種東西?
35.非同步載入的方式有哪些?
36.documen.write和 innerHTML的區別?
37.DOM操作——怎樣新增、移除、移動、複製、建立和查詢節點?
38..call() 和 .apply() 的作用和區別?
39.陣列和物件有哪些原生方法,列舉一下?
40.JS 怎麼實現一個類。怎麼例項化這個類
41.JavaScript中的作用域與變數宣告提升?
42.如何編寫高效能的Javascript?
43.那些操作會造成記憶體洩漏?
44.JQuery的原始碼看過嗎?能不能簡單概況一下它的實現原理?
45.jQuery.fn的init方法返回的this指的是什麼物件?為什麼要返回this?
46.jquery中如何將陣列轉化為json字串,然後再轉化回來?
47.jQuery 的屬性拷貝(extend)的實現原理是什麼,如何實現深拷貝?
48.jquery.extend 與 jquery.fn.extend的區別
49.jQuery 的佇列是如何實現的?佇列可以用在哪些地方?
50.談一下Jquery中的bind(),live(),delegate(),on()的區別?
51.JQuery一個物件可以同時繫結多個事件,這是如何實現的?
52.是否知道自定義事件。jQuery裡的fire函式是什麼意思,什麼時候用?
53.jQuery 是通過哪個方法和 Sizzle 選擇器結合的?(jQuery.fn.find()進入Sizzle)
54.針對 jQuery效能的優化方法?
55.Jquery與jQuery UI有啥區別?
56.jQuery和Zepto的區別?各自的使用場景?
57.Zepto的點透問題如何解決?
58.jQueryUI如何自定義元件?
59.需求:實現一個頁面操作不會整頁重新整理的網站,並且能在瀏覽器前進、後退時正確響應。給出你的技術實現方案?
60.如何判斷當前指令碼執行在瀏覽器還是node環境中?(阿里)
61.移動端最小觸控區域是多大?
62.jQuery 的 slideUp動畫 ,如果目標元素是被外部事件驅動, 當滑鼠快速地連續觸發外部元素事件, 動畫會滯後的反覆執行,該如何處理呢?
63.把 Script 標籤 放在頁面的最底部的body封閉之前 和封閉之後有什麼區別?瀏覽器會如何解析它們?
64.移動端的點選事件的有延遲,時間是多久,為什麼會有? 怎麼解決這個延時?(click 有 300ms 延遲,為了實現safari的雙擊事件的設計,瀏覽器要知道你是不是要雙擊操作。)
65.知道各種JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)麼? 能講出他們各自的優點和缺點麼?
66.Underscore 對哪些 JS 原生物件進行了擴充套件以及提供了哪些好用的函式方法?
67.解釋JavaScript中的作用域與變數宣告提升?
68.(如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering麼?
69.解釋一下 Backbone 的 MVC 實現方式?
70.什麼是“前端路由”?什麼時候適合使用“前端路由”? “前端路由”有哪些優點和缺點?
71.如何測試前端程式碼麼? 知道BDD, TDD, Unit Test麼? 知道怎麼測試你的前端工程麼(mocha, sinon, jasmin, qUnit..)?
72.前端templating(Mustache, underscore, handlebars)是幹嘛的, 怎麼用?
73.簡述一下 Handlebars 的基本用法?
74.簡述一下 Handlerbars 的對模板的基本處理流程, 如何編譯的?如何快取的?
75.用js實現千位分隔符?
76.檢測瀏覽器版本版本有哪些方式?
77.What is a Polyfill?
78.我們給一個dom同時繫結兩個點選事件,一個用捕獲,一個用冒泡。會執行幾次事件,會先執行冒泡還是捕獲?
79.使用JS實現獲取副檔名?
80.請介紹一下JS之事件節流?
81.什麼是JS的函式防抖?