1. 程式人生 > >看了多篇2019年的面經後的個人總結

看了多篇2019年的面經後的個人總結

  最近閱讀了多篇從面試官的角度看面試的文章,全部記錄在了Github上,看完後就想結合自己的經歷總結一下,如有不當之處,歡迎留言討論。本文將分為五部分:簡歷、自我介紹、問答、提問和2019年求職分析。

一、簡歷

  簡歷是一種為了讓招聘方能瞭解自己的載體,傳遞的資訊包括個人的優勢、亮點和價值等,其存在地目的就是為了能獲得面試機會以及在面試過程中的談資。簡歷包括基本資訊、工作履歷、專案經驗、教育背景等部分,那些配色簡潔、主題突出、與崗位要求高度匹配和有量化資料的簡歷會更受面試官青睞。

1)基本資訊

  基本資訊包括姓名、聯絡電話、電子郵箱、性別、出生日期、學歷、工作年限、照片等。有些人不喜歡QQ郵箱,那可以用其它郵箱替代;照片要放的話,最好是用職業的證件照,比較正式點;工作年限對於能力高的人來說,是加分項,反之則是減分項。

  GitHub上高star的開源專案是加分項,用程式碼最能證明程式設計師的能力;高質量的部落格也是加分項,說明求職者有總結提煉的好習慣,並且從博文中還能瞭解他的溝通和表達能力。

2)工作履歷

  工作履歷可按倒序的方式寫,通常是某年某月到另一個時間,在某家公司擔任何職。

  負責內容可隨著工作年限的上升而遞進,例如第一年能借助jQuery實現簡單的前端互動、第二年能獨立佈局並封裝外掛等,這樣既能營造出不斷進步的氛圍,也能讓面試官瞭解你的成長軌跡。

3)技術能力

  經常在技術能力一欄中看到了解、熟悉和精通三個動詞,關於這三者的定義可以參考《面試官想看的簡歷》一文中的描述:

  (1)瞭解:使用過某一項技術,能在別人指導下完成工作,但不能勝任複雜工作,也不能獨立解決問題。

  (2)熟悉:大量運用過的某一項技術,能獨立完成工作,且能獨立完成有一定複雜度的工作,在技術的應用層面不會有太大問題,甚至理解一點原理。

  (3)精通:不僅可以運用某一門技術完成複雜專案,而且理解這項技術背後的原理,可以對此技術進行二次開發,甚至本身就是技術原始碼的貢獻者。

4)專案經驗

  列出的專案得能夠證明自己的能力,不僅要表現負責的內容(不要展開業務細節),還得把用到的技術(挑自己擅長的)、專案難點和達成效果寫上,最好再把能量化的資料也帶上,例如(有不合適的地方可指正):

負責內容:協助銷售搭建廣告品牌頁。

專案難點:上線時間緊,活動形式多樣。

技術實現:通過Gulp自動化構建流程,將Jade編譯成HTML,結合Babel將ES6語法降為ES5語法,利用webpack合併指令碼,基於SASS編自制PrimusUI庫。

達成效果:在採用PrimusUI庫,封裝表單驗證、彈框等外掛,劃分資料通訊、基礎資訊等模組後,抽象出了品牌頁的通用部分,將研發時間縮短到一至兩天。

  涉及的技術棧求精不求多,以免被問到時出現語塞尬場的情況。專案經驗不是向面試官彙報自己的工作任務,而是突出專案所涉及的技術以及解決相關難題的思路,和麵試官引起共鳴,開啟話題。

  專案經驗可以根據招聘方的崗位要求做適當的調整,列些相匹配並且你熟悉的技術,因為面試官的側重點很大概率就是寫的那些,從而就能有更多的話題聊,並且還能引導面試官到你熟悉的領域。

5)注意事項

  簡歷的長度最好控制在一頁,簡歷突出的就是“簡”。在細節方面,中英文標點符號不要混用,單詞拼寫不要錯誤,避免錯別字,排版要工整,配色不超過3種,建議簡歷命名採用姓名+工作年限+崗位的格式。

  當遇到自己不懂的問題時,可以主動描述自己的理解,說明大概的實現思路;有些面經也建議爽快點回不清楚,繼續下面的問答。

  在投遞簡歷時,儘量用pdf格式的簡歷,這樣既可以避免開啟檔案時的格式錯亂,也可以在瀏覽器中直接開啟。

  選擇合適自己的公司,能更大概率的拿到offer,在《面試官角度看應聘》一文中曾將企業對人才的需求分為三類:

