lz 雙非本科,前端開發技術渣。一字一字碼出來的實習和校招經歷,但願你們都能拿到本身心儀的offer ~ ~html
找實習
戰線從寒假2月就開始了,一直持續到4月中。寒假期間2月底拿到美團實習散招offer,3月去北京美團實習,實習期間陸續拿到 網易遊戲、騰訊音樂、支付寶 的暑假實習offer,最後萬分糾結後,選擇了 支付寶 。前端
美團(offer)
一面(2017.2.16 10:00)
- 瀏覽器事件模型
- jQuery的delegate事件代理,寫出 polyfill
- iframe加載完後,將高度變爲指定的px
- 實現垂直水平居中
- 統計單詞出現次數(key => value)
- 二叉樹翻轉180度
- 閉包的內部實現
- 實現bind方法,寫出 polyfill(考察apply、原型鏈)
二面
- DOM是什麼?有哪些操做
- 獲取class="a"的全部div元素
- ==和===區別
== 容許類型轉換,=== 不容許類型轉換複製代碼
- typeof null === Object , 以及undefined和null區別
- 判斷數組的方法,哪一個更好?
Array.isArray(arr) 是 Object.prototype.toString.call(arg) === '[object Array]';的語法糖。instanceof 跨frame時不能共享原型鏈。複製代碼
- 刪除已有的html節點(考察removeChild)
var child=document.getElementById("p1");
child.parentNode.removeChild(child);複製代碼
- 字符串反轉
const reverseString = str => str.split("").reverse().join("")複製代碼
- 跨域和AJAX(大概6-7種)
CORS、JSONP、Fetch、postMessage、Node、Webpack proxyTable、...複製代碼
- :before和::before的區別(僞類、僞元素)
- 僞類nth-child和nth-of-type區別
- var和function定義方法的區別(調用與聲明的順序)
三面
- 二維圖形造成三維效果
- requestAnimationFrame和setTimeout
- 裁剪圖片,實現,矩陣變換
- 你畫我猜項目的畫線實現
- WebSocket是什麼原理,用了什麼設計模式?
- Socket實現
- TCP/IP網絡分層
- IP 僞造
騰訊課堂IMWeb(掛總監面,看問題就知道爲何了)
一面(2017.2.16 19:00)
- JS事件模型
- AJAX同源策略及跨域方法
- HTTP狀態碼
- XSS和CSRF
- Express特色
- nodejs內存泄露
- Vuejs的生命週期?
- gulp和webpack的區別?(模塊與流,CommonChunks抽出公共模塊)
二面(桌面共享寫代碼)
用原生JS實現一個相似百度搜索框的自動完成控件,好比候選結果集arr=['aaa','abc','acc','dda',...],用戶輸入'a',下拉列表會出現以字母 a 開頭的項'aaa', 'abc', 'acc'
要求:
1. 鼠標或鍵盤能夠選中候選結果到輸入框
2. 能作好兼容性有加分
3. 作題時間45分鐘
4. 用原生 js 實現複製代碼
這個題若是要作好還挺複雜的,兼容下IE、面向對象的設計、輸入延時、請求返回的順序、字符串保存DOM,避免重複 DOM 插入形成的性能問題。
寫的還能夠,面試官還比較滿意。vue
三面 (大概1個小時)
- 問了項目,對項目的技術點,細節,作的好的,作的不太好的
- 統計給定數組中,各數出現的次數,返回 json 對象
- gulp和webpack的區別?
- 5點15分時,時針和分針的夾角
四面 (總監面,3個問題)
- 最近作的項目(問最近,開始有些懵,)
- 瀏覽器緩存
- 60%喜歡足球,70%喜歡籃球,80%喜歡排球,問既喜歡足球,又喜歡籃球,還喜歡排球的有多少?
總監全程很高冷,基本不說話,我還覺得電話信號很差。回答過程當中沒有任何反饋,感受我一直在自言自語。node
網易遊戲(Offer)
一面(3月1號 14:30)
- jquery鏈式調用實現原理?(return this)
- vue 雙向綁定
- AJAX 原理及跨域
- 組件化思想
- 問了項目,gulp 、webpack、grunt平常使用
杭州現場面(3月3號 共三面,上午兩面、下午一面)
- 手寫字符串去重
- 問能不能正常運行,若不能正常運行,須要在a.b函數內作什麼改變?
var a = 1;
a.b = function(){
alert(1);
}
a.b();複製代碼
不能正常運行,a.__proto__.b
或者 Number.prototype.b
,但不建議真實環境下這樣使用。
- WebGL 原理
- 緩存優化
- XSS 和 CSRF
- threejs的性能測試
- 聊了聊項目、城市偏好這樣的話題。
螞蟻金服-體驗技術部(Offer)
大牛、網紅雲集,玉伯、蘇千、民工叔、死馬、承玉、偏右、阮一峯老師等,Ant Design
、eggjs
、dva
、g2
等開源項目。react
一面電話-青桅師兄 (2017.3.5 19:00,當時面完網易還在杭州)
- Vue.js的雙向綁定怎樣實現的?
- Promise對象,嵌套try catch,內層嵌套錯誤捕獲
- 數組去重(寫了大概3種方法)
- nodejs的初衷是什麼,有哪些不同的特性
- node建立子進程,進程間的通訊
- 負載均衡
- 判斷數組
- Class類的繼承
- 還學過哪些編程語言?
- vue使用了虛擬 DOM? vuex、flex數據管理
- vue1.x 和 vue2 的區別
二面視頻面-承玉大神 (2017.3.7 11:00)
- JS數據類型有哪些
- ES6中的Promise,怎樣實現依次異步回調
- ES6有哪些新的東西?
- CSS3的新特性
- 實現居中對齊(大概3種方法)
- ES6模塊機制
- node異步非阻塞 I/O 底層實現原理
- JS類的繼承
- TCP/IP網絡分層
- Apache和Nginx的優缺點
- react diff算法(三層diff)
- XSS 與 CSRF 安全問題,提到了 SSRF 安全
三面HR視頻面 (2017.3.7 14:00)
省略,每一個人問題和答案都不同。但聽出阿里大概喜歡這樣類型的:從初/高中開始搞編程的、創業經歷、實習經歷、比賽經歷、掛科很少的、熱愛技術的jquery
3月10號週五開始在美團實習
美團實習期間
騰訊QQ音樂(Offer,很愧對主管)
一面 (2017.3.10 19:57)
- js基本數據類型,傳值和傳引用的
- GPU加速原理,哪些用了 GPU 加速(以空間換時間)
- 事件模型,怎樣理解事件代理的好處
- 內存泄露 爲何閉包會形成內存泄露
- WebAR的實現,WebGL
- 前端安全有哪些?
- 這些項目中,PV 量最大的是哪一個
- Web 性能優化
- Ajax跨域
- 服務器渲染的好處
- 短時間目標和長遠目標
- 對前端將來的理解
- 用過哪些調試工具
- Zepto怎樣解決移動端的點擊穿透事件
- Vue生命週期及狀態管理
二面 (2017.3.18 11:10)
- 給文檔中還沒添加的 DOM 元素加事件?若是給1000個相同 DOM 加事件,有什麼問題
- 事件模型
- 常使用的調試移動端頁面
- AJAX跨域,其中JSONP有哪些安全問題,怎樣處理(白名單過濾)
- 常見的移動端事件
- 作的這些項目,作了哪些優化?
- 瀏覽器緩存
- 什麼是一個好的產品?
- 如何評價一個產品的UI設計與交互
三面 (2017.3.21 19:30)
- ES6中的特性
- Ajax過程,怎樣實現按需加載
- DNS 解析過程,DNS 劫持
- XSS和CSRF
- 實現居中對齊
- threejs原理
- 問了問項目
四面-面試委員會 (2017.3.27 15:00)
面試委員會:從去年2016年校招開始設立的一個委員會,若是學校不在騰訊目標院校的學生,在部門面完以後,HR面以前,會增長一個面試,可控性不強,這個能不能過,運氣成分比較大。webpack
- 項目中遇到了哪些坑?怎樣解決的?
- 常常提交什麼漏洞?
- react應用到哪一個程度,瞭解diff算法嗎?
- redux源碼看過嗎?
- koa怎樣實現中間件原理?
- 以爲騰訊雲和阿里雲有什麼區別,優點和劣勢?
- ...
五面HR (2017.3.27 16:00)
省略...web
騰訊實習內推面試28號結束,面完hr前,狀態是hr面試中,面完以後,次日28號,狀態變成 已報備 (不是 已報批 ),須要在後續線路面試中瞭解更多狀況。面試
六面-北京線路,主管當面聊 (2017.4.17 18:00)
- 開放題:一個按鈕沒法響應的錯誤上報方案(前端方案、後端方案、阿里的是spm埋點方案)
- 前端自動化測試,用戶熱力圖的實現原理
- https中公鑰和私鑰
- 美團實習期間遇到哪些問題,怎樣解決?
- 問了問城市偏好,聊了會天,主管說之因此面來面去,內推面完又讓來線下面,是由於只有1hc,因此慎重地很。(最後5月才拒的,確實內心過不去)
下午7點面完,出酒店,坐上公交後,手機打開一看,狀態由 已報備 變成了 已經完成全部面試流程 ,開心同時又糾結起來,雖然此時阿里hr面完已經1個多月了,內心知道應該能拿到阿里的實習offer,可是沒有正式的郵件又不敢輕易下結論。最後陸續收到offer郵件,算法
實習offer郵件
校招
阿里實習是從 6月底 到 8月底,轉正面試是從8月3號開始,一面蘇千大大,二面hr,在8月25號週五以前,不知道到底能不能留,心慌,因此面幾家,保險。
騰訊AlloyTeam
一面 (8月4號下午3:46 - 5:07)
- HTTP緩存、HTTP 1.0的HTTP 1.1的區別、HTTP2 ServerPush、HTTP狀態碼
- 打包工具,hash的目的
- HTML5的新特性
- React開發起來比Vue有哪些特色?
- CSS3媒體查詢
- 移動端開發中遇到的問題?
- 閉包、內存泄露
- 從大漠老師的熱點,來看怎樣選擇Vue、Angular、React?
- XSS和CSRF
二面 (8月8號晚上7:39 - 8:45)
- 作過哪些項目,FrozenUI怎樣重構成React版
- https中公鑰和私鑰
- 緩存策略
- 使用過哪些協議,Schema協議的原理
- HTTP2
- 使用過哪些MVV*框架,Vue和React之間的區別
- 移動端開發中遇到的問題?
- 怎樣理解前端工程化?
- 前端跨域
一面的面試官加了我微信,透露hc很緊張,實習轉正都不太夠用,因此就結束了面試。
網易雲音樂 (8月28號 週一 線下)
8月25號週五,向主管請下週一的假,去面試,主管回了一句:其實不必面了,留問題不大。聽到這句,開心得像個孩子。😄,因此面網易的時候,也沒有準備,也不太想面了。
- 手寫 deepClone
- 一個原型鏈繼承的題
- call和apply應用題
- 手寫實現 call
- ...
網易音樂面試貼紙
面完網易雲音樂,晚上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
徵文連接