秋招其實9月還沒開始就結束了,基本面試完就能感覺到有戲沒戲了,也有優秀的hr直接現場告訴你等offer就好了,整個9月都在等offer和要不要再去面倆中度過(最終我還是沒有去。。。)國慶後的第一個工作日祝大家事事順利~
網易(北京)現場 8.29
前言:看著網易杭州的小夥伴都已經被拉去面試,不管體驗或好或壞,也比我這個筆試等待結果的好。本來已經不抱任何希望了,禮拜一突然讓我來面試,真是意外之喜。面試環境感覺還是不錯的,感覺整個工作區域很寬敞,一點沒有擁擠的感覺,還是蠻現代化的,雖然大樓的外表的確一般。中午被一路指引的hr小姐姐賞了頓豬廠的飯,總體面試體驗還是不錯的吧~
一面
- 自我介紹 + 專案介紹
- 怎麼沒留在美國找工作?
- CSS的position屬性
- 兩列布局,左邊定寬
- Flex佈局
- CSS前處理器
- CSS動畫transform,transition,animation,給了個例項問怎麼實現
- Webpack自己配置過?CodeSplit說說
- 會切圖嗎?(懵逼。。。)問了下面試官為啥問這個,說這個還是可以學一下的,以後會有用
- Node瞭解多少
- 前端效能優化方案
- 移動端的優化
- 對於前端這邊的理解
- 學習前端的方式
- 提問
二面
- 前一個面試官問你什麼了,會的和不會的都說說?(blabla。。。)好,那這些不問了
- 剩下這些裡面(列出來了)哪些比較熟悉?(js。。)好,那這個也不問了(sad。。。)
- p標籤裡面有個span,我通過position: relative和transform分別移動span標籤,原先的位置都會保留嗎?如果span上面有一個事件,那我點選哪個位置會觸發?(這題沒人問過吧?我這獨一份)
- 瞭解代理工具嗎?Charles或者Fiddle
- 瀏覽器快取分類
- 懂點jQuery?那我問問吧(好。。。)$(selector)用原生JavaScript哪個能實現?(querySelector)那多個呢?(queryAllSelector)你看看,一看就沒寫過,querySelectorAll,這個不太好啊(心裡慌慌。。。不知道自己怎麼禿嚕一個queryAllSelector)
- $elem.on()用原生JS怎麼實現繫結事件?
- ajax請求裡面,我將某些內容放在header中和放在body中有什麼區別
- 用什麼編輯器啊?(VSC)用過哪些外掛
- box-shadow顏色會疊加嗎?(就是定義多組值)background呢?
- 瞭解漸變嗎?實現一個方框中有很多交叉線,且顏色漸變,且顏色自定義(懵逼。。)不會啊,哎呀,我這還有個更難的問題呢,你看下我自己實現的一個效果,回家好好思考下吧(膜拜。。。)
- 提問:您這提問方式真是獨樹一幟啊,北京話倒是聽著親切(我不是北京人,看你北京的,跟你說北京話親切,上一個我用東北話面試的)牛逼了我的哥。。。
二面面試官真的是逗,雖然問題不是很常見,但更多的就是想了解下你的思路,一種尷尬又輕鬆的感覺(難以形容哈哈哈哈)
hr面
- 說下你做的專案吧(懵逼了。。。不是hr面嗎)?你隨便說下就好,我這是hr面(長舒一口氣。。。)
- 未來職業規劃
- 對網易有哪些瞭解?
接下來,hr大哥就是給我介紹了20多分鐘的網易,說的還是很實在具體的吧,最後問我還有啥問題(你真的介紹的很好了。。。),互相加了微信,說是國慶左右等通知就好了
用友網路視訊面試 8.27
技術面(大前端架構師)
- 自我介紹(請用5分鐘。。。第一次聽到這樣的表述哈哈哈)
- Webpack打包內容過大,如何優化?
- Webpack原理
- React.Component和React.pureComponent區別
- React狀態元件和無狀態元件區別
- 元件A有3個方法,元件B也要有這3個方法,如何實現方法複用(說了工具函式類,但是面試官問還有沒有其他方法,最後跟我說去看下高階元件這塊)
- render函式中執行5次setState會發生什麼
- 要展示5000條資料,如何載入可以優化載入時間?(分頁載入)如何5000條就是已經分頁了的呢?
- 管理員賬戶和普通賬戶登陸後,sideBar可以根據不同賬戶展現不同東西,如何做到?
hr面(招聘經理)
- 人生經歷
- 公司的選擇條件
- 就業規劃
- 能實習嗎
- 拋開現實,你會去幹嘛
- 女朋友?她的就業規劃?
- 剛到美國留學的感受?中美差異?
- 一些其他問題。。。
- 提問
感悟:技術面會偏向實戰一些,但是面試官最後都會給點明方向,下來後感覺確實學到一些東西,感覺算是不錯的一個面試體驗
拼多多二面 + hr面現場 8.26
週日一早9點不到趕到圓明園附近的啥啥啥地方,進去之後,現場跟360的現場真是天壤之別,簽到的時候看見一個時間段(2小時)所有崗位加一起也就不到一頁紙,可能是因為是北京場的緣故吧。拼多多現場技術兩面+hr面是平行的,自己之前又被電話面過一次(不知道為啥有這種操作。。。),所以當天一共只有兩面。
先去的HR面,跟小姐姐聊的還不錯,主要問的東西其實也就是一般HR聊的,中間聊到有沒有女朋友和女朋友就業時候,發現HR學校裡讀的專業和女朋友一樣(非人力資源),順帶了解了一下就業啥的,算個小插曲吧。
後來直接被帶去二面,二面也都是些開放問題,也聊了聊自己的學生經歷什麼的,問了問React生命週期,寫了個演算法題(1到100,隨機擷取10段時間段,計算總覆蓋面積,其中重疊的不需要重複計算)
最後,hr說會在1-2周之內出結果(估計是通過的話會告知吧。。)
多益網路視訊一面 8.23
一次死氣沉沉的面試。。。面試官全程無表情,默默的問問題。。。基本上沒有太多的互動,至於面經什麼的,也就沒啥心情記錄了。。。
奇虎360提前批現場面試 8.23
一面
- 自我介紹
- 專案中資料分頁是放在瀏覽器端還是服務端?說說分別怎麼實現?傳什麼引數?
- cookie和localStorage的區別及應用場景
- 跨域的方式有哪些?
- 畫一個CSS盒模型
- CSS畫一個圓形,平均四分後,相對的兩面是一個顏色(border+border-radius+transform)
- 重排和重繪的區別?如何優化?
- 演算法:二維陣列縱向降維一維陣列
- git指令瞭解什麼?git stash是什麼?
- 提問
感受:360現場面試的環境真的是面過的最嘈雜的一個,我反正跟面試官都得湊著說才能聽的很清楚。還好一面面試官面慈心善,對各種問題也會慢慢引導,很有耐心。
二面(4個小時之後!!!!!)
從中午12點多一面結束,到下午4:15才被叫去二面,真的是。。。無語了。。。看群裡很多小夥伴說視訊一面完很久沒二面,現場也是一樣的狀況,只有不斷的刷自己的手機。
然而,二面20mins就結束了,估計是面試官對自己沒什麼興趣,隨便聊了20mins就讓我走了,後來一看也就掛了,感覺自己等的真心虧。。。。哎
美團提前批現場面試 8.22
前言:美團的面試真是。。。打擾了
其他
- 畢業時間
- 成績績點 + 排名 + 高績點課程
- 前面有兩段實習經歷(我簡歷明明就寫了一段。。。),說說收穫和心得
- Java Swing的佈局和HTML/CSS的佈局有什麼關係?(以後再也不說自己知道Swing了)
- 提問
計算機基礎
- 我點選一個按鈕或者連結,會發生什麼?想多少說多少
- TCP三次握手發生在什麼時間?
- 資料是如何傳輸的(估計是想問計算機網路那幾層協議拆包吧。。)
- 狀態碼有什麼?
- 有6xx或者7xx嗎?要是有的話可能是什麼情況?
- HTTP請求頭有哪些欄位?
HTML
- 瞭解過HTML標準嗎?(沒。。。)
- 那你覺得HTML怎麼樣才標準?
- DOCTYPE有哪些(說了html5和html4的兩種)
- HTML語義化怎麼理解
CSS
- CSS動畫的瞭解?
- transition和animation有什麼區別
- CSS選擇器的權重?class和id的權重分別是多少?驗證過?
- CSS編寫的最佳實踐是什麼?(說到了id優先,層級別太深。。)
- 一定id優先?要是多個同類元件呢?
- 怎麼確定寫出來的CSS的層級數?
- 我給一個元件設定完全相同的樣式(相容性已處理),但是在某一瀏覽器中出現偏差,如何檢驗改進?
JavaScript
- Java和JavaScript有什麼區別?
- JavaScript的型別是在什麼時候確定的
- 下列程式碼
function A(name) {
this.name = name;
}
複製程式碼
- A() 輸出什麼?this是什麼?有返回值嗎?
- new A()輸出什麼?this是什麼?有返回值嗎?
- 函式沒有return的話,有返回值嗎?
- 下列程式碼,問每處a的typeof值
{1}
var a;
{2}
function a(){};
{3}
a = 1;
{1}
var a = 0;
{2}
var a = function(){};
{3}
a = 1;
複製程式碼
- 下列程式碼
function A(a){
this.a = a;
}
A.prototype = {...};
var a1 = new A();
var a2 = new A();
A.protoype.b = ...;
var a3 = new A();
複製程式碼
- a1和a2的__proto__相同嗎?a1和a3的__proto__相同嗎?
- 將字串'abCdEFg'改寫為ab.cd.e.fg
框架/工具
前言:到這塊兒的時候我已經滿腦子漿糊了。。。
- React瞭解哪些?
- 層級較深的兄弟元件如何通訊?
- Redux一定要使用嗎?(不一定。。。簡單就不用吧。。)
- 那區域性兄弟元件通訊怎麼辦?(使用Context)
- 那整體資料又很複雜呢?(Redux + Context???)
- Webpack瞭解哪些?自己寫過載入嗎?
- Node呢?
金山雲提前批 + 百度提前批(硬體生態部)邀請 + 途牛
身體那幾天真心不舒服,就推掉了。。。
CVTE副總裁侃大山面 8.18
前提:之前電話裡告訴我是副總裁,不知道是不是,感覺還是hr的感覺,可能是人力副總裁
再前提:一個hr小姐姐(姑且算hr)對我們三個候選人
具體的問題跟CVTE的hr面差不多,感覺面對面會更加緊張些,好在我每次都是第一個說,硬著頭皮往上衝就好了,不用自己瞎思考半天。中間小姐姐介紹了下公司的各種業務,原來發現CVTE涉獵的還是挺多的。最後小姐姐說會反饋給廣州那邊,面試就結束了。
愛奇藝提前批現場面試 8.18
請注意:一二三面都沒有自我介紹,對於當時的我簡直幸福
一面
- 寫出輸出結果
var a = 1;
function foo(a, b) {
a = 2;
console.log(a); // 2
var a;
arguments[0] = 3;
console.log(a, this.a, b); // 3, 1, undefined
}
foo(a);
複製程式碼
- 寫出輸出結果
function Foo(){};
Foo.getName = function(){console.log('Foo.getName');};
Foo.prototype.getName = function(){console.log('Foo.prototype.getName');}
Foo.getName(); // 'Foo.getName'
若去掉Foo.getName = function(){console.log('Foo.getName');},則報錯
複製程式碼
- 寫出輸出結果
var a = 1;
function f(){
console.log(a);
}
function foo(){
var a = 2;
f();
}
foo(); // 1,console.log裡面的a指向全域性作用域
複製程式碼
- 寫出輸出結果
var a = {};
var b = function(){};
a.constructor; // Object()
b.constructor; // Function()
複製程式碼
- 畫JS原型鏈圖
- ES5建立物件及繼承
- 瞭解的排序演算法 + 手寫一種(快排)
- 什麼是二叉樹?什麼是完全二叉樹?什麼是滿二叉樹?
- 前序 + 中序的結果(非程式碼)
- HTTP狀態碼
- HTTPS的加密方式
- 簡歷上專案聊了聊
二面
- 美國上學怎麼樣啊?和國內有啥區別(懵逼。。。)
- 會Java啊?(就只知道些語法。。)Reflection知道嗎?(不知道)Collection介面有哪些資料結構啊?來寫個Map的遍歷吧(冥思苦相,記起了iterator。。。)
- Java寫個遞迴階乘吧(評價:速度有點慢啊)
- 還是拿JS寫個bfs吧(評價:這次倒挺快啊)
- 24點玩過?給你4個數,寫個函式判斷是不是用加減乘除和括號能得到24點(不會。。。說了下思路,然後面試官說就不想用窮舉唄?我又懵逼了。。。)
- 時間來不及了,再聊聊你美國上學的事兒吧(懵逼繼續。。。)自己出去上學以後,哪些地方改變比較大啊?
懵逼的二面就這麼結束了。。。
三面
hr小姐姐:這是最後一個了
面試官:好。。。
- 說說原型鏈
- 說說閉包
- 說說React(生命週期 + diff)
- 如何改變上下文環境this
- 如何自己實現一個bind
- 專案 + 實習 聊了兩三句就過了。。
- 說說快排思路,再說說堆排序思路
- 懂Java?懂Node?(不敢懂了。。。)
- 喲美國留學啊(對,看來又要聊這個了。。)英語好嗎?(好好好。。。本科全系就我一箇中國學生。。。)
- 怎麼學前端
完成三面之後,HR小姐姐告訴我看系統裡的評價基本上就是過了,感謝天感謝地感謝面試官和hr小姐姐,沒白耗5個多小時
騰訊SNG電話一面 8.17
- var,let和const
- 快取機制及對應HTTP欄位
- 原型鏈
- 繼承
- 跨域的方法 + Webpack代理快取的原理
- JS事件機制及事件委託
- Cookie
- call, apply, bind
- 原生ajax請求過程
- Promise的理解:狀態 + then方法原理
- 三道程式設計題:元素拖動與釋放 + 彈幕 + 大整數加法
搜狐提前批現場面試 8.17
-
自我介紹 + 專案介紹
-
React瞭解多少
-
有/無狀態元件的區別
-
高階元件的概念
-
React-Router的原理
-
Node瞭解多少
-
CSS優先順序?如下兩種情況:1) tagName idName className 2) tagName className idName哪個優先順序高
-
深克隆
-
快排
-
演算法:多個頂點,部分連線,一共有4種顏料,給出一種塗顏料的方法使得相鄰兩個頂點顏色不同,其中資料結構使用二維陣列,0表示不連線,1表示連線
-
自我介紹 + 專案介紹(選一個介紹,介面、架構啥的。。。)
-
職業方向與規劃
-
能否實習
-
瞭解啥新技術
拼多多電話一面 8.16
- 自我介紹 + 專案介紹
- H5的新特性 + localStorage的API
- CommonJS和ES6的模組化的區別
- Webpack按需載入
- CSS預處理
- Bootstrap的原理
- CSS動畫了解多少
- Canvas API瞭解多少
- React的元件通訊
- 線上做題:ajax請求url上的圖片,要求返回Promise,Resolve狀態下的data是一個包含width和height的物件
- 提問
大疆現場終面 8.16
- 專案介紹(通通來一遍)
- H5新特性
- 學過軟體工程?知道敏捷開發?
- 什麼讓你學前端?
- 工作後想接手一個怎樣的專案?
- 希望的工作狀態?未來想往哪個方向發展?
- 怎麼學前端?
- 看過開源的東西嗎?自己有元件庫?(有工具函式庫)庫裡有什麼?
- 學過設計嗎?
- 提問
百度智慧雲現場面試 8.15
一面
- 自我介紹
- 手寫一個React元件,多行輸入框 + 字數統計 + 超過字數限制提示
- 手寫ES5實現繼承
- new Foo()和Foo()的區別
function Foo(name) {
this.name = name;
}
複製程式碼
- 快取分類及對應頭部資訊
- 模組化:ES6,CommonJS,AMD,CMD及區別?能手寫AMD或CMD嗎?
- 手寫Promise.all的原生實現
function myPromiseAll(arr) {
let res = [];
return new Promise((resolve, reject) => {
let i = 0;
next();
function next() {
arr[i].then(function(data) {
res.push(data);
i++;
if(i === arr.length) {
resolve(res);
} else {
next();
}
});
}
});
}
複製程式碼
- 手寫遍歷DOM樹所有節點(非遞迴)
- React Diff演算法及時間複雜度
- React陣列/列表渲染key的作用
- 你還有什麼覺得掌握特別好的想讓我來問問?(懵逼。。。。)
二面
- 自我介紹
- CSS瞭解嗎?CSS3的屬性說說
- 三列布局:兩邊定寬,中間自適應,充滿整個螢幕
- 手寫ES5繼承實現?Parent.call(this)的作用?Child.protoype = Object.create(Parent)的作用
- 演算法題:有兩個字串A和B,A全部由0和1組成,B全部由0、1和?組成,其中?既可以表示0也可以表示1,問字串B在A中有多少種完全匹配
- 手寫深克隆
- 演算法題:實現一個Stack資料結構,具有push(), pop()和getMax()方法,要求所有方法時間複雜度為O(1),空間複雜度無限制