原文地址在個人博客, 轉載請註明出處,謝謝!javascript
從大二下學期放暑假開始(7.14)到8月初,我一直在尋找一份實習,鍛鍊一下本身,看看學的怎麼樣。這期間,我相繼面試了小米、途牛、滴滴和百度,都拿了實習offer。其中百度拿了兩次實習offer,但因爲我自身一些緣由,都爽約了。(在這裏給百度真誠地道個歉,我很是珍視這兩次機會,但無奈遇到了不可抗拒的緣由,從此有機會還會再投的(˶‾᷄ ⁻̫ ‾᷅˵))最後選擇了在滴滴實習,很可貴的經歷。實習期間一直沒空閒下來分享一下,結果拖到了如今...那麼這篇文章就來分享一下個人面試和實習心得吧css
面試
有一些記不清了,畢竟時間過久了...前端
小米java
- 說一下你的前端學習經歷
- css左右邊固定寬,中間自適應,有幾種方案
- css3動畫,transition屬性知多少
- 說說你是如何配置你項目裏的webpack
- 如何判斷變量是true or false
- 數組去重,要求時間複雜度爲O(n)
- http狀態碼,304什麼狀況
- 跨域方法
- 其餘想不起來了...
途牛node
- typeof 都返回哪些類型 typeof null 返回什麼,爲何?
- cookie和session有什麼區別
- 有沒有實際寫過、解決過跨域相關問題
- 使用過ES6/7哪些特性
- 說說 promise 幾個經常使用API和原理
- React的特性,接着問原理,接着問好在哪裏
- 堆和棧的區別
- 其餘想不起來了...
滴滴webpack
- React技術棧作項目用到了哪些東西
- React特性、virtual dom、diff 、合成事件、調和等原理
- 爲啥要給列表類組件設個key?
- 讀過React源碼嗎?
- 使用過哪些狀態管理庫,我說Redux,接着問Redux 是如何管理React 的,你又是如何使用Redux架構你的項目的
- Redux 有哪些優缺點
- 瞭解數據可視化嗎?作過之類的東西沒有?
- 瞭解node嗎
- 其餘記不起來了...總之都是圍繞React技術棧來問的,上來就問框架很顯然想讓你進來直接幹活:)
百度(地圖事業部)css3
- 你在滴滴實習,爲啥要來百度?(blablabla...誇了百度一番)
- 你在滴滴作什麼東西?用了什麼東西(數據可視化,還用了大家的echarts呢(/ω\))
- 那你知道echarts有哪些能夠優化的地方?讀過它的源碼嗎?
- React 特性、原理,React 突出的思想
- 你是如何使用Redux架構技術棧的
- 我看你用了Redux-saga,它比thunk、promise有啥好處?
- 你使用過哪些ES6 新特性、promise原理
- 跨域的幾種方法
- 你這個項目有沒有遇到什麼你以爲難的問題,你怎麼解決的?
- 你有啥想問個人?(通常問部門技術棧、工做氛圍)
- 其餘記不起來了...
百度(校園品牌部)git
- 介紹一下前端經歷
- 你日常如何用css管理頁面佈局的,我說柵格,又問柵格怎麼實現的
- css3動畫、transition、transform,canvas、svg
- sass跟less的區別?
- javascript 有哪些特性,我說了弱類型、單線程、事件驅動,就有了下面的
- 你怎麼理解事件驅動機制的?
- 用過事件委託嗎?怎麼用的?
- 嗯...ES6 用過哪些新特性?我提到了箭頭函數,因而就問
- 箭頭函數跟ES5匿名函數有什麼區別?我提到了this指向,而後就接着問
- 箭頭函數自動綁定this原理是什麼?
- 嗯...你這個項目怎麼配置webpack的?用過gulp嗎?webpack跟gulp有啥區別?
- React 突出的特性
- 怎麼用git創建一個遠程分支
- Linux命令知多少?
- 怎麼把一個鏈表倒序?
- 其餘記不清了....
總結web
總的來講,因爲面試的特殊時期,面試難度會比春招實習、校招要低不少。面試
面試會圍繞你的簡從來問,因此簡歷寫好而且爲簡歷作好準備很重要。
面試大多問的是基礎,並且問的很細,常常圍繞一個點來深挖,還會問一些常常用到的API,因此面試必定要準備,把一些零碎的知識溫習一下,基礎很重要。項目問的比較少,但項目決定你簡歷的質量。
前端要掌握的知識面比較廣,可是有一些是構建工程所必須的,最好先培養本身比較全面的基礎技術棧,能夠足夠造成構建通常工程項目的基本能力,而後再深挖。
照目前狀況來看,深刻理解一門框架是頗有必要的,但也不必多。
前端面試算法問題問的較少(大公司問的較多),但別告訴我你不知道查找、排序、去重、遍歷二叉樹...
面試必定要保持平和心態,抱着我已經拿到BAT offer的心態,不緊不慢的交談,用眼神、肢體語言幫助嘴巴說話;擇機展現思考的過程,全程展現對這行的熱情。
祝願你們都能找到心儀的實習、工做。
實習
我在滴滴實習了一個多月就走了,緣由是學校課太多,導員不讓出去,我也意識到了如今仍是以學業爲重...
實習期間,我參與了兩個項目,一個是一個滴滴實時計算平臺,另外一個是 Druid 管理平臺。
實時計算平臺,面向滴滴內部工程師,是一個依靠滴滴海量數據完成實時計算、任務調度、自動報警監控等等,項目很大,作了一年了,業界少有吧....我所作的是將我負責的部分數據可視化及國際化;
Druid 管理平臺,仍面向內部工程師,是一個可視化數據庫管理平臺,前端由我和另外一位實習生負責。我作的是一期核心模塊的開發。
最大的體會就是
- 要對產品有極致追求,不能容忍錯誤,不能容忍繁瑣的操做,還要兼顧全部可能的操做
- 體會到了海量數據下的性能的重要性,開始關注性能優化
- 要抱着後臺什麼數據都有可能產生的考慮,來寫健壯的程序,類型檢查、空值檢測、try catch是必要的
- 作好漸進加強、功能解耦、組件分離很能體現一我的的編程能力和水平,最忌諱代碼粘一塊、寫死,坑的都是本身,,,
- 調試很重要,要有寫debugger的習慣
- 時刻準備迎接新技術,哪怕從未據說,只要項目須要,就得馬上上手(我所在的組仍是很喜歡用新技術的,只要它好用,License符合)
- 先後端分離的接口文檔遵循規範能少說不少廢話
- 項目管理,敏捷開發是很好的方式
- 我所在的組開發項目的流程通常是:老大不知道從哪弄來一個需求(可能上級安排的,不少是本身想的…),而後全員開會說需求、定任務,各成員寫排期,後端定具體需求、接口,前端配合後端一同開始,每週報告任務進展...
- 對前端er來講,改需求不用那麼在乎,咱們最終的目的都是讓這個產品更好不是嗎?
- 實習生不多會接觸to C產品,作的大可能是面向內部人員,由於出bug好商量嘛...
- 我所在的部門女工程師仍是挺多的,這個的確讓我很驚訝(No Offense)...
- 想到再補充(/ω\)
此次實習,確實比自學效率高多了,並且最重要的是,開闊了眼界,瞭解了這行業前沿是個什麼狀況,大公司又是如何部署前端技術棧開發項目的,以及我自身的不足。我也很幸運,找到了本身感興趣的方向。