(1)當公司處於創業期時,其內部團隊的要求是強執行,對人的需要是資源型重執行人才。

(2)當公司處於快速發展期時,開始體系化建設,需要能幫助體系化落地的人才。

(3)當公司業務處於穩定期時,體系化建設、人才梯隊也較為完善,此階段的人員儲備會更多元化,要求也會更高。

  關於自我評價,有些面經建議不寫,有些面經分享了自我評價的注意點,加不加這版塊就看個人喜好了。

二、自我介紹

  自我介紹既能讓面試官有時間快速瀏覽簡歷,也能讓自己熱身。自我介紹包括姓名、目前的工作崗位等資訊,概述自己的特點,並設法刻意的引起面試官的興趣,例如介紹一個專案遇到的難點、如何攻克、有何收穫等。

  下面是一段自己編寫的自我介紹,圓括號中的例如可以在陳述時不說,如果面試官問的話,可以舉這些例子,如有問題,歡迎指正。

  我的名字叫XX,目前從事前端崗位。在專案結束後,喜歡做些簡單的總結(例如touch事件、伸縮盒佈局、CreateJS)和思想沉澱(例如榫卯思想,蒐集或自研小巧、功能單一的庫,拿來即用),並將相關內容記錄到自己的部落格中。平時也喜歡讀些技術書,讀後會做些記錄總結(例如歸納了《軟技能》其中三章的內容;有時還會實踐,驗證書中內容的準確性,例如《CSS Secrets》中的漸變用法)。當專案中遇到重複的業務時,喜歡自己造輪子,(例如Slider滑動外掛,PrimusUI,表單驗證等)。有個影象裁剪的功能,當時給我製造了不少的麻煩,最後用HTML5的方式解決了相關問題。

1)技能清單

  此處只是做個演示,可根據自己的情況挑選技能,主要列出了自己熟悉和使用過的技能。

(1)後端開發:PHP、C#

(2)後端框架:Zend Framework、CodeIgniter

(3)前端框架:Bootstrap、Matrix

(4)前端類庫:React、Vue、jQuery、Zepto、Underscore

(5)前端外掛:Swiper、RequireJS、CreateJS

(6)構建工具:Webpack、Gulp

(7)前端工具:Fiddler、Babel、npm、WebPageTest、Wireshark

(8)預編譯語言:Typescript、Sass、Jade、ES6

(9)資料庫:MySQL、MongoDB、MsSQL

(10)版本系統:SVN、Git

(11)單元測試:Jasmine、PHPUnit

(12)其它:小程式、Jekyll、快應用

三、問答

  通常面試官會挑選簡歷上的某些內容提問,首先讓求職者敘述一些專案背景,例如具體業務、開發週期、人員規模、個人角色、開發了哪些功能、遇到的問題等;然後針對某個具體的技術或業務發問,讓求職者給出解答或方案;接著進一步提問,深挖原理或擴充套件方案,面試官應該都比較想聽到多種選型的對比和技術取捨。

  而在回答問題的時候,還可以反客為主,既能引導話題走向自己熟悉的領域,也能進一步開啟話匣,例如在《問答中的面試技巧》一文中曾提到,當面試官問“Vue如何實現雙向繫結的?”時,在老實的回答後可以加一句“Vue 3.0則選擇了更好用的Proxy來替代object.defineproperty()”,此時,面試官大概率會問“Proxy好在哪?”。

  效能與體驗的優化、場景設計和得意專案是面試中常見的會涉及到的問題,如果在面試前不準備,往往會處於比較被動的局面。下面是針對性能優化,準備的一點內容,如有問題,歡迎指正。

  自己平時很注意效能與體驗優化,已將優化散入到各個專案中,例如在頁面載入時出現Loading載入,壓縮影象,採用惰性模式減少程式碼分支、非同步載入第三方程式碼等。記得有個答題活動,包含120多張圖片,由於一下子載入會讓頁面卡頓,因此使用預載入的方式,並且用Chrome模擬了2G、3G和4G的載入時間,分別是20s、8s和4s,其實還有很大的優化空間。還有個轉盤抽獎的活動,利用Chrome的效能工具,能看到優化前的轉盤在轉動時會不斷的重繪,有些比較老的手機甚至會出現卡頓情況;後面將rotate()改成rotate3d()新增一個渲染層,就只會重繪一次。還曾在本地搭建過WebPageTest用來測試效能,但沒有大規模使用過。

  再針對得意專案,也準備一點內容,如有問題,歡迎指正。

  其實這不是一個單獨的專案,而是結合了幾個專案,主要是不斷優化圖片裁剪的功能。首先是上傳,棄用了form和iframe配合的無重新整理上傳,改用HTML5提供的便捷上傳,涉及File物件、Base64位格式等內容;然後利用Canvas實現預覽與合成,並通過計算三角函式來實現旋轉,期間碰到了iOS圖片不正和畫布汙染的問題,最後還在封裝的裁剪外掛中內建簡單的手勢操作。

  在面試過程中表現出優於別人的亮點,可讓面試官加很多分,例如懂得程式碼擴充套件性、可深入框架原理、具有優化意識、有多種途徑發現問題、新技術上手快、主動思考、技術攻堅人、分析問題善抓重點、注意業務細節、思維活絡、總結沉澱,能給出通用解決方案推廣到團隊中,這類人也俗稱經驗豐富的人。

  打鐵還需自身硬,只有當自身基本功紮實,專案經驗豐富,並且在某一領域有一定的知識儲備時,才能在面試現場胸有成竹、對答如流。

