我是 18 屆的畢業生,今年 3 月份的時候開始找暑假實習,有幸內推了螞蟻金服的前端,並經過了他們的面試。最終仍是沒能拿到螞蟻的實習 offer,由於 hc 問題,被調劑到集團去了。css
找實習,時間點很重要,「金三銀四」,比較早的公司,從二月就已經開始內推了。美團內推最先,二月中旬就能夠內推,騰訊好像是在二月下旬(二十五號左右的樣子)開始內推,阿里三月一號,百度散招的比較多,整年貌似都在招人。前端
若是能找到師兄內推,必定要走內推渠道,如今大公司招人,對內推都很是看重,固然也有人抱怨內推的質量不好,這只是少數,畢竟選擇內推的人,都不簡單。vue
內推能夠免去不少複雜的流程,好比筆試,內推更加看重的是所推崗位的專業性,好比我投遞前端崗位,作筆試的題目,會碰到 C、Java 的題目和好多機率題目,有時候你會一臉的懵逼,對於前端的學生來講,真的很煩這種題目。node
內推要好好準備一下,我見過很多人,github 上有不少開源的項目,在前端也學習了好久,可是在面試的時候,一面跪了。我以爲一面仍是很重要的,看重基礎,會刷掉一些基礎很差的人,很差好準備,確定會中招的。既然你選擇了內推,就必定要對得起內推你的人,至少進入二面吧。python
記得剛開始的時候,我擔憂找不到人內推,就跑去微博、github 上找人聊天,但願到時候他們可以內推我。後來我發現,這真的是一個錯誤的選擇,每一個公司校招只須要一我的內推就好了,其餘人就只能辜負了。找內推,若是沒有中意的部門,千萬不要選擇都喜歡,有些公司打着都喜歡的標籤,揚言會給你分配部門,每每都是一拖再拖,等到內推臨近結束,也未收到任何相關信息。我發現了一個很邪乎的現象,就是若是內推的部門和內推你的師兄在同一個部門,成功的概率大大增長!react
內推的坑爬完,而後就是正式的實習校招,通常大公司都會安排先進行筆試。有的公司對筆試看得很重要,好比某豬廠,編程題全 AC,掛選擇題(別告訴我大家是由於不招人才掛人的),還有的公司就不看重筆試,好比某鵝廠,有的人因各類緣由沒參加筆試,一樣收到了面試邀請(衰)。總的來講,筆試仍是要準備一下的好。jquery
有些公司,既然大家不想招人,爲何又要咱們參加大家的筆試呢,參加了筆試(自我感受良好),又不給面試機會,直接掛,這樣子好玩嗎。筆試掛和麪試掛,二者有很大區別的。git
除了螞蟻,我也參加了很多公司的面試,只是以爲這些公司對待實習生真的太不友好。程序員
阿里今年 3 月 1 號正式開始內推,上午找師兄投遞完簡歷,下午正在作他們的測評題目,就收到了北京螞蟻金服的電話(下午 3 點半),開始一面。es6
感受一面來的太快了,還沒怎麼準備,不過一面的問題全是基礎題,主要是配合簡歷評估刷掉一些人吧,但一面真的很重要,掛了就等於 game over。
問題大體以下:
0:大體說說本身從何時開始接觸前端的
時間越久越好,若是你說臨時抱佛腳,基本就與阿里說拜拜了。
1:position 有哪些(而且 absolute 與 fixed 區別)
若是手動寫過 css,不難回答。
2:閉包是什麼
說閉包的時候,最好講一下常見用法。
3:手機端 web 有沒有作過
大體瞭解過,本身的網站也作了手機端的自適應。
4:web 性能和資源優化
有個雅虎網站性能優化的黃金法則,我當時就回答了幾點。
5:簡歷上有 web 安全,問了 xss 和 csrf
前端開發人員必需要知道的一類安全知識。
6:狀態碼 302 304
從 1~5 都介紹一遍吧。
7:介紹下瀏覽器緩存
恰好和狀態碼 304 結合起來。
8:介紹 js 中事件 (冒泡 委託)
事件冒泡和事件捕獲,執行的前後順序,還能夠說一說關於事件委託。
9:獲取前端資訊來源
微信公衆號、微博、GitHub、SegmentFault 等等。
10:用過哪些後臺語言(nodejs 用過哪些框架)
nodejs 和 python,用過 nodejs 的 express 框架。
11:哪些流行的前端技術,對前端的前景和職責
比較火的有 MVVM 框架 react、vue,ES6 確定會在近幾年統治前端,Nodejs 也是前端必備技能。關於前端的前景,我以爲 H5 配合 react、vue 是熱門,前端可視化(ant-design),還有專門研究 nodejs(eggjs),webVR 可能會在將來的幾年大火一次。職責仍是負責與用戶的交互,考慮性能、資源方面的優化,全棧是每一個前端程序員的夢想。
12:行內元素和塊元素區別,image 標籤屬於哪一種
比較基礎的一個題目。
13:瀏覽器如何進行本地記錄
localStorage、sessionStorage,固然 cookie 和 session 有時候也能夠用來緩存。
14:js 基本數據類型
光知道基本數據,若是能擴展,就更好了,好比引用數據類型和非引用數據類型,就是常說的堆和棧。
15:哪些跨域手段
jsonp 和 cors 這兩種說一說就好了,其餘的方法可適當談一談。
16:call apaly 區別
能夠定義上下文,參數不同,apply 的參數是數組,若是能和 bind 擴展就更好了。
17:null 和 undefined 區別
送分題,null 表示空,須要人爲賦予,undefined 變量聲明但未定義,對象屬性爲 undefined 表示沒有該屬性。
一面的題目就這些,都是很是基礎的,由於每一個題目都或多或少有些擴展,面試時間大概 22 分鐘,自我感受良好。
推薦你們面試前先去刷題:Front-end-Interview-questions, 前端開發面試題。這兩個能夠算做 github 上前端面試寶典,至少刷個三遍以上吧。有些題目不是靠死記硬背,須要平時的積累的,面試官一深刻就全露餡了,平時積累很是重要。
3 月 6 日,週一,下午 4 點,忽然接到螞蟻金服的電話,問可否視頻面試,給我 15 分鐘準備時間,而後到四點二十多才開始面試。期間出現不少問題,好比聽不到聲音,看不到畫面,最後無奈,改爲電面,面了一會,又說從新約時間。
電面的內容以下:
1:介紹一下學習前端多久了
2:什麼項目最印象深入
我說的是 unity3d 的項目和本身的 hexo 博客,大體問了一下這兩個方面的內容,而後又問我要了博客地址。以後又問了我一些 unity3d 方面的知識。
而後面試官說二面要視頻面,下次再約。
3 月 7 日,週二,晚上八點半,螞蟻金服面試官(同一個)問我有沒有空,我答有空,開始面試,自帶紙和筆。
接着上次的來,已經瞭解基本狀況了,上來就問了一下關於項目的基本知識,如今的基本狀況,之後的人生規劃,我當時還疑惑,爲何不問技術。
而後就開始問技術了,面試官先讓我拿出紙,寫正則表達式,由於我簡歷上寫的對正則表達式精通。先寫了一個郵箱的,當時很懵逼,由於郵箱不難寫,主要是可否考慮全面,@ 以前和以後,胡亂寫了些,面試官提了一點意見。又問我 \s \S
區別,寫一個字母數字下劃線的集合,就寫了 [a-zA-Z\d_]
,沒想起來還有 \w
,懵逼。其實寫正則的話,我是一點都不怕的。
接着又讓我寫了一個冒泡算法,在紙上寫算法,真的很痛苦,花了幾分鐘寫好了,大體是對的,不過手寫冒泡算法,仍是讓我懷疑了一下人生。面試官問,能不能傳入第二個參數,來控制升序和降序,我說能夠啊,用一個 boolean 型就好了。還有嗎,string 或 int 也能夠吧,還有嗎?若是傳入一個函數,能夠嗎。原來是這樣,我當時就想到了 sort 函數,原來面試官想考這個:傳入的函數接受兩個參數 a,b,恰好能夠在 冒泡排序 if 括號裏使用,當返回 true 的時候,就交換位置,返回 false 就不交換。(sort 函數應該就是用冒泡實現的)面試官根據這個問了我函數式編程,我把前段時間 阮一峯老師寫的那篇函數式編程的博客拿來講了一說,什麼函子呀 map reduce 呀,還好面試官沒有深追。
趁着我寫代碼的幾分鐘,面試官去我博客逛了一下(百度統計),剩下的東西都是我博客裏的了,我寫過 react,es6,jquery 源碼,都被問到了,其中 jquery 源碼問的比較多,好比印象最深入的地方,學到了什麼,如何進行鏈式調用,當初爲何要看源碼。es6 問了我一些新特性,實在想不起來了,就回答了幾個很普通的:箭頭函數,let const,class。說到 class 的時候問我原型鏈和 es5 實現繼承,這個都不是很難,說都挺好說的,沒有讓實現,真實萬幸。(實現起來會比較麻煩)
熟悉 nodejs 嗎,大體瞭解,blablabla。
又問我 css 和 js 哪一個更好一點,我說兩個同樣好。面試官又問了我幾個 css 方面的知識,好比 position 有幾個取值和區別(一面問過啦)。
大體就這些吧,大多數的時間,面試官都在跟我聊人生。問了我之後指望哪裏工做,加班,還問我有沒有女友,最後問我對 h5 手機開發感不感興趣,我說只要是前端,都感興趣,我本身的博客就移動端適應。
二面兩次時間加在一塊兒大概有一個多小時,自我感受良好。
3 月 13 號下午四點半,面試官打電話過來,問我有沒有時間面試,電面,我說有,就開始了,應該是三面。
此次面試技術問的不是不少,全是實習內容,我簡歷上貼了兩次實習,基本上就是圍繞這兩次實習展開的,每一個實習下面都有三句話,面試官讀一句,而後問你具體幹了什麼,學到了什麼。這些坑都是之前本身挖的,該怎麼回答,本身都反覆琢磨了好久,很輕鬆的就回答了出來。反正我每說一個點,我都會強調:我喜歡前端,我想要從事前端,我自學前端好久了,我作過前端的項目,我很喜歡 js等等。必定要給面試官一個錯覺:這位同窗對前端很感興趣。
和麪試官聊的很開心,歷時 14 分鐘吧,面試官也沒有難爲我,最後客氣的問了一下:你有什麼想問的?
我先問了一個問題,每次打電話顯示都是 010 北京的區號,我投的崗位是杭州的,我問了面試官,他說他們電話是統一由北京轉的,面個人部門是北京的螞蟻金服。想到這裏我就開始慌了,我投遞的是杭州崗位,竟然是北京的人面我。
又問了一下實習生進去都作哪些工做,而後就是謝謝。
3 月 20 號下午六點十分左右收到 HR 電話,是個姐姐,聲音超級好聽,不過當時在吃飯,就約了次日,電話顯示的是杭州區號。
3 月 21 號下午三點半,收到電話(等了一成天),仍是那個姐姐。先介紹了一下本身,目前的情況,HR 姐姐又問了何時畢業。
後面的內容大概圍繞來如下幾個問題。
1: 你學前端多久了;2: 平時怎麼來學前端;3: 除了前端,還了解哪些技能;4: 你有啥優勢和缺點;5: 你有什麼問題問我。
沒有問到技術方面的問題,就是了解一下基本狀況。
我問了如下幾個問題:
1: offer 何時發:
5 月份統一發。
2: 面個人部門是作什麼的(以前已經知道了,螞蟻聚寶):
HR 姐姐說了一大堆,涉及不少技術問題,感受 HR 姐姐仍是懂技術的。
3: 正式校招將至,請問我能拿到 offer 的概率爲多大:
HR 姐姐的回答仍是頗有意思的,先給我解釋了一大堆,咱們是統一招實習,要等最後的結果,咱們是有排名的,擇優錄取。
問完第三個問題,HR 直接就說謝謝、再見之類的話,不給我問其餘問題的機會,我也說了一句謝謝,就這樣結束了,歷時十二分鐘。
由於我有實習經驗,因此三面的面試官只問了我實習相關的問題,簡歷上的內容仍是豐富一點比較好,能夠把發表過的論文也放上去,得到的大獎也放上去,要讓面試官有問題來問。
不管如何,基礎都很是的重要,必定要平時多積累。
歡迎來個人博客交流。