基礎題
1、html5的客戶端存儲數據的方法(cookie、localStorage、sessionStorage)的區別?
2、HTTP和HTTPS的區別?
3、HTTP狀態碼?
4、前端跨域問題的解決方法?
5、前端的安全問題有哪些?
6、JavaScript的原型?什么是JavaScript的原型鏈?
7、js的繼承方式有哪些?
8、什么是閉包?寫一個js的閉包例子?
9、談談JavaScript中對this的理解和用法?
10、apply()和call()的區別?
10、什么是事件委托?怎么使用?有什么好處?
11、使用jquery有什么優化的方法?
12、前端的性能優化有什么方法?
13、什么是ajax?如何創建一個ajax?
14、異步和同步的區別?
15、給元素添加事件的方法有哪些方法?
16、怎么理解javascript的局部變量和全局變量?
17、Null和Undefined的區別?
18、jq怎么獲取URL參數?
19、談談前端MVC和MVVM的原理
20、圖片預加載和懶加載分別是怎么實現的?
22、怎么樣防止表單的重復提交?
23、JS有什么事件機制?怎么實現?
24、談談對模塊化的理解?AMD和CMD的區別?
模塊化是指在解決某一個復雜問題或者一系列的雜糅問題時,依照一種分類的思維把問題進行系統性的分解以之處理。
模塊化是一種處理復雜系統分解為代碼結構更合理,可維護性更高的可管理的模塊的方式
AMD:Asynchronous Modules Definition ?,意思就是異步模塊定義,它采用異步方式加載模塊,模塊的加載不影響它后面語句的運行。所有依賴這個模塊的依法,都定義在一個回調函數中,等加載完成后,這個回調函數才會運行。合適用在瀏覽器端;
語法規范:require([module],callback);
CMD:Common Module Definition ? 就是通用模塊定義,該規范主要適用于服務端,因為所有的模塊都放在本地硬盤,可以同步加載完成,等待的時間就是硬盤的讀取時間;不適合用在瀏覽器環境,因為所有的模塊都在服務器,等待時間取決于網速的快慢,如果等待時間過長,瀏覽器會處于一種假死的狀態;
語法規范:
var math = require('math'); //先加載需要用到的模塊 ?
?math.add(3,4) ; ?// 然后調用模塊提供的方法
25、jquery中bind(),live(),on()有什么區別?
26、高清屏下面背景圖片變模糊,怎么實現圖片適配?
27、px、em、rem的區別?
28、怎么實現數組去重?
29、頁面引入樣式時,link和@import有什么區別?
30、談談你對瀏覽器內核的理解?常見瀏覽器內核有哪些?
31、簡述一下你對HTML語義化的理解?
32、html5的form表單如何關閉掉自動完成功能?
33、談談你在開發過程中遇到的瀏覽器兼容問題?
34、什么是css盒模型?
35、position的值relative和absolute分別定位的原點是什么?
36、css的權重優先級怎么計算?
37、談談對浮動的理解?怎么清除浮動?設置元素浮動后,該元素的display的值變成什么?
38、CSS優化,提高性能的方式有哪些?
39、什么是響應式?響應式設計的原理是什么?如何兼容低版本的IE?
40、什么漸進增強和優雅降級?
41、一個頁面從輸入URL到瀏覽器完全顯示,這個過程都發生了什么?(越詳細越好)
42、zepto手機端的“點透”問題如何解決?
43、JavaScript的數據類型有哪些?
44、談談你是怎么開發移動端頁面的?
45、寫一個驗證手機號的正則表達式?
46、談談對flexbox(彈性盒子)的理解?
47、jquery怎么選擇一個頁面里面的所有選中的多選框?
48、nodejs的模塊管理是屬于什么規范?(CMD:nodejs是由模塊組成,采用common.js的模塊規范)
49、談談對web標準的理解?
框架相關
VUE框架:
1、組件的通訊方式:父組件向子組件;子組件向父組件;子組件和子組件
2、組件的生命周期(在一個生命周期中都進行了那些步驟)
3、生命周期鉤子函數主要有哪些?
react框架:
webpack:
gulp:
待續....