1. 程式人生 > >2018秋招-京東前端面試面經

2018秋招-京東前端面試面經

技術一面:
1. 三列布局,左側和右側定寬,中間自適應,如何佈局,你知道幾種方法?
2. 對於box-sizing這個屬性的屬性值有哪些,有什麼不同,可以用來解決什麼問題?
3. 如何實現元素的水平垂直居中,有幾種方法?
4. this的指向問題(一段程式碼):說出兩個彈框的結果
    var a = 10;
    function fn(){
        a=3;
        alert(a);
        alert(this.a);
                    var a;
    }
    fn();
5. 一段程式碼:最後arr數組裡面的值是多少,如何修改達到預期,有幾種方法
    var arr = [];
    for(var i=0; i<3; i++){
        arr[i] = i;
    }
6. 一段程式碼:
    function Person(name){
        this.name = name;
    }    
    function Men(height){
        this.height = height;
    }
    如何實現Men繼承Person的屬性?
    若Person變成如下,又該如何解決繼承的問題
    function Person(name){
        this.name = name;
        this.color = [white,yellow,black];
    }

7. 封裝一個jsonp介面,講下jsonp的實現原理以及優缺點
8. React與Jquery框架有什麼區別,React的生命週期函式?shouldComponentUpdate()可以用來幹什麼,它的預設返回值是什麼?
9. React的一個元件最後會返回一段:`<div><h1>hello</h1></div>`,在React中具體是怎麼執行的,是怎麼渲染成真實的dom的?(面試官建議可以自己實現一個小型的React框架)
10. 用過前端的模板引擎嗎,對於從後臺拿到的資料你是怎麼處理的?
11. 小程式有了解嗎?vue有了解嗎?
12. 演算法:快排是怎麼實現排序的?

技術二面:
1. 作個自我介紹
2. 說下你的專案
3. React的單元測試框架jest+enzyme,你是怎麼寫測試用例的?
4. React最新發布版本的生命週期與之前的有什麼不同?
5. 演算法:快排實現原理,堆排序實現原理
6. 小程式開發中涉及到哪些技術?
7. 對自己的職業規劃
9. 平時是怎麼學習前端的,知道哪些流行的部落格或者github或者論壇?

hr面:
1. 自我介紹
2. 你是什麼時候參加面試的
3. 在前兩輪技術面中,自己做的好的和不好的有哪些?
4. 之前有沒有關注過京東,參加過京東的招聘嗎
5. 自己的職業規劃
6. 父母對自己來北京怎麼看
7. 為什麼選擇京東,還有再看其他的機會嗎,為什麼不留在實習公司?
8. 在薪資方面你有什麼期待
10. 能不能來公司實習