雙非本科。 提前批投了有30多家,總共加起來投了有50多家公司, 除了蘑菇街給了提前批直接面試,其他要不是轉筆試,要不是直接掛簡歷(阿里騰訊),要不就是正式批都開始筆試面試了,我老早投的沒一點動靜,也不給我轉正式批,正式批投了也不給我筆試(歡聚、虎牙等)。
8月26日左右開始投,小米8月28日投的內推,9月最後一週了才聯絡我說我是提前批面試。 除了蘑菇街和小米,其他基本上都是筆試通過後開始面試,不過也有筆試通過後不給我面試(JD、知乎)。
最早面的美麗聯合,提前批,之後就是9月第三週現場面的百度、網易、和電話面的小米,9月最後一週的oppo、美團、騰訊。 站點都是成都。
目前狀態:
- 籤百度
- 百度offer、百詞斬ssp(估計有實習buff加成,談薪資的時候薪資高到把我嚇蒙)、美團offer、小米小sp、美麗聯合sp,
- 網易意向書收到了,結果人招滿了
- 神策資料 一面掛
[TOC]
面經
美麗聯合
最早面試的一家公司,感謝蘑菇街提前批接受了我的簡歷,不然我估計會因為0面試而崩潰的。不過我蘑菇街的面經沒有可參考性,1,2面全是問的專案,3面也是比較常規的hr面。
1面 電話
問專案,中途還涉及到vue、canvas、webpack。 但是大部分時間都是問專案。
2面 視訊
問專案。
3面 Hr
標準hr面
4面 加面
面試官是非常厲害的人,好像是電商部門的技術總負責人。
讓我進行5-10分鐘的自我介紹,把學習經歷,專案和負責內容都介紹一次。
然後問了我專案中的幾個問題
還問了我怎麼處理相容性
之後就是問對前端看法,個人的打算等等
總之感覺挺輕鬆的。
神策資料
1面 視訊
忘了問的啥了,總之體驗很不好,自我介紹的時候就被打斷很多次,最後讓我手寫一個題。
最後,面試官的評價是,程式碼寫得太少了。 我:???
百度
1面 (1小時45分鐘)
- 介紹一下專案,把我簡歷上的專案問了一大半,哪些難點,怎麼做的,為什麼這麼做,有其他方法能實現嗎(後面這幾點大部分是我自己主動介紹的)
- 講專案期間還問了我Canvas,wepack,vue的問題。
- 講專案就佔了一半的時間,
- 手寫ajax
- vue雙向繫結
- vue-router原理
- es6有哪些
- let/const/var區別
- 箭頭函式
- this
- 出了一個相關this的題
- 模組化
- 效能優化(這裡我擴充套件了很多,然後被面試官阻止了,說夠多了)
- 1億個亂序數裡面找出最大的前1000個數
- 有什麼想問我的
2面 (1小時24分鐘)
- 面試官把我簡歷很仔細的看了一遍,然後問我怎麼學習的
- 看了哪些書 然後和和氣氣的畫風突變
- 手寫es6 class繼承
- 一道class相關的題
- 手寫es5 繼承
- 手寫偽陣列轉換為陣列(沒寫好,還出了錯) 面試官說[].slice.call 然後我說有問題,然後還暴露出我沒分清Array和[]的區別
- 手寫string的indexOf,不能用正則,不能用substr這些相關的方法
- 講講事件代理
- 手寫一個block函式,功能是阻止所有a標籤的跳轉事件,並輸出href的值。只要使用這個函式(在文件任意地方寫了block()),所有的a標籤的跳轉事件都要能阻止。這裡還有一個坑,就是
<a><li></li></a>
如果我點的是li,e.target
獲取的值就是li - 從url輸入內容到瀏覽器顯示 前面手寫程式碼寫得想哭,細節漏洞百出被批了幾次。居然問到了我最擅長的題,我差點沒憋住笑出來
10.1. 講了輸入值瀏覽器的不同處理
10.2. dns
10.3. arp
10.4 tcp三次握手
10.5. 中途問我為什麼要3次,不能2次
我想說tcp4次揮手的時候被阻止了,面試官說他知道我知道 10.6. 瀏覽器拿到資料後怎麼渲染
10.6.1. dom構建全流程,cssom構建全流程,渲染樹構建, (上面那些是我回答的內容)
- script 會阻止頁面渲染嗎,外部引入js,css放置位置的影響
- async和defer
- 用了async的js程式碼,想獲取dom結點怎麼辦
- domcontentloaded和onload區別
- domcontentloaded 相容寫法
- 你有什麼想問我的 x4(我:???)
3面 (1個小時20分鐘)
聊人生聊未來聊專案聊思想,聊了一個1個小時20分鐘,聊得我想吐,要在聊人生中展現出自己的能力,也是絞盡腦汁。
網易
1面 (1小時)
- 自我介紹
- 頁面白屏原因
- 怎麼查錯,如果有很多人一起開發呢
- 相容性,向下相容和不同瀏覽器相容
- 佈局
- es6
- 箭頭函式 作用域 還出了幾道題
- babel原理
- vue通訊
- vuex
- eggjs(專案中用到的)和koa區別
- http狀態碼 301,302區別
- url輸入到頁面顯示
- 外鏈css,js和img流程
- 怎麼學習的
- 未來的規劃
- 評價一下自己
- 還有什麼想問的
2面 (1個小時)
全是問專案,正好到我強項 面試官也沒懟我,我的思考挺全面的,基本上面試官的問題我之前做的時候都有考慮過,要不就是現在就能給出解決方案
3面 hr (45分鐘)
壓力hr面,面的時候感覺在被懟,沒談薪資
小米
1面 (40分鐘) 電話
- 自我介紹
- 介紹http狀態碼
- 304變回200
- http和https區別
- tcp三次握手
- webpack
- html5新加的內容
- html5的優點和缺點
- position的值
- transform和position:absolute/relative; left:200px 兩者移動元素的差別
- let/const/var 區別
- es6 class 其他想不起了 問得挺多的,但都是基礎
2面 電話
忘了,總之是技術面,很基礎
問了演算法,一共4個演算法,其中1個是檢測連結串列是否有環,1個是連結串列的環點
3面 hr
好像是hr? 更新這篇文章的時候已經過去很久,忘了
oppo
1面 (30分鐘)
- 自我介紹
- 專案中負責的內容
- es6新增內容
- polyfill
- 效能優化
- 移動端自適應
- 水平居中
- 一行文字超了以省略號表示(我還補充了多行的)
- canvas(專案中用上了)
- webpack
其他想不起了,總之很簡單
2面
-
自我介紹
-
看你是軟體工程的學生,你們學的是什麼 答:C++和 JAVA。
2.1. 那你知道c++的@##@¥怎麼%&*¥#嗎? 答:不知道
2.2. 那你說說@#$%^ 答:不知道
2.3. JAVA中@#¥%&*¥#¥% 答:不知道
-
你們學過計網嗎,學過。 說一下Tcp3次握手。 Balabala,那你知道在這時候客戶端傳送#$%^#&*會怎麼樣嗎? 答:不知道
-
你們應該有學過軟體工程的一些模式吧,比如說瀑布模式,你還知道其他的嗎。 思考了一會兒,答:忘了。
-
那你用JS寫程式碼的時候用過一些設計模式嗎。說說看。
-
說一下單例模式。
-
有哪些方法可以實現單例模式。
-
然後開始聊人生了。
二面莫名其妙的居然就過了?感覺30-40%都是回答的不知道或者忘記了
3面 hr
標準hr面
美團
1面 (接近1小時)
- 自我介紹
- 5道有關this的題
- 手寫一個find方法,查詢物件是否有指定的屬性
- 計算機網路學過嗎
- 說一下3次握手
- 十萬個亂序、有重複的數,找出第K大的數。這裡討論各種演算法的時間複雜度討論得很深。
剩下的想不起了,總之有難度。
2面 (面試時間:???)
- 自我介紹
- 問了一下專案
- 專案中canvas做了啥
- get post請求區別。
- get請求的資料放在哪,post呢
- get為什麼不安全
- XSS是什麼(自己挖了坑)
- get除了能在url裡,還能在哪
- 為什麼要跨域
- 同源策略到底保護的是什麼
- 跨域的方法
- 實現一個JSONP
- CORS原理
- CORS怎麼請求。
- 為什麼get是簡單請求,post是複雜請求。
- get和post的冪等、PUT是冪等嗎
- 說一下你瞭解的資料結構。
- 說一下這些資料結構的適用場景
- 什麼場景使用二叉樹,為什麼要創造出二叉樹這種資料結構。
- 語義化一個表單(應該這個意思吧,沒太懂)
- table表單儲存的到底是什麼資料
- table和ul ol本質上區別是什麼
- 會做遊戲嗎 不會
- 讓你實現一個連連看怎麼做
- 你這個演算法最核心的地方具體怎麼做
- 為什麼這麼多大學生選擇程式設計師這種工資不是最Top,但是又很累的職業
- 為什麼程式設計師普遍工作時間長
- 為什麼井蓋是圓的
- 精確估計成都的小汽車數量和計程車數量
- 好了,你快走吧。
我:????
最懵逼的一場面試, 一面過去才沒多久,還沒從一面的難度中緩過來,面經也沒寫好,二面就來了。原本以為自己已經夠深入了,沒想到居然還能再深入, 整個二面基本上都是自己認識被不斷擊毀,全程懵逼,基本上40%-50%我都在說不知道。
3面
2面才結束不到5分鐘,就來通知了,我還以為通知我涼了,沒想到直接讓我面3面,1、2面面試官就在後面看著我,我:我為什麼過了?我是誰?我在哪?我在幹什麼?
一臉懵逼的坐下去
- 自我介紹
- JS弱型別
- [] + [] 等於什麼
- [] + ![] 等於什麼
- [] == ![] 結果?
- [] == [] 結果?
- 問專案
- 聊人生、未來規劃
- 你有什麼想問我的 xn
一臉懵逼的離開
4面 hr 35分鐘
標準hr面
騰訊
1面 (大約1小時)
個人感覺1面難度高於網易,低於美團
- 自我介紹
- 你用vue多還是react多
- 說一下vue的diff
- 手寫一個vue元件,元件傳參
- 寫一個vue的指令,比如自己寫出v-on
- css3動畫
- tcp三次握手
- 資料是在什麼時候傳送的
- 第三次握手沒收到,伺服器端收到了客戶端資料會怎樣
- ajax請求有哪幾種狀態,具體說一下
- 介紹一下csrf
- 怎麼防禦csrf
- 301和302區別
- 說2個用到301的實際例子(這裡我沒用到過301,我說我用過307,然後說了307的情況)
- 頁面渲染有哪幾種模式
- ie模型和w3c模型的區別
- 微信小程式原理
- 怎麼學習新技術,舉個例子(講了我學vue的過程)
- 60%的同學喜歡籃球,70%喜歡足球,80%喜歡排球,多少同學既喜歡籃球又喜歡足球
騰訊一輪遊
百詞斬
1面 (54分鐘) (視訊)
- 自我介紹
- 寫個氣泡排序
- 演算法的時間複雜度
- JS與其他物件導向語音的區別與優缺點
- 原型,原型鏈,繼承
- 原型繼承的優缺點
- 可實現3列布局的方法,我說了4種
- 說一下非同步
- setTimeout
- 有關setTimeout的2道題
- 寫個AJAX
- 封裝一個AJAX
- TCP三次握手
- TCP在哪一層
- fetch有用過嗎,沒。。
- 資料庫的操作
- 佇列和棧
- 實現一個連結串列
- 程式和執行緒
- 作業系統記憶體排程的解決方法,說了3個
- 還有什麼想問的
整體來說1面難度中規中矩,相比其他公司問的更廣一點,但是深度沒有其他公司深。
2面 (1小時10分鐘) 視訊
- 自我介紹
- 大學裡面學過哪些課
- 搜尋樹、B樹知道嗎
- hash表的特點
- TCP和UDP區別
- 怎麼選擇TCP和UDP
- tcp/ip協議族分哪些層,都有些什麼協議
- 雙向繫結
- 檔案路徑問題(沒能理解到問的什麼)
- 手寫大數相加
- 自己說一下自己研究過的地方,說了效能優化
3面 hr
談薪資。