2018屆前端校招面經:百度、網易、搜狗與阿里

這個是兩年前的面經了,一眨眼樓主已經在淘寶待了一年啦,新的面經分享你們能夠看這個帖子 畢業一年的阿里學長秋招經驗分享前端

時間過得很快,感受昨天還在軍訓,今天就要畢業找工做了🤕。互聯網的校招開始的很早,九月底已是尾聲了,對比春招時候的磕磕碰碰,校招能夠說是異常順利了,面一個過一個的那種順利。。。其實本身的水平還比較有限,要說的話應該是準備的比較好吧。 好了,言歸正傳,校招總共面了四家公司,按照時間順序分別是百度網頁搜索部、網易杭研公共技術部、搜狗瀏覽器、阿里不知道什麼部(校招大流程😂),下面分別寫一下面經記錄一下。(時間過去挺久了,結合本身的筆記,能寫多少寫多少)node

1、百度網頁搜索部

百度是從學長哪裏要到的內推信息,投的提早批(我不會說個人筆試經過率有多感人的),總共三面,兩輪技術面加一輪總監(經理?)面,記錄以下: 一面 一面是個小姐姐,特別愛笑,整個面試過程很輕鬆,給個人校招處女面開了一個很是好的頭。就是她剛開完會回來面試,並且感受她也是第一次面別人,有點緊張的樣子(她一緊張反而我就不緊張了👻)webpack

  • 引用類型和原始類型
  • 本地存儲(cookie, sessionStorage, localStorage)
  • 跨域的方法(JSONP, CORS, iframe+document.domain, window.name)
  • 同一個瀏覽器不一樣頁面的通訊(我答的是用sessionStorage或者後端解決,面試官說能夠用window.postMessage)
  • 據說過service worker嗎(我說沒有🤐,實際上是一種前端耗時任務的解決方案)
  • 說一下從URL輸入到頁面渲染的這個過程,越詳細越好(記住這個問題,後面還會出現好多遍🙄,我主要答的是瀏覽器緩存的機制)
  • 根據上個問題順路問了一下前端性能優化(請求數量,請求帶寬,緩存利用,頁面結構等角度)
  • 爲啥要用Redux(由於想學。。而後簡單談了一下Redux的優點) 二面 二面變成了小哥哥(事實上面了那麼多試除了HR之外幾乎都是男生),而後說一面基礎的東西都問過了讓我介紹一個項目。其實有點怕問項目,由於雖然作的不少,可是由於本身沒有總結的習慣,很快就忘了以前項目的閃光點了。而後介紹了一下暑假寫的一個nodejs和爬蟲的項目
  • 爲何要用Python寫爬蟲,有什麼優點嗎(我說同步的比較清晰,而後能夠開多線程,而後文件讀寫什麼的比較方便)
  • (說到了多線程)Node怎麼處理高併發(答的事件循環,消息隊列)
  • (項目中提到了用mongo作隊列,不要嘲笑我。。)爲何要用mongo作隊列呢(首先說內存可能裝不下要用持久化存儲,而後其實用Redis性能會好的多,考慮不周,認可錯誤 Orz)
  • 而後問關係型和非關係型數據庫的差異,MySQL
  • 前端安全的問題XSS和CSRF
  • (說到了微信小程序)有遇到什麼坑嗎(就遇到過一個Input是原生組件的問題) 三面 傳說中的總監面。。其實能夠認爲是一個懂技術的HR跟你聊天,而後聊本身的前端之路,聊創業,聊實習,聊社團,聊了一個多小時。。可是聊得太開心了感受有些問題被帶坑裏了
  • 怎麼評價本身如今的前端水平,10分制打個分吧(我。。。而後我就很誠實的說最近感受業務代碼寫的好像沒遇到啥問題了,就是前端可視化這一塊須要提升一下)
  • 那除了你剛剛說的前端可視化這一塊的,其餘方面你以爲本身還有哪些不足呢(懵逼臉,都忘了本身咋答的了)
  • 怎麼看待幫別人打工和本身創業 感受本身聊得很誠實。。可能表現的有點自信過頭了(參考我大一面試學生會被刷Orz),還好最後拿到了offer(還要心疼一下個人機票錢)🤕。

