天天看點

【面試題2】阿裡航旅事業部的前端開發面試題(轉)

  1. CSS 盒子模型,絕對定位和相對定位

1)清除浮動,什麼時候需要清除浮動,清除浮動都有哪些方法

2)如何保持浮層水準垂直居中

3)position 和 display 的取值和各自的意思和用法

4)樣式的層級關系,選擇器優先級,樣式沖突,以及抽離樣式子產品怎麼寫,說出思路,有無實踐經驗

  1. JavaScript 基礎

1)JavaScript 裡有哪些資料類型,解釋清楚 null 和 undefined,解釋清楚原始資料類型和引用資料類型。比如講一下 1 和 Number(1) 的差別

2)将一下 prototype 是什麼東西,原型鍊的了解,什麼時候用 prototype

3)函數裡的this什麼含義,什麼情況下,怎麼用。

3)apply 和 call 什麼含義,什麼差別?什麼時候用。

4)數組和對象有哪些原生方法,列舉一下,分别是什麼含義,比如連結兩個數組用哪個方法,删除數組的質定項。

  1. JavaScript 的面向對象

1)JS 子產品包裝格式都用過哪些,CommonJS、AMD、CMD、KMD。定義一個js 子產品代碼,最精簡的格式是怎樣。

2)JS 怎麼實作一個類。怎麼執行個體化這個類。

3)是否了解自定義事件。jQuery裡的fire函數是什麼意思,什麼時候用。

4)說一下了解的js 設計模式,解釋一下單例、工廠、觀察者。

5)ajax 跨域有哪些方法,jsonp 的原理是什麼,如果頁面編碼和被請求的資源編碼不一緻如何處理?

  1. 開源工具

1)是否了解開源的工具 bower、npm、yeoman、Grunt、gulp,有無用過,有無寫過,一個 npm 的包裡的 package.json 具備的必要的字段都有哪些(名稱、版本号,依賴)

2)fiddle、charles 有沒有用過,什麼時候用

3)會不會用 ps 扣圖,png、jpg、gif 這些圖檔格式解釋一下,分别什麼時候用。是否了解webp

4)說一下你常用的指令行工具

5)會不會用git,說上來幾個指令,說一下git和svn的差別,有沒有用git解決過沖突

  1. 計算機基礎

1)說一下網絡五層模型(HTTP協定從應用層到底層都基于哪些協定),HTTP 協定頭字段說上來幾個,緩存字段是怎麼定義的,http和https的差別,在具體使用的時候有什麼不一樣。是否盡可能詳細的掌握HTTP協定。

2)cookies 是幹嘛的,伺服器和浏覽器之間的 cookies 是怎麼傳的,httponly 的 cookies 和可讀寫的 cookie 有什麼差別,有無長度限制

3)從敲入 URL 到渲染完成的整個過程,包括 DOM 建構的過程,說的約詳細越好。

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

5)是否了解公鑰加密和私鑰加密。如何確定表單送出裡的密碼字段不被洩露。驗證碼是幹嘛的,是為了解決什麼安全問題。

6)編碼常識:檔案編碼、URL 編碼、Unicode編碼 什麼含義。一個gbk編碼的頁面如何正确引用一個utf8的的資源

  1. 考察學習能力和方法

1)你每天必須登入的網站(前端技術相關)是什麼?

2)前端技術方面看過哪些書,有無筆記,都有哪些收獲。

3)收藏了哪些代碼片段?

4)怎麼了解前端技術的大趨勢?自己再做哪方面的知識儲備?

5)是否了解或精通其他(後端)的程式設計語言?

6)做過的項目有沒有什麼(視覺、互動)美感?什麼是美?你覺得讓你自己賞心悅目的網站或應用有哪些?

7)做項目有沒有遇到哪些印象深刻的技術攻關,具體遇到什麼問題,怎麼找答案的,最後怎麼解的。

轉自:http://caibaojian.com/ali-mianshi.html