我是如何同時拿到阿里和騰訊offer的

三月真是一個忙碌的季節,剛剛開學就須要準備各類面試和筆試(鄙視)。幸運的是,在長達一個月的面試內推季以後,終於同時拿到了阿里和騰訊的offer,仍是挺開心的。突而想起久未更新的博客,就冒昧學一學各路大神,分享面試過程當中的經驗總結。總的來講,本人並非什麼超級大牛,文章更多的是經歷敘述,大神可自行繞道。html

經驗很重要

簡單亂入一下,本人主修軟件工程專業,對Web有着濃厚興趣,主攻Web前端前端

就在三月份剛開始的時候,各類羣裏面就有師兄說,誰要內推,趕忙發郵件。好在牛人師兄多,一開始就投了天貓淘寶騰訊SNG騰訊微信四分內推簡歷。git

接到的第一個面試是天貓的,在徹底沒有準備的狀況下,就開始了長達一個多小時的電話面試。第一次不免是緊張的,在面試的一個多小時裏面,屢次處於顫抖狀態。這裏所說的顫抖是真的,緣由很簡單,對於這一次面試沒有任何準備,加上這個面試足夠有份量。掛了電話的時候,第一反應就是不斷回想剛剛面試的問題以及本身回答是否正確。因而就不斷回想剛剛面試官說過的什麼JavaScript事件委託、HTTP狀態碼、前端模塊化怎麼實現...github

和預想中的同樣,第一次面完以後,而後就沒有而後了。然而還沒來得及失落,以及作足後續準備,騰訊的SNG電話面試就來了,問的問題不多,讓你介紹一下本身的項目,爲了幾個常規問題(文章末尾附上全部面試題目),而後就讓你開QQ,遠程看你寫代碼..(從沒想過QQ竟然是面試工具)。不幸的是,寫代碼不給查資料,因此寫的時候遇到一個閉包問題,卡了好長時間。這一次的面試長達一個半小時左右,而後就進入了漫長的等待。這一次狀況不一樣的是,我有面試官的QQ啊!因而幾天以後,我問面試官,爲何我被刷了?面試官給的理由是,你有前端模塊化的思想,思路清晰,很不錯,可是你寫代碼卡的時間比較長,必須有個刷人標準..web

因而乎,在沒有經驗的狀況下,前兩輪面試就這樣光榮掛彩了。面試

面試不是你問我答

在屢屢受挫以後,我開始反思面試的流程:自我介紹->項目經歷-> 技術問題 -> 我有何問題。我發如今除了項目經歷以後,其餘環節都不是問題,畢竟我有着兩年的積澱,基礎仍是很紮實的。算法

因而我去請教一些師兄,面試應該要注意什麼。起初問了微信的兩位大牛師兄,結果甚是驚訝。簡單總結就是,在講項目的時候,你須要展現你本身的亮點,能夠說一些裝逼的詞,但裝逼也是得有真材實料的。好比我在項目中使用了WebSocket,那麼面試官極可能問你WebSocket是什麼,底層原理你知道麼?若是你當場傻掉,面試官就會以爲你只是會使用別人的東西,並不在乎實現原理,終究是碼農。那麼事先你就應當去看看WebSocket協議的官方文檔(純英文,看得累死我了!),這樣面試官一問你,你能頭頭是道,會大大加分。再好比,你在項目中使用了模塊化,那麼你就必定要知道什麼是模塊化,而不是說你會用模塊化工具。其實要求並不高,你只要能很好說清楚什麼是AMD規範,什麼是CommonJs規範,各自的優缺點是什麼就很夠了,起碼以後每次面試官問我,我都是秒回的,面試官竟無言以對,也就是對個人認同。數據庫

最後一點,也就是最重要的一點是,必定要把面試官往你熟悉的領域引導,這真的很重要,由於若是你不引導,面試官不瞭解你的項目,看不到你的亮點,就只能一直問技術問題刁難你,人家在大公司待這麼久了,還不是輕鬆碾壓你。因此你在引導的同時,時不時說起一些事先準備好的關鍵詞,技術官一問,你一回答,怎麼都妥了~segmentfault

理論實踐

上述理論其實真的是很管用的,起碼我如今以爲本身是半無解了,由於在那以後的淘寶和微信面試中都順利經過了,也能夠放棄29的騰訊線下筆試了(學渣真不會C++),哈哈。後端

淘寶一輪的電話是一個慵懶的中午打來的,因爲三點有課,兩點的時候準備上去睡個午覺,還沒躺下呢,就接到面試官的電話,我說我準備睡午覺,他說兩點了還睡午覺...