四、提問

  通過最後的提問能更多地瞭解關於這次面試、這家公司、這份工作的相關資訊,例如企業文化、部門之間的同事情況、企業發展等。可以提一些這個職位的具體工作、發展機會等相關的問題,例如

(1)目前這個職位最緊要的任務是什麼?

(2)你們是如何管理專案的?

(3)公司常用的技術棧是什麼?

(4)當前團隊的規模和配置是怎麼樣的?

(5)這個崗位可以為公司業務帶來什麼價值?

(6)你們為什麼要招聘這個職位?

(7)這個崗位需要具備哪些素質?

(8)未來打算採用哪些新技術?

  切忌提一些容易暴露自己缺點、不自信的問題,例如“我不是名牌大學畢業的,你們會要嗎?”,也不要問面試結果、工資、技術等當前面試官無法回答的問題。

五、2019年求職分析

  此次從自己蒐集的《面試和技術總結》中挑選了其中的十多篇,從求職者的角度,對涉及的公司資訊、面試流程、面試題目等方面做資料分析。由於取樣有限,分析結果不會很準確,純屬娛樂,大家有異議或補充的,歡迎在文末留言。

  公司資訊包括規模、上市情況、是否融資,主要參考拉勾網中的公司介紹,線上生成圖表。由下面的三張餅圖可知,大家趨向於找上規模、資金充足的大公司,而這些公司往往面試流程至少二面,並且有些還包含筆試。

  面試題目不包括基礎的JavaScript、CSS、專案經驗和場景設計,React和Vue仍舊矚目,關於兩者之間的對比出現頻率很高(圖中兩者對比一欄),TypeScript的使用率正在逐步上升,webpack和Node.js的關注度依然沒有減弱,基礎的ES6、網路、演算法以及各類優化還是面試中的常客,在平時工作中還得注意安全問題,並且可以深入到框架原理中,知其然而所以然。

  在文章的最後,套用一句《火藍刀鋒》中的臺詞來勉勵自己,“如果你想得到你從未有過的東西,那麼你就要去做你從未做過的事情”。

 

 

參考資料:

面試官到底想看什麼樣的簡歷

面試之前,簡歷之上:給前端校招同學的簡歷建議

如何寫一份好的前端面試簡歷

面試官教你寫簡歷之「中高階開發者簡歷指南」

簡歷上如果出現過於高大上的專案,反而過猶不及:再論如何通過專案引出技術

分析若干沒面試機會和沒體現實力的簡歷

你的簡歷能幫你爭取到面試機會嗎

面試官角度看應聘:問題到底出在哪?(上)

面試官角度看應聘:問題到底出在哪?(下)

「技術面試」問答中有什麼十分實用的面試技巧?

作為面試官的一點小感悟

如何在面試中介紹自己的專案經驗

如何招聘一名優秀的前端

大揭祕!“恐怖”的阿里一面,我究竟想問什麼

面試招聘:2 年招到 18 個前端教你怎麼招人

技術面試最後反問面試官的話

面試時,最該問面試官什麼問題?

&n