2、網易杭研公共技術

仍是原來的地方,仍是熟悉的味道🤡,以前來實習過感受就是會更親切、更有底氣一點。不過本身畢竟是回來面試的,仍是有點點緊張的。 一面 一面的面試官是個特別愛笑的小哥,可是可能個人場次比較晚,因此看上去很疲倦。而後一上來就跟我說他從早上九點就過來了,中午都沒有休息,有點累讓我諒解一下(Orz,累你還這麼犀利🤕),一面時間挺長的程序員

  • (自我介紹裏有React單頁應用)SPA的路由是怎麼實現的(答hash和history)
  • 老的瀏覽器不支持hashchange這些事件怎麼辦(不會。。面試官說能夠用輪詢)
  • URL輸入到渲染(又是這個問題)
  • 怎麼判斷DOM樹構建好了(DOMContentLoaded)
  • 不支持這個事件怎麼辦(輪詢?)
  • 介紹一下React(blablabla)
  • 怎麼從虛擬的DOM結構映射到實際DOM結構的
  • this的綁定
  • 實現一個方法刪除數組指定位置的若干元素並展開插入一個數組(使用apply改造splcie方法,沒答好🤕)
  • 介紹一下原型鏈
  • new作了什麼(腦抽了不知道咋寫代碼就大概說了一下,其實很簡單的,有點氣)
  • XSS和CSRF,介紹一下HTTP,PUT、PATCH、POST的區別
  • 知道CSP嗎(Content Security Policy,防XSS的一種協議吧) 一面下來感受我也挺累的。。面試官應該更累了,太負責任了😶 二面 二面和傑哥開心的聊項目🤗 三面 HR小姐姐面。。仍是頗有質量的一次面試,問的東西大概列舉一下:
  • 以前在網易實習的收穫
  • 對網易的見解
  • 創業有沒有遇到什麼問題,怎麼解決的
  • 賺了多少錢。。
  • 在社團的職責
  • 怎麼作培訓?怎麼帶項目?怎麼作部門建設?
  • 怎麼解決部門小朋友們水平良莠不齊的問題 聊了挺久可是挺開心的,由於都是本身的親身經歷,仍是有不少東西能夠說的。順便感慨一下網易的HR小姐姐的聲音都好好聽🤒。

3、搜狗瀏覽器

以前找人幫忙投的內推,在過了n久我都快忘了的時候忽然給我打電話讓我去面試(感受校招作的不到位啊)。。第一次在西安本地面試,而後連着三每天天早上跑到高新區去,困死我了😴。可是面試體驗仍是很好的。 一面 一面被一位霸面的同窗插隊了,等了大半個小時。不過仍是能夠理解的,春招霸面騰訊幹坐了一天,回想起來仍是很感觸的。而後面試官先給了一份筆試題,題目大概是這幾道:web

  • 畫一下盒模型
  • 寫一下一欄定寬一欄流動的佈局,越多越好
  • 實現一個判斷元素是否可見的函數
  • 遍歷全部DOM元素
  • 實現從左上角移動到右上角的動畫 都比較基礎。答完筆試題後面試官拿着我和霸面同窗的答案讓咱們講一下本身的思路,感受至關的親切。不過面試的時候仍是挺嚴肅的。
  • 對比一下React和Vue
  • React數據流向,父子組件通訊,沒啥關係的組件通訊
  • 觀察者模式(store.subscribe)
  • redux源碼
  • 定寬+流動佈局有沒有更多的方法(浮動,flex,position,負外邊距,BFC)
  • 手寫代碼:獲取兩個元素最近的公共父節點(單鏈表的交叉點,沒答好,複雜度高了)
  • 手寫正則:匹配以.js而非.min.js結尾的文件名(正則不太熟Orz) 二面 二面在面試官的酒店房間裏😯,而後一面的面試官在面另外一位同窗,感受是兩我的交叉着面試吧。言歸正傳:
  • js數據類型
  • 手寫實現一個深拷貝
  • (對着代碼)傳入null的話類型是否是不對(我記不清typeof null是啥了)
  • new Number(1)這樣獲得的結果是什麼類型的,函數呢(而後讓下去看jqeury怎麼實現類型判斷的,其實就是對象的話調用toString,null使用String構造函數)
  • 原型鏈介紹,new作了什麼(此次可不能寫錯)
  • Sub.prototype = Func.prototype是否是引用傳遞?怎麼規避?(用Object.create)
  • 介紹一下閉包
  • 手寫代碼:一個列表點擊某一個返回它的index(用了事件代理而後indexOf實現的,面試官又讓用閉包改了一下) 面試仍是很愉快的👻 三面 第一次見到這麼像程序員的HR。。除了基本狀況外還問我會不會PHP,JAVA之類的,還問LAMP架構🤕,而後有沒有其餘offer之類的問題。面完以後面試官親切的和我握手。。。惋惜是個大叔。

