萌妹剛參加完小米的前端面試,一半的題都不會做,大神幫忙

4、解釋同步\異步、阻塞\非阻塞、並行\併發之間的區別

這裡補充一下並行和併發:並行是指運算中的兩件或更多件事情在同一時刻發生。實事求是地說,這種情況只會在系統CPU擁有兩個獨立核心時發生,這樣在任何時刻才會有不同的電脈衝信號發出。併發意味著至少兩件事務在同一時間段發生。但注意,這裡的事務是(高級的)任務,而不是(低級的)操作。所以,請分清併發和並行。

5、js實現數值千分位

頭條筆試碰到過了: number.toLocaleString()

6、多語言網站建設應注意哪些事項?

一開始以為多語言是 python、 java、 php啥的,後面面試官說是各個國家語言。

7、React非父子、兄弟組件傳值

狀態管理:Redux、Mobx等等。

8、"123456789876543212345678987654321..."的第n位是什麼?

  

function
getNum(n) {
let num =
0
, flag =
true

for
(let i =
0
; i < n; i++) {

if
(num ===
1
) flag =
true

if
(num ===
9
) flag =
false
flag ? num++ : num--
}

return
num
}

時間有點緊不小心把 i<=n寫成 i

時限是20分鐘,還有兩三題記不清了。

面試

面試官很親切,說話很流暢並且肯定,感覺是個知識體系非常齊全的大牛。以下題目順序並不是面試官問的順序:

1、瀏覽器打開一個頁面前端緩存了哪些東西?

我:後端通過設置響應頭 CacheControl設置資源過期時間,用於緩存一些靜態資源

面試官:還有呢

我:DNS緩存

面試官:後端緩存了什麼

我:緩存了session

面試官:還有呢

我:...答不上來了

2、說一下vue的生命週期

一年的Vue不是白用的,順利從 beforeCreate到 destroyed過了一遍。

3、你的博客用的是Koa,Express用過嗎?

我:用過,我的個人博客本來用的是Express,後面改成Koa了

面試官:為什麼要改?Express不好用嗎?

我:Koa的路由用async和await處理,不會陷入回調地獄

面試官:Express的路由也可以封裝成async\await,自己試過沒有?

我:沒有。。。

4、你的博客用的什麼服務器?

我:用的Node服務器,pm2做進程守護的

面試官:代碼直接放上去運行的還是編譯後運行的

我:(一臉懵比,腳本語言還能編譯???)直接運行的

面試官:服務器是什麼系統的?

我:windows sever...(感覺面試官笑了)

後來查了一下,segmentFault的大佬們也說Node JS不用編譯:運行在服務端的Node.js代碼需要編譯嗎?(https://segmentfault.com/q/1010000009607720/a-1020000009607917),好想追問一下面試官到底怎麼編譯啊。

5、有沒有自己實現過Promise?

看了不少文章,自己也寫過了,但問到細節還是答爛了。

6、有沒有寫過Webpack插件?

我:沒有...

7、new 一個對象後發生了什麼?

8、寫過響應式網站嗎?

我的個人博客就是響應式的,主要說了媒體查詢和rem控制字體大小。

9、說一下原型和原型鏈

10、有沒有自己寫過比較複雜的正則?

11、有沒有封裝過axios?

12、前後分離的系統,一個請求出錯了,如何中斷其它請求?

13、如何在axios中添加登陸驗證?

14、rollup瞭解過沒?

15、為什麼rollup打包贅餘代碼比較少?

16、有沒有結合原生封裝過RN組件?

17、為什麼用高德地圖不用百度地圖?

18、怎樣在Android Studio中對React Native的js代碼進行斷點調試?

......

還有n多問題記不太清了...

然後面試官問了一些其他的東西,對小米有什麼看法?995上班、加班沒有加班費能不能接收等等。心想小米在雷總的帶領下還真是拼啊。

面試聊了一個小時,很多問題答爛了,今年應該是和小米無緣了。也明顯看到了自身實力的不足。很感謝面試官給我這次面試機會。

補充一個Tips,面試時看到武漢小米開發人員操作系統清一色的是Ubuntu,想去面試的同學最好準備一下。


分享到:


相關文章: