標籤:com tps 身體 mis 等等 老師 武漢 進程守護 大牛
推廣一下個人網站:Bougie‘s Blog
畢業一年的跨專業萌新,在拉勾上投了武漢小米的簡曆,不出兩天,簡曆被HR姐姐標為“不合適”,心想自己這點履曆和經驗小米是看不上了。又過兩天,大概晚上八九點鐘,HR姐姐突然打電話說邀請面試。也是有點奇怪。
從家到小米有兩個小時車程,做公交車二層晃得竟然有點想吐了。心想做程式員一年,沒學到啥高深的東西身體卻不知不覺間變得這麼差了;同時對此次面試也沒抱太大期望,因為自身實力和小米的招聘要求還是差了一個檔次。進入小米正門,左手邊是小米資訊部,右手邊是wps。想起來前不久在一個招聘群裡面認識的wps的孝感老鄉就在隔壁上班,也是一種緣分哈哈。
筆試
面試前要先做一份筆試題,題目大概是:
爬蟲引擎是怎樣抓取頁面的
- 瀏覽器渲染頁面的過程
- 使用者輸入URL地址
- 瀏覽器解析URL解析出主機名稱
- 瀏覽器將主機名稱轉換成伺服器ip地址(瀏覽器先尋找本地DNS緩衝列表 沒有的話 再向瀏覽器預設的DNS伺服器發送查詢請求 同時緩衝)
- 瀏覽器將連接埠號碼從URL中解析出來
- 瀏覽器建立一條與目標Web伺服器的TCP串連(三向交握)
- 瀏覽器向伺服器發送一條HTTP請求報文
- 伺服器向瀏覽器返回一條HTTP響應報文
- 關閉串連 瀏覽器解析文檔
網上找的標準答案,自己答得也是這麼個意思,但是沒這詳細。
非同步編程的四種方法
看到這題瞬間感覺阮老師簡直就是中國前端界的教父級人物啊,面試官的理想答案應該是阮老師這篇文章:Javascript非同步編程的4種方法。自己特地看過,也總結在我的面試題總結裡面了:前端面試偏門題總結。但是記性太差還是答偏了,心裡恨啊。
解釋同步\非同步、阻塞\非阻塞、並行\並發之間的區別
這裡補充一下並行和並發:並行是指運算中的兩件或更多件事情在同一時刻發生。實事求是地說,這種情況只會在系統CPU擁有兩個獨立核心時發生,這樣在任何時刻才會有不同的電脈衝訊號發出。並發意味著至少兩件事務在同一時間段發生。但注意,這裡的事務是(進階的)任務,而不是(低級的)操作。所以,請分清並發和並行。
js實現數值千分位
頭條筆試碰到過了:number.toLocaleString()
多語言網站建設應注意哪些事項
一開始以為多語言是python
、java
、php
啥的,後面面試官說是各個國家語言。
React非父子、兄弟組件傳值
狀態管理:Redux、Mobx等等
"123456789876543212345678987654321..."的第n位是什麼
javascript function getNum(n) { let num = 1, 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 < n
了,尷尬,怪自己不細心吧。
時限是20分鐘,還有兩三題記不清了。
面試
面試官很親切,說話很流暢並且肯定,感覺是個知識體系非常齊全的大牛。以下題目順序並不是面試官問的順序:
瀏覽器開啟一個頁面前端緩衝了哪些東西?
我:後端通過設定回應標頭Cache Control
設定資源到期時間,用於緩衝一些靜態資源
面試官:還有呢
我:DNS緩衝
面試官:後端緩衝了什麼
我:緩衝了session
面試官:還有呢
我:...答不上來了
說一下vue的生命週期
一年的Vue不是白用的,順利從beforeCreate
到destroyed
過了一遍
你的部落格用的是Koa,Express用過嗎?
我:用過,我的個人部落格本來用的是Express,後面改成Koa了
面試官:為什麼要改?Express不好用嗎?
我:Koa的路由用async和await處理,不會陷入回調地獄
面試官:Express的路由也可以封裝成async\await,自己試過沒有?
我:沒有。。。
你的部落格用的什麼伺服器?
我:用的Node伺服器,pm2做進程守護的
面試官:代碼直接放上去啟動並執行還是編譯後啟動並執行
我:(一臉懵比,指令碼語言還能編譯???)直接啟動並執行
面試官:伺服器是什麼系統的?
我:windows sever...(感覺面試官笑了)
後來查了一下,segmentFault的大佬們也說Node JS不用編譯:運行在服務端的Node.js代碼需要編譯嗎?,好想追問一下面試官到底怎麼編譯啊。
有沒有自己實現過Promise?
看了不少文章,自己也寫過了,但問到細節還是答爛了。
有沒有寫過Webpack外掛程式?
我:沒有...
new 一個對象後發生了什嗎?
寫過響應式網站嗎?
我的個人部落格就是響應式的,主要說了媒體查詢和rem控制字型大小。
說一下原型和原型鏈
有沒有自己寫過比較複雜的正則?
有沒有封裝過axios?
前後分離的系統,一個請求出錯了,如何中斷其它請求?
如何在axios中添加登陸驗證?
rollup瞭解過沒?
為什麼rollup打包贅餘代碼比較少?
有沒有結合原生封裝過RN組件?
為什麼用高德地圖不用百度地圖?
怎樣在Android Studio中對React Native的js代碼進行斷點調試?
......
還有n多問題記不太清了...
然後面試官問了一些其他的東西,對小米有什麼看法?995上班、加班沒有加班費能不能接收等等。心想小米在雷總的帶領下還真是拼啊。
面試聊了一個小時,很多問題答爛了,今年應該是和小米無緣了。也明顯看到了自身實力的不足。很感謝面試官給我這次面試機會。
記一次涼涼的小米前端面試