4、阿里校招

阿里原本覺得已經GG了。。畢竟以前大二大三面試練手各類面阿里,感受都要被拉黑了😂。很意外的過了校招筆試拿到了面試機會。這裏不得不認可阿里的前端筆試題出的很好,都是一些很前端的題,並且感受很是巧妙,不會像有些公司無腦出算法計算機基礎篩人。阿里總共面了四面(還據說過內退轉校招面七八輪的人。。),三輪技術一輪HR。 一面 一面總體感受很難。。一點都不常規,各類深刻的問題,並且面試官的話筒不太好聽不太清,就很緊張🤕面試

  • SPA怎麼實現的(和網易一面的題一致)
  • 聊一下URL輸入到渲染的過程(這個也是老問題)
  • DOM樹的構建和渲染樹的構建
  • reflow和repaint
  • display:none會出如今渲染樹裏嗎,肯定嗎?
  • 事件處理機制
  • 如何實現對一個DOM元素進行深拷貝,包括它綁定的事件
  • 用addEventListener綁定的事件呢(答不太清楚它是怎麼實現事件綁定的。。)
  • 要你來實現這個方法你怎麼實現呢(答改造對應的on+event方法)
  • 場景:實現一個類庫,統計開發者的請求延遲,要求對開發者透明(原話不是這樣的,場景特別長又聽不清難受死我了🤕,答:改造reqeust方法,相似於redux-thunk的實現方法)
  • 那上面的方法若是有大量的併發,怎麼緩解服務器壓力?(答先把測試值放到本地隊列裏而後統一發到服務器)
  • 手寫代碼:深拷貝
  • 手寫代碼:使用promise實現,A、B同時進行,A、B任意一個完成後執行C(我理解的是簡單的A、B同步開始而後狀態變化執行C,面試官說不對。。) 面完之後感受累死了。。而後約了第三天面剩下的。 二三面 原本看一面那麼難,覺得二三面要爆炸難呢。。。沒想到竟然很常規,套路都是:講個項目,而後延伸開來說,不少問題上面都提到過了,就提一下不同的。
  • (聊到了canvas)canvas怎麼優化性能
  • 爲何使用gulp呢
  • 介紹一下webpack
  • 有沒有比較複雜的正則表達式的案例(沒有。。就講了一下正則的一些規則)
  • 據說過weex嗎(聽過沒用過。。而後就答了一些RN和微信小程序的東西)
  • 能夠介紹一下CDN嗎 HR面 阿里的HR好像挺忙的,面的賊快。讓介紹一下本身的基本狀況,學習方法,興趣愛好。而後按照她的要求介紹完了之後再隨便聊了點別的就結束了,有點懵逼😕 秋招總共面了這四家公司,沒有什麼遺憾。立刻就要工做啦,共勉!😠
相關文章
相關標籤/搜索