不得不說,阿里的面試仍是很是專業的,一輪的時候,花了半個小時實踐我上面說的理論,而後就狂問十幾個技術細節問題!沒有必定的技術基礎真的招架不住。面完以後我的感受還不錯,口乾舌燥上課去了。後來發現阿里的面試狀態是在他的招聘網上實時更新的(這一點阿里作的最好)。因爲內心有底,看到經過淘寶一面並非很驚訝,只能說要是這樣都不過我就認了!最難的是二面,估計是技術總監什麼的,除了常規面試流程以外會一直刁難你,這個時候須要有格外良好的內心素質。像阿里巴巴這種大公司,技術牛是沒話可說的,可是咱們只是一個大學生,沒有作過併發量達到他們零頭的應用,因此這一關考驗的是思考問題的能力。有些問題是你多是真的不會的,可是也不要出現好像是多是我猜之類的詞眼(我以前就是這樣跪掉的),而是說按照個人理解給過一點思考時間我不太懂這個問題須要我從哪一個角度解析我之前遇到相似的問題是怎樣這個問題應該也是這樣...這樣給面試官的印象是,即使你不懂,可是你在全力思考,並且這樣會給本身爭取不少時間。

微信的面試就很少說了,只能說騰訊的廣州研發中心真的很漂亮,一看就是工做的好地方!裏面的設備啥的也是好的沒話說!可是仍是忍不住吐槽一下,騰訊的面試作的不夠好,去到二話不說給你六道算法題,時間一個小時,而後又狂問你一個小時,一口水都沒的喝!!好在過了,再也不贅述。

總結

  • 機會老是留給有準備的人,每一次都要好好對待
  • 當對本身的技術足夠自信的時候,拼的就是RP和麪試技巧了
  • 面試以前,去找找那些大牛們,他們比你都有經驗
  • 日常心對待,只不過是一份工做

資源共享

我的以爲每一次面試都是一次修煉,因此每一次都須要好好總結。這一點我仍是作的不錯的,我把大部分面試都記錄了下來,而後仔細分析研究,避免不會犯二次錯誤。這裏附上一些面試題目和我的準備過程當中的一點小筆記。而後推薦一樣面試前端的同窗好好看看《JavaScript高級程序設計》《HTTP權威指南》,管用。
最後奉上我的的簡歷,供你們參考,起碼沒有在簡歷環節被刷,哈哈。
個人簡歷

袁梓民的我的簡歷

我的信息

姓名:袁梓民

性別:男

出生年月:1993年10月14日

學校專業中山大學軟件學院

電話:13824421386

Email1229084233@qq.com

bloghttp://www.cnblogs.com/yuanzm

image

英語水平:CET-4

技術能力

專一而且熱愛web開發,熟練掌握JavaScript、HTMl、CSS以及JavaScript框架來搭建web應用。瞭解原生JavaScript和JavaScript類庫的使用。

  • 掌握的JavaScript類庫:jQuery、Prototype
  • 掌握的JavaScript框架:BackBone、Vuejs、Angular.js、React.js
  • 掌握的CSS預編譯器:LessCss、Sass
  • 掌握JavaScript模塊加載器:RequireJS、Browserify
  • 掌握項目構建工具:Grunt、Gulp
  • 掌握項目管理和協同工具的使用:SVN、Git
  • 掌握前端測試框架以及工具:Jasmine、Mocha
  • 掌握基本後端開發:NodeJS、Python
  • 掌握web相關技術:MongoDB、CoffeeScript、SEO、Socket.io、Express、Tornado等

我的經歷

  • 2012年進入中山大學學習
  • 大一開始接觸Web
  • 大二開始瘋狂投入web學習
  • 大二下開始加入創業團隊,系益米通服務有限公司的微信前端工程師
  • 大二暑假在廣州時代財富有限公司上班實習,參與建設銀行網上銀行前端原型開發

我的做品

米芝蓮

項目地址: http://www.wizland.cn/wizland/index/

imageimageimage

  • 簡介
    • 米芝蓮是一個在線食材選購網站,同時具備移動端和PC端。項目採起了SpringMVC框架,充分利用了框架所宣傳的MVC、Restful風格、簡潔高效等特性。
  • 項目收穫
    • 熟悉了Eclipse環境的開發,熟悉了Java Web應用的開發流程
    • 嘗試了沒有框架條件下的移動端Web開發
    • 對於前端模塊化有了更加深層次的理解
    • 理解了組件化開發對於前端開發的重要性
  • 項目總結
    • 在本項目中,我擔任了移動端和PC端的前端開發一職。在這個項目中,充分認識到了前端架構的重要性。在同時具備移動端和PC端的非響應式應用中,怎麼合理把握好前端結構顯得尤其重要。既然要分紅移動端和PC端,主要緣由是頁面排版不一樣,可是不少邏輯是通用的,所以怎麼利用browserify等前端模塊化工具來提升代碼複用性成爲一個很重要的任務。同時,本項目中還第一次嘗試了設計,完成了移動端和PC端的大部分設計稿,認識到了做爲一名前端工程師,設計能力的不可或缺性。總的來講,這個項目實戰型很強,收穫很大。

