阿里實習轉正1個月了,記錄下從實習到校招的面試歷程|掘金技術徵文

信鑫-King發表於2017-09-28

lz 雙非本科,前端開發技術渣。一字一字碼出來的實習和校招經歷,希望大家都能拿到自己心儀的offer ~ ~

找實習

戰線從寒假2月就開始了,一直持續到4月中。寒假期間2月底拿到美團實習散招offer,3月去北京美團實習,實習期間陸續拿到 網易遊戲騰訊音樂支付寶暑假實習offer,最後萬分糾結後,選擇了 支付寶

美團(offer)

一面(2017.2.16 10:00)

  1. 瀏覽器事件模型
  2. jQuery的delegate事件代理,寫出 polyfill
  3. iframe載入完後,將高度變為指定的px
  4. 實現垂直水平居中
  5. 統計單詞出現次數(key => value)
  6. 二叉樹翻轉180度
  7. 閉包的內部實現
  8. 實現bind方法,寫出 polyfill(考察apply、原型鏈)

二面

  1. DOM是什麼?有哪些操作
  2. 獲取class="a"的所有div元素
  3. ==和===區別
     == 允許型別轉換,=== 不允許型別轉換複製程式碼
  4. typeof null === Object , 以及undefined和null區別
  5. 判斷陣列的方法,哪個更好?
     Array.isArray(arr) 是 Object.prototype.toString.call(arg) === '[object Array]';的語法糖。instanceof 跨frame時不能共享原型鏈。複製程式碼
  6. 刪除已有的html節點(考察removeChild)
     var child=document.getElementById("p1");
     child.parentNode.removeChild(child);複製程式碼
  7. 字串反轉
     const reverseString = str => str.split("").reverse().join("")複製程式碼
  8. 跨域和AJAX(大概6-7種)
     CORS、JSONP、Fetch、postMessage、Node、Webpack proxyTable、...複製程式碼
  9. :before和::before的區別(偽類、偽元素)
  10. 偽類nth-child和nth-of-type區別
  11. var和function定義方法的區別(呼叫與宣告的順序)

三面

  1. 二維圖形形成三維效果
  2. requestAnimationFrame和setTimeout
  3. 裁剪圖片,實現,矩陣變換
  4. 你畫我猜專案的畫線實現
  5. WebSocket是什麼原理,用了什麼設計模式?
  6. Socket實現
  7. TCP/IP網路分層
  8. IP 偽造

騰訊課堂IMWeb(掛總監面,看問題就知道為什麼了)

一面(2017.2.16 19:00)

  1. JS事件模型
  2. AJAX同源策略及跨域方法
  3. HTTP狀態碼
  4. XSS和CSRF
  5. Express特點
  6. nodejs記憶體洩露
  7. Vuejs的生命週期?
  8. gulp和webpack的區別?(模組與流,CommonChunks抽出公共模組)

二面(桌面共享寫程式碼)

用原生JS實現一個類似百度搜尋框的自動完成控制元件,比如候選結果集arr=['aaa','abc','acc','dda',...],使用者輸入'a',下拉選單會出現以字母 a 開頭的項'aaa', 'abc', 'acc'

要求:
1. 滑鼠或鍵盤可以選中候選結果到輸入框
2. 能做好相容性有加分
3. 做題時間45分鐘
4. 用原生 js 實現複製程式碼

這個題如果要做好還挺複雜的,相容下IE、物件導向的設計、輸入延時、請求返回的順序、字串儲存DOM,避免重複 DOM 插入造成的效能問題。
寫的還可以,面試官還比較滿意。

三面 (大概1個小時)

  1. 問了專案,對專案的技術點,細節,做的好的,做的不太好的
  2. 統計給定陣列中,各數出現的次數,返回 json 物件
  3. gulp和webpack的區別?
  4. 5點15分時,時針和分針的夾角

四面 (總監面,3個問題)

  1. 最近做的專案(問最近,開始有些懵,)
  2. 瀏覽器快取
  3. 60%喜歡足球,70%喜歡籃球,80%喜歡排球,問既喜歡足球,又喜歡籃球,還喜歡排球的有多少?

總監全程很高冷,基本不說話,我還以為電話訊號不好。回答過程中沒有任何反饋,感覺我一直在自言自語。

網易遊戲(Offer)

一面(3月1號 14:30)

  1. jquery鏈式呼叫實現原理?(return this)
  2. vue 雙向繫結
  3. AJAX 原理及跨域
  4. 元件化思想
  5. 問了專案,gulp 、webpack、grunt日常使用

