以下問題是我在面試過程中逐步整理的,僅供參考(會不斷更新)
基礎(chǔ)知識:
JS:
- 你們常用的命名規(guī)范是什么?
- 字符串的操作,截取,分割?
- 節(jié)點的類型有哪些,如何對節(jié)點進行查找,刪除,克隆?
- 你用過的屬性操作的方法有哪些?
- 你是如何做圖片延時加載的效果?
- 如何阻止事件冒泡、如何阻止元素默認行為
- 什么是冒泡和捕獲、什么是事件委托和代理?
- 作用域、閉包、局部變量、全局變量各個概念指的是什么?
- 如何做一個放大鏡效果?
- 如何做談入彈出效果?緩沖運動效果?如何實現(xiàn)無縫運動?
- 你理解的模塊化有哪些?cmd,amd,commonjs.
- 什么是B/S架構(gòu)?什么是同源策略?Jsonp的原理?onreadystatechange的使用?iframe如何實現(xiàn)跨域?
- 是否設計過通用化組件?如果讓你設計一個Dialog(彈出層)/Slider(圖片輪播)等組件你會怎么設計,提供什么接口?你預估會碰到什么問題,你如何調(diào)試?
- 你熟悉的Backbone/Vue/Angular/Sea/Require有什么有優(yōu)缺點?針對那些缺點,你有沒有想過解決方案?
- 你如何理解MVC/MV*的?
- 如果讓你設計一個登錄頁,按照MVC/MV*你會怎么去組織各個層?
Html:
- html元素的分類有哪些?結(jié)構(gòu)元素,列表元素,文本格式元素,表單元素,表格元素
- 你是如何理解漸進增強的?
Css:
- em rem px三者直接的區(qū)別?
- 如何讓選擇的文本顏色變色?
- max-width和max-device-width區(qū)別?
- @media,@supports和@document分別用法是什么?
- box-sizing屬性中border-box和content-box的區(qū)別?
工程化 :
- gulp的原理何使用,如何使用gulp進行打包?
類庫:
- 如何選擇合適的jQuery版本?
- jQuery對象和Dom對象如何相互轉(zhuǎn)換?
- jQuery動畫的實現(xiàn)原理?整個實現(xiàn)是否有問題,有需要優(yōu)化的地方?
- jQuery代碼優(yōu)化的基本原則是什么?
- jQuery的異步編程Promise具體用法?
瀏覽器:
- 一個頁面從輸入Url到頁面加載完的過程中都發(fā)生了什么事情?
性能:
- 談一下你所知道的頁面性能優(yōu)化方法?這些優(yōu)化方法背后的原理是什么?除了這些已經(jīng)成熟方案,你還了解哪些?
- 如何去分析一個頁面的性能?
個人能力:
- 你最擅長的技術(shù)是什么?你感覺你的技術(shù)能到達什么水平?你認為最高級別應該是什么樣的?
- 你做過最滿意的項目是什么?
- 項目的背景是什么?為什么要做這個項目?項目最終達到什么效果?
- 你在項目中處于什么角色,起到了什么方面的作用?
- 你在項目中碰到了什么問題,怎么解決的?
- 如果再做這個項目,你會在哪些方面進行改善?
- 你沒如何和設計師,產(chǎn)品經(jīng)理,測試人員進行溝通?如何開展工作?如何處理碰到的問題?
- 描述一個你遇到的技術(shù)問題,你是如何處理的?有沒有碰到什么非常奇葩的問題,而且百度不到,完全自己想到解決方案的?
- 除了前端你還了解什么其他技術(shù)?你對這些技術(shù)掌握的怎么樣?
- 你最近在學什么?接下來的半年你打算學習什么?你平時如何去學習了解新的技術(shù)?
- 之前做的項目,有什么是你主動推動了什么?
高級技術(shù):
- 你對的數(shù)據(jù)結(jié)構(gòu),編譯原理有何了解?你理解哈夫曼編碼,或者貪心算法么?
- Get和Post的本質(zhì)區(qū)別是什么? 參考Http的Rfc解釋