最近本人開始考慮換個新環境,因而會陸續參加一些面試,此文僅用作個人來記錄面試過程當中被問及到的一些知識點,如果你也是最近在參加一些面試的話,也可以參考一下。知識點是隨機記錄的,因爲我本人也是想到被問過哪個就把哪個寫下來。(答案只補了一些,後續會再補上)
1、瞭解es6嗎,有沒有用到過它的哪些東西?
答:用過es6,常用的比如變量聲明const和let、解構賦值、箭頭函數、class和extends、對象的擴展Object.assign()函數、默認參數等等。(個人感覺面試官會更喜歡聽到關於Promise的內容,但我本人實際項目中確實是沒怎麼用到過Promise)。
2、let和var的生命有什麼區別?
答:
- 通過var定義的變量,作用域是整個封閉函數,是全域的 。通過let定義的變量,作用域是在塊級或是子塊中。
- 通過var生命的變量會有一個變量提升 ,提升到作用於的頂部,而let不會有變量提升的問題。
- let只能聲明一次變量,var相同的變量可以多次聲明
3、箭頭函數有什麼優勢?
答:
- 更簡潔的語法:比傳統的普通函數更少一些動詞,比如function和return
- 不會綁定this:傳統函數都是有一個動態的this,它的值是由它們如何被調用的方式決定,而箭頭函數有一個詞法this,它的值是由定義時所在的宿主環境決定的
4、閉包有用過嗎?
5、說一下你對ajax的認識
6、如果要發三個請求,第三個請求必須要在前面兩個請求都返回之後再發送,請問怎麼解決?
(Promise知識)
7、有的時候我想要這個緩存,有的時候我又不想要這個緩存,但是我不想手動清理,請問怎麼解決?
8、react的diff算法有了解過嗎?
9、你們的跨域是怎麼處理的?瞭解cors的原理嗎?
10.數組去重的實現方法?