天天看點

智一面gtalent擷取前端最常見的面試題總結

  1. 說一下閉包?

    閉包的實質是因為函數嵌套而形成的作用域鍊

閉包的定義即:函數 A 内部有一個函數 B,函數 B 可以通路到函數 A 中的變量,那麼函數 B 就是閉包

  1. export和export default的差別?

    使用上的不同

export default  xxx
import xxx from './'

export xxx
import {xxx} from './'
           
  1. 說一下自己常用的es6的功能?

    此題是一道開放題,可以自由回答。但要注意像let這種簡單的用法就别說了,說一些經常用到并有一定高度的新功能

    像module、class、promise等,盡量講的詳細一點

4.什麼是會話cookie,什麼是持久cookie?

cookie是伺服器傳回的,指定了expire time(有效期)的是持久cookie,沒有指定的是會話cookie

5.數組去重?

此題看着簡單,但要想面試官給你高分還是有難度的。至少也要寫出幾種方法

js

var arr=['12','32','89','12','12','78','12','32'];
    // 最簡單數組去重法
    function unique1(array){
        var n = []; //一個新的臨時數組
        for(var i = 0; i < array.length; i++){ //周遊目前數組
            if (n.indexOf(array[i]) == -1)
                n.push(array[i]);
        }
        return n;
    }
    arr=unique1(arr);
    // 速度最快, 占空間最多(空間換時間)
    function unique2(array){
        var n = {}, r = [], type;
        for (var i = 0; i < array.length; i++) {
            type = typeof array[i];
            if (!n[array[i]]) {
                n[array[i]] = [type];
                r.push(array[i]);
            } else if (n[array[i]].indexOf(type) < 0) {
                n[array[i]].push(type);
                r.push(array[i]);
            }
        }
        return r;
    }
    //數組下标判斷法
    function unique3(array){
        var n = [array[0]]; //結果數組
        for(var i = 1; i < array.length; i++) { //從第二項開始周遊
            if (array.indexOf(array[i]) == i) 
                n.push(array[i]);
        }
        return n;
    }
es6
           

6.es6方法數組去重

arr=[...new Set(arr)];
es6方法數組去重,第二種方法
function dedupe(array) {
  return Array.from(new Set(array));       //Array.from()能把set結構轉換為數組
}
           

7.get、post的差別

此題比較簡單,但一定要回答的全面

1.get傳參方式是通過位址欄URL傳遞,是可以直接看到get傳遞的參數,post傳參方式參數URL不可見,get把請求的資料在URL後通過?連接配接,通過&進行參數分割。psot将參數存放在HTTP的包體内

2.get傳遞資料是通過URL進行傳遞,對傳遞的資料長度是受到URL大小的限制,URL最大長度是2048個字元。post沒有長度限制

3.get後退不會有影響,post後退會重新進行送出

4.get請求可以被緩存,post不可以被緩存

5.get請求隻URL編碼,post支援多種編碼方式

6.get請求的記錄會留在曆史記錄中,post請求不會留在曆史記錄

7.get隻支援ASCII字元,post沒有字元類型限制

8.你所知道的http的響應碼及含義?

此題有過開發經驗的都知道幾個,但還是那句話,一定要回答的詳細且全面。

1xx(臨時響應)

100: 請求者應當繼續提出請求。

101(切換協定) 請求者已要求伺服器切換協定,伺服器已确認并準備進行切換。

2xx(成功)

200:正确的請求傳回正确的結果

201:表示資源被正确的建立。比如說,我們 POST 使用者名、密碼正确建立了一個使用者就可以傳回 201。

202:請求是正确的,但是結果正在進行中,這時候用戶端可以通過輪詢等機制繼續請求。

3xx(已重定向)

300:請求成功,但結果有多種選擇。

301:請求成功,但是資源被永久轉移。

303:使用 GET 來通路新的位址來擷取資源。

304:請求的資源并沒有被修改過

4xx(請求錯誤)

400:請求出現錯誤,比如請求頭不對等。

401:沒有提供認證資訊。請求的時候沒有帶上 Token 等。

402:為以後需要所保留的狀态碼。

403:請求的資源不允許通路。就是說沒有權限。

404:請求的内容不存在。

5xx(伺服器錯誤)

500:伺服器錯誤。

501:請求還沒有被實作

【1】智一面gtalent提供超多的web前端工程師小程式開發的筆試題

(給小主呈上一道微信小程式的面試題點我享用)

【2】擷取更多面試技巧,戳http://www.gtalent.cn

繼續閱讀