杭州現場面(3月3號 共三面,上午兩面、下午一面)

  1. 手寫字串去重
  2. 問能不能正常執行,若不能正常執行,需要在a.b函式內做什麼改變?
     var a = 1;
     a.b = function(){
       alert(1);
     }
     a.b();複製程式碼
    不能正常執行,a.__proto__.b 或者 Number.prototype.b ,但不建議真實環境下這樣使用。
  3. WebGL 原理
  4. 快取優化
  5. XSS 和 CSRF
  6. threejs的效能測試
  7. 聊了聊專案、城市偏好這樣的話題。

螞蟻金服-體驗技術部(Offer)

大牛、網紅雲集,玉伯、蘇千、民工叔、死馬、承玉、偏右、阮一峰老師等,Ant Designeggjsdvag2等開源專案。

一面電話-青桅師兄 (2017.3.5 19:00,當時面完網易還在杭州)

  1. Vue.js的雙向繫結怎樣實現的?
  2. Promise物件,巢狀try catch,內層巢狀錯誤捕獲
  3. 陣列去重(寫了大概3種方法)
  4. nodejs的初衷是什麼,有哪些不一樣的特性
  5. node建立子程式,程式間的通訊
  6. 負載均衡
  7. 判斷陣列
  8. Class類的繼承
  9. 還學過哪些程式語言?
  10. vue使用了虛擬 DOM? vuex、flex資料管理
  11. vue1.x 和 vue2 的區別

二面視訊面-承玉大神 (2017.3.7 11:00)

  1. JS資料型別有哪些
  2. ES6中的Promise,怎樣實現依次非同步回撥
  3. ES6有哪些新的東西?
  4. CSS3的新特性
  5. 實現居中對齊(大概3種方法)
  6. ES6模組機制
  7. node非同步非阻塞 I/O 底層實現原理
  8. JS類的繼承
  9. TCP/IP網路分層
  10. Apache和Nginx的優缺點
  11. react diff演算法(三層diff)
  12. XSS 與 CSRF 安全問題,提到了 SSRF 安全

三面HR視訊面 (2017.3.7 14:00)

省略,每個人問題和答案都不一樣。但聽出阿里大概喜歡這樣型別的:從初/高中開始搞程式設計的、創業經歷、實習經歷、比賽經歷、掛科不多的、熱愛技術的

3月10號週五開始在美團實習

美團實習期間
美團實習期間

騰訊QQ音樂(Offer,很愧對主管)

一面 (2017.3.10 19:57)

  1. js基本資料型別,傳值和傳引用的
  2. GPU加速原理,哪些用了 GPU 加速(以空間換時間)
  3. 事件模型,怎樣理解事件代理的好處
  4. 記憶體洩露 為什麼閉包會造成記憶體洩露
  5. WebAR的實現,WebGL
  6. 前端安全有哪些?
  7. 這些專案中,PV 量最大的是哪個
  8. Web 效能優化
  9. Ajax跨域
  10. 伺服器渲染的好處
  11. 短期目標和長遠目標
  12. 對前端未來的理解
  13. 用過哪些除錯工具
  14. Zepto怎樣解決移動端的點選穿透事件
  15. Vue生命週期及狀態管理

二面 (2017.3.18 11:10)

  1. 給文件中還沒新增的 DOM 元素加事件?如果給1000個相同 DOM 加事件,有什麼問題
  2. 事件模型
  3. 常使用的除錯移動端頁面
  4. AJAX跨域,其中JSONP有哪些安全問題,怎樣處理(白名單過濾)
  5. 常見的移動端事件
  6. 做的這些專案,做了哪些優化?
  7. 瀏覽器快取
  8. 什麼是一個好的產品?
  9. 如何評價一個產品的UI設計與互動

三面 (2017.3.21 19:30)

  1. ES6中的特性
  2. Ajax過程,怎樣實現按需載入
  3. DNS 解析過程,DNS 劫持
  4. XSS和CSRF
  5. 實現居中對齊
  6. threejs原理
  7. 問了問專案

四面-面試委員會 (2017.3.27 15:00)

面試委員會:從去年2016年校招開始設立的一個委員會,如果學校不在騰訊目標院校的學生,在部門面完之後,HR面之前,會增加一個面試,可控性不強,這個能不能過,運氣成分比較大。

  1. 專案中遇到了哪些坑?怎樣解決的?
  2. 經常提交什麼漏洞?
  3. react應用到哪個程度,瞭解diff演算法嗎?
  4. redux原始碼看過嗎?
  5. koa怎樣實現中介軟體原理?
  6. 覺得騰訊雲和阿里雲有什麼區別,優勢和劣勢?
  7. ...

五面HR (2017.3.27 16:00)

省略...

騰訊實習內推面試28號結束,面完hr前,狀態是hr面試中,面完之後,第二天28號,狀態變成 已報備 (不是 已報批 ),需要在後續線路面試中瞭解更多情況。