LiveChat

項目地址: https://github.com/yuanzm/Live-Chat

  • 簡介
    • Live-Chat應該是所作過的最複雜的一個Web應用。項目採用Node的Express框架做爲後端架構,採用非關係型數據庫MongoDB實現聊天記錄持久化,採用socket.io實現具備高兼容性的實時消息傳送。
  • 收穫
    • 認識到項目架構的重要性
    • 總結出了本身的前端模塊化工做流
    • 熟悉了Nodejs應用開發流程
  • 總結
    • 做爲聊天WebApp,決定了整個頁面是富交互的,因此若是僅僅是單純的模塊化並不能保證良好的可擴展性。因而總結出了前端組件化開發的思想:前端應該根據應用的複雜程度將前端分紅三道四層,第一層爲數據操做層,封裝了不少AjaxAPI,負責與後端進行數據交互;第二層爲UI組件層,爲了最大化提升頁面組件的複用性,頁面上的元素應該根據功能劃分紅不少模塊,也即HTMl和CSS一樣是模塊化的;第三層爲UI組件通訊層,爲了下降UI組件的耦合性,組件之間的通訊應該是經過事件機制的,而不是直接互相調用另外一個模塊的內部函數。整個項目最大的難點是怎麼下降不一樣組件之間的耦合性,否則在開發的過程當中,一個模塊牽扯到不少模塊就會顧此失彼。

Home-Cloud

Home-Cloud是基於Python的Tornado框架構的一個移動端WebApp。Home-Cloud的開發並無花費很長時間,得益於以前的Web開發經驗。Tornado自己不是一個MVC框架,因而在組織後端代碼的時候借鑑了Nodejs的Express框架,將整個後端代碼架構成由model層、router層以及view層構成的的MVC結構。好處是顯而易見的,當業務邏輯愈發複雜,這種分層架構可以保持項目代碼絲絕不會紊亂。前端得益於Tornado的模板機制,在大部分模板引擎都具備繼承等優勢的狀況下,多出了UI模塊這一點,使得每個模塊能夠擁有本身的html、CSS和js,可以很好符合Web組件化開發的特色。經過這個簡單的項目,很好展示了近兩年的Web開發經驗,從剛開始的寫一步看一步到今天的工程思想,感受收穫很大。

求組隊

項目地址:https://github.com/yuanzm/project-qiuzudui

所作的第一個項目,項目致力於建立一個在校大學生競賽組隊平臺,經過這個平臺,用戶能夠在主頁查看到近期學校的比賽並可以發出組隊邀請。在這個團隊裏面,我與另一名成員進行合做負責前端開發。做爲第一個項目,主要問題是團隊協做以及項目工程經驗不足的問題。因爲沒有很好的組織好項目結構,以及版本控制意識的缺少,致使後期代碼結構混亂的問題頻頻出現。經過這個項目,領會了項目工程思惟的重要性,以及團隊協做的重要性。

益米通

項目地址:https://github.com/yuanzm/emitong.git

第一次作手機端的Web應用,整個項目用於展現與益米通公司合做商家的優惠信息。項目遇到的主要問題是移動端Web經驗缺少,不一樣設備的適配問題等。經過查閱資料以及諮詢前輩,在這個項目中掌握了Web響應式應用的開發,同時瞭解了微信公衆平臺應用開發的基本流程。

學院黨委網站維護

項目地址:http://pro.ss.sysu.edu.cn:8080/party_affairs/index.jsp

主要任務是部署基於Java Web的網站服務器和網站的平常維護工做。

Snake

項目地址:https://github.com/yuanzm/Snake

在閒暇的時候用JavaScript寫了一個貪吃蛇小遊戲

自我簡介

從大一開始瞭解web技術,大二開始正式投入學習web各類技術。正處於快速增加技能的階段,對於web有着極高的熱情,天天堅持學習web。

目前爲止對於前端技術比較瞭解,可是正在學習web後端技術,目標是成爲一名優秀的web全端工程師。

擁有較強的學習能力和溝通能力,可以比較良好的和團隊成員協同完成開發。

 

圖片描述圖片描述
圖片描述圖片描述
圖片描述圖片描述
圖片描述圖片描述

 
 

轉載來自:http://segmentfault.com/a/1190000002627927

相關文章
相關標籤/搜索