六面-北京線路,主管當面聊 (2017.4.17 18:00)

  1. 開放題:一個按鈕無法響應的錯誤上報方案(前端方案、後端方案、阿里的是spm埋點方案)
  2. 前端自動化測試,使用者熱力圖的實現原理
  3. https中公鑰和私鑰
  4. 美團實習期間遇到哪些問題,怎樣解決?
  5. 問了問城市偏好,聊了會天,主管說之所以面來面去,內推面完又讓來線下面,是因為只有1hc,所以慎重地很。(最後5月才拒的,確實心裡過不去)

下午7點面完,出酒店,坐上公交後,手機開啟一看,狀態由 已報備 變成了 已經完成所有面試流程 ,開心同時又糾結起來,雖然此時阿里hr面完已經1個多月了,心裡知道應該能拿到阿里的實習offer,但是沒有正式的郵件又不敢輕易下結論。最後陸續收到offer郵件,

實習offer郵件
實習offer郵件

校招

阿里實習是從 6月底 到 8月底,轉正面試是從8月3號開始,一面蘇千大大,二面hr,在8月25號週五之前,不知道到底能不能留,心慌,所以面幾家,保險。

騰訊AlloyTeam

一面 (8月4號下午3:46 - 5:07)

  1. HTTP快取、HTTP 1.0的HTTP 1.1的區別、HTTP2 ServerPush、HTTP狀態碼
  2. 打包工具,hash的目的
  3. HTML5的新特性
  4. React開發起來比Vue有哪些特點?
  5. CSS3媒體查詢
  6. 移動端開發中遇到的問題?
  7. 閉包、記憶體洩露
  8. 從大漠老師的熱點,來看怎樣選擇Vue、Angular、React?
  9. XSS和CSRF

二面 (8月8號晚上7:39 - 8:45)

  1. 做過哪些專案,FrozenUI怎樣重構成React版
  2. https中公鑰和私鑰
  3. 快取策略
  4. 使用過哪些協議,Schema協議的原理
  5. HTTP2
  6. 使用過哪些MVV*框架,Vue和React之間的區別
  7. 移動端開發中遇到的問題?
  8. 怎樣理解前端工程化?
  9. 前端跨域

一面的面試官加了我微信,透露hc很緊張,實習轉正都不太夠用,所以就結束了面試。

網易雲音樂 (8月28號 週一 線下)

8月25號週五,向主管請下週一的假,去面試,主管回了一句:其實沒必要面了,留問題不大。聽到這句,開心得像個孩子。?,所以面網易的時候,也沒有準備,也不太想面了。

  1. 手寫 deepClone
  2. 一個原型鏈繼承的題
  3. call和apply應用題
  4. 手寫實現 call
  5. ...

網易音樂面試貼紙
網易音樂面試貼紙

面完網易雲音樂,晚上7點坐地鐵從濱江區回西湖區,地鐵上接到QQ音樂 的一面電話,沒錯,是QQ音樂,主管把我簡歷一直鎖著,系統解鎖後又手動鎖上。因為當時在地鐵上,約了9點面試,結果9點沒打電話過來,後面也沒有了。其實校招再面QQ音樂是比較糾結的,萬一再向實習那樣,接了不去,我估計終身騰訊黑名單。所以說愧對QQ音樂主管

網易遊戲

一面電話通過,二面通知 9月6號 週三線下面試,結果當時阿里實習結束,買的是 9月5號 的機票,所以也就沒面了。

微信WXG事業群 (9月7號)

一面共享寫程式碼,考演算法,像是一個多重揹包的動態規劃問題。

微信小程式團隊一共有 n 名成員,決定出去秋遊,在海邊遇到出租摩托艇的傑克馬,馬先生手上有 m 輛待出租的摩托艇,價格分別是 b1 、b2 ... bm;
由於習慣了微信支付,團隊中每個人身上的現金都有限,分別是 a1 a2 ... an,對了,一起出門的老闆還帶有 S 元的團隊經費,這個經費是每個人都可以使用的

那麼考慮以下兩個場景

場景1
團隊成員都很有愛,都願意借錢給其他同事。

function max( Array n, Array m, S) {
    return number
}


場景2
團隊成員都十分小氣,是不願意借錢給別人的。

// 問題一 請判斷團隊成員是否都能租到摩托艇
function isAll(Array n, Array m, S){
  return true | false
}

// 問題二 請問給出一個策略,使得團隊成員租到最多的摩托艇,並且該策略在相同數量的摩托艇情況下花費最少

function max( Array n, Array m, S) {

    return {
        number,
        cost
    }

}複製程式碼

就一個阿里offer,謝謝阿里沒讓我失業。?

阿里轉正offer
阿里轉正offer

徵文連結

相關文章