小編的世界 優質文選 職場
字體大小:
2021年2月21日 -
:
小輝哥幹幹幹
首席技術官
#前端開發求職#
最近又快到了金三銀四的好日子了,有一天,小龍找到我說,小輝哥,我想跳槽了。原來公司加薪無望,目前只有 7.5k,12 薪,也沒有年終獎,想換個環境試試,但是好像今年疫情之下,招聘市場並沒有往年那麼熱門,目前覺得自己還沒有辦法去大廠。
在自己努力無果之後,想讓我幫他操作一下,我咨詢了一下小龍目前的情況,然後幫他物色了5、6個崗位,然後讓他自己挑一個比較喜歡的:
小龍目前的情況:
1. 自考本科。
2. 24 歲。
3. 1 年多一點工作經驗(我改為了 1 年半)。
4. 目前薪資 7.5,加上年終和績效可以到 9.5。
5. 有 vue 一年多的使用經驗,全家桶基本會。
6. webpack 用過,但是不熟,都是別人幫弄好的。
7. 自我感覺良好,對於自己的學習能力覺得還算可以,js,css,es6基礎尚可。
8. nodejs 較弱,只停留在 CRUD 階段,玩過一下 express做 blog。
9. 平時使用 git ,不過公司使用 svn。
10. 對待 996 還算可以認可,不過最好還是希望不要 996
這是他挑選的目標公司職位的招聘 jd 如下:
月薪:12-20k·12薪
經驗要求:1-3年
學曆:本科
工作地區:廣州天河區 XXXX
工作職責:
1、負責web服務端,內部系統後端業務程序開發
2、負責web前端開發
3、參與現場調試
4、參與後端業務和底層模塊接口開發及調試
工作要求 1:
1、熟悉vue框架,熟悉elementUI界面控件庫
2、紮實的javascript語言,html,css基礎;
3、熟悉使用linux基本應用和nodejs;
4、有前後端分離的項目實踐經驗,能使用上述技術搭建豐富交互的前端界面並和後端進行http,tcp的通訊;
5、熟悉typescript優先。
工作要求2:
1、做事認真負責,有良好的編碼風格;
2、良好的溝通與表達能力,有團隊協作精神。
3、有良好的學習方法和較強的學習能力;
4、喜歡迎難而上,愛好挑戰困難;
5、有框架思維和多人合作編碼能力。
我跟小龍說,這個 jd 對你目前來說會有點難度,不過如果你真的很想達到的話,也是可以的,花點心思,努努力就行了。他說,沒問題,成了請你吃飯哈~
接下來我會用詳細說明一下小龍到底經曆了什麼。
第一步:先讓我們分析一下這個招聘要求jd
第二步:確定需要突破的求職目標
第三步:快速提升自身技能滿足要求
第四步:快速准備面試
第五步:如何高效投簡曆
第六步:如何優秀通過面試
第七步:獲得 offer
第一步:先讓我們分析一下這個招聘要求jd
招聘要求也叫jd,英文是 job description,翻譯為工作描述也可以
一個 jd 其實不簡單:
工資
工作經驗
學曆
地點
業務範圍
工作職責
工作要求
一般一份工作是 1-3 年左右,所以說,你這是在選擇一份未來 1-3 年時間消費,一份工作不僅要工資待遇適合你,工作節奏也要適合你,而且最好要跟你未來職業規劃沾邊才行,這樣你的時間才會更有意義,你就可以用 1-3 年時間就可以頂別人 3-5 年了
。
-看工資
月薪:12-20k·12薪
一般能在招聘要求裏面寫這麼清晰的公司,素質都相對比較好,因為坦誠是一家公司很重要的一個品質。
漫天開價,落地還錢。我們拿一個最低的,再拿一個最高的,取一個平均值,(12+20)/2 =16,所以這個崗位的預期月薪工資一般都可以達到 16K
,不過也要注意,他是 12 薪的,也就是說,一年只有 12 個月薪資,而有很多公司,一年可以發 13,14 甚至 16 個月,這裏就是區別了。不過也可能對方沒寫出來,在現場面試的時候咨詢 hr 就行了。
總體來說也算不錯。要知道小龍之前是 7.5K 的。
但不排除有些公司不按套路出牌~
-看工作經驗
有句老話說,工作經驗寫 3 年,上班一年半,加班一年半
,就是這麼硬核,哈哈哈~
所以這裏 1-3 年其實無傷大雅。只要不要偏離太誇張即可,例如你是應屆畢業生,寫工作 2 年,這樣很容易穿幫的,不建議。
小龍工作一年半了,寫 2 年也是非常合理的,如果准備充分,寫個 3 年也問題不大。
-看學曆
一般中小公司是不卡學曆,除非比較特殊要求的,
例如國企,事業單位,或者特殊崗位,例如算法,人工智能AI類。
有些時候,公司急用人,也可以從本科下降到大專,
這個也是可以理解的。
不過如果是大公司就不行,大公司必要的招聘考核指標就必須要本科,有些甚至是 985 以上的本科才行。
目前小龍雖然不是統招本科,但是好歹也是自考本科,也是國家承認的。
-看公司地點
一般人很少留意這個公司地點,有些朋友雖然找到一個公司,待遇還不錯,但是離自己家十萬八千裏遠,每次上下班都像坐長途車一樣,一天至少浪費了好幾個小時在通勤上,你以為你工資高了,就是賺錢了,但是其實不然,你只不過是犧牲了其他東西,例如時間,精力。
在《通往財富自由之路》裏,李笑來老師提到一個概念,就是注意力>時間>金錢。錢,是價值相對較低的,如果能拿他換到時間(進而換到你的注意力,讓你可以在你關注的領域裏得到成長),那才是真正有價值的。
我的建議就是,在財力允許的條件下,盡可能的讓工作的地方離家近一點。
可以讓你有更多自己的時間,來進行學習。
可以讓你不容易累,人不是鋼鐵,也是需要休息的。
小龍挑這個企業離他宿舍還不算遠,另外我發現這個軟件園位於市中心,附近有比較多的不同大大小小的互聯網企業,我建議他如果可以的話,就搬到這個軟件園附近來住,一方面上班更近,一方面萬一以後跳槽,
也不用折騰搬家多次,搬家的辛苦誰幹誰知道~
-看公司業務
一個是看公司是不是朝陽行業,另外一個是看公司業務是否跟時代脫節。
例如煤炭行業就是夕陽行業,不是朝陽行業。
例如柯達膠卷業務被數碼相機取代,nokia非智能手機被蘋果智能手機取代,這個就是公司業務根本時代脫節了。
一般來說,可以多留意一下社會龍頭企業關注的東西
,例如華為,騰訊,阿裏,還有就是關注以下國家政策,發展芯片,發展 5G,人工智能等等。
小龍挑的這個企業做的是智能制造業和醫療器械相關的,屬於今年國家重點推廣領域,起碼目前來看還可以,這些內容可以在企業官網找到。
-看工作職責和工作要求
一個公司的招聘 jd 的工作職責和工作要求寫的水平可以知道該公司的技術水平或者工作、職場氛圍不會太差,
例如工作要求就寫精通:
精通HTML5/CSS3/JS/TypeScript/Less/SVG/Canvas等前端技術
精通 Vue/Angular/React/BootStrap至少兩種前端框架
就算是阿裏 p7 也不敢寫精通,外行看熱鬧,內行看門道。這種一看就是不懂技術的人寫湊數或者領導為了高大上而寫的。
而且如果職場政治氛圍(pmp)太壓抑,不利於新人成長。
再來看看小龍挑的這個公司,總體感覺還是比較實在,不會太過誇張,也沒有用精通的字樣:
工作職責:
1、負責web服務端,內部系統後端業務程序開發
2、負責web前端開發
3、參與現場調試
4、參與後端業務和底層模塊接口開發及調試
工作要求 1:
1、熟悉vue框架,熟悉elementUI界面控件庫
2、紮實的javascript語言,html,css基礎;
3、熟悉使用linux基本應用和nodejs;
4、有前後端分離的項目實踐經驗,能使用上述技術搭建豐富交互的前端界面並和後端進行http,tcp的通訊;
5、熟悉typescript優先。
工作要求2:
1、做事認真負責,有良好的編碼風格;
2、良好的溝通與表達能力,有團隊協作精神。
3、有良好的學習方法和較強的學習能力;
4、喜歡迎難而上,愛好挑戰困難;
5、有框架思維和多人合作編碼能力。
第二步:確定需要突破的求職目標
我們來分析一下:
基礎web 服務端開發,跟 nodejs 有關系,熱門並且主流的 nodejs 框架是 express 和 egg和 koa.
對於快速學習了解的話,學習 koa 會比較好,文檔相對齊全.
對於快速上手部署,學習 egg 會比較好.
目前多半使用egg 或者 koa 做的是 bff 中間層,express 則比較重。
基礎參與後端業務和底層模塊接口開發,
要麼是通過 bff 去重新組合各個後台服務的接口,
或者基於 nodejs 的 sdk 進行底層模塊的對接。
加分對方有提到 tcp,不能很確定是需要有 nodejs 操作 tcp 的要求,我理解為加分題。
基礎需要寫 web 前端, 根據前後對應,
這裏是用 vue 框架,並且是使用 elementsUI 框架,進而也知道做的多半是 pc 後台管理系統類項目,
對應參考的我個人認為在 vue 方面,最好的開源參考學習例子是vue-element-admin。
基礎熟悉 linux 基本應用,多半是要做一部分 linux 服務器部署 nodejs 和 nginx 的操作,
可能也會涉及到 docker 相關,因為 nodejs 在企業裏面是部署到 linux 環境下運行的。
基礎有前後端分離項目的實踐經驗,就是基於前後端分離做過項目,而前後端分離的關鍵點在於接口設計,
接口對接,http 接口,websocket 接口使用,
jsonp 和 CORS 跨域和代理處理也包含在裏面。
加分熟悉 typescript優先,這是加分送分題,證明你是有自學能力,並且能夠時刻保持自己的技術棧進步。
基礎紮實的 js css html 基礎,其實就是普通前端基礎,背背題,准備好常見的問題過一遍就行了。
忽略良好的溝通與表達能力,只要能夠基本跟別人談話,咬字清晰,我覺得就是達標了。
忽略有框架思維,這個比較虛,感覺像是湊數。
基礎多人合作,則需要有 git 使用經驗,例如 gitflow 也要熟悉,不過也可能對方使用老舊的 svn,也不要緊,熟悉一個,另外一個也差不多。
忽略其他什麼做事認真,良好學習能力,迎難而上,就比較廢了。
經過分析之後,我們可以確認:
必須nodejs 的方向一般有 3 個,bff 層,全棧開發,ssr,目前看 jd 描述,應該屬於 bff 的可能性較大。
必須從egg 或者 koa裏面選擇其中一個刻意練習即可,egg 是 koa 的進化版,不過因為較新,所以網上的教程比較少,
選擇突破 koa 會比較簡單,
突破 koa 之後,依然還是要過一遍 egg 的使用,因為 egg 在企業領域裏面有比較成熟規範。
必須vue 需要熟練使用,指令,基本生命周期,組件封裝,全家桶(vuex,axios等)使用也需要熟練的。
vue 看 2.5 即可,因為 3.0 跟 2.5 差別較大,目前很多公司還沒完全切換,或者甚至不會換,目前很多公司都在使用的版本是 2.5.
必須vue-element-admin需要基本熟練理解核心設計點,
i18 國際化解決方案,動態路由,權限驗證,mock,懶加載等都相當重要,
重點是理解整個系統從 0 到 1 的設計,需要完整分析一遍vue-element-admin的源代碼。
必須需要補充 webpack的知識,因為串聯整個前端或者 nodejs 端就是 webpack,不過熟練即可,webpack3或者 4都可以。
必須linux 需要基本會用,常用 26 個命令都要會,ubuntu 或者 redhat 系列任選其一即可。
必須網絡協議部分,尤其是 http,websocket需要基礎知識和實際例子介紹,跨域處理需要熟練,tcp 部分需要熟練理解原理,session, cookie,jwt 的也是相關內容。
必須前端基礎 js css es6 html 都是需要熟練的,常見問題,閉包,異步,布局,作用域,面向對象這些都需要在大腦裏面形成一個比較強的印象和理解,這裏需要通過自己做過的實際項目和刷題結合才能形成的強印象理解。
至於沒有提到的算法和數據結構,我個人更傾向於提升數據結構知識,在中小規模的公司裏面,算法其實要求很低的,不然的話,我就覺得這個公司有點吹毛求疵了,會這個算法並不代表你個人能力真的很強,就好像數學題做得好,不一定總分數高,但是數據結構會貫穿整個程序員開發生涯,這個是毋庸置疑的。只要做到常見類型的數據結構都用過一遍即可。
必須git 使用熟練。
(加分題)會用 docker
(加分題)nodejs 操作 tcp,因為一般很少會直接操作 tcp。
(加分題)typescript 基本會用
必須點滿足了是 12K,加分點滿足了是 16k。
這些就是我們需要短時間突破的目標。
nodejs---koa/egg
js 基礎---es6,js,css,html
數據結構
網絡協議
linux--包含 docker
webpack
vue
由於考慮的是短時間突破,沒有算加分題的內容。
是不是突然有種,原來如此,不外如是的感覺,啊哈哈,戰略和戰術同樣重要的。
第三步:快速提升自身技能滿足要求
為了避免小龍擔心目標太大而完成不了,所以我將大目標拆分成小目標,這個小目標也是根據小龍自己覺得可以才定的,有些人 1 天可以看完一本書,有些人則需要 2 天,視乎每個人的情況。
這就是:拆分大目標,直至到你覺得可以快速完成的小目標級別為止
小目標還有一個好處,
每次完成一個小目標,不會太難,可以給你形成正反饋,讓你可以漸進式進步,增強信心,從而堅持下
。
同時小目標也是你的前進之路的地圖,每個小目標之間的聯系構成了大目標,只要沒有偏離小目標目標,大目標就不會偏離
。
我再次跟小龍確認過,他目前的情況:
每天只有 2 小時可以學習,因為還要上班,回到家已經很晚了。
不過每個星期六日可以全天學習,大概每天 8 小時左右。
比較弱的是 nodejs,linux 和網絡協議和數據結構部分(神他喵的以前學校的計算機課白學了),比較熟練的是 vue,畢竟用了 1 年左右了,基本上都會,
對於一整個完整的 vue-admin後台實際沒有一個人完成過,也是各種組合拼接出來,這裏有點心虛。
webpack 用過,但是不熟,都是別人幫弄好的。
自我感覺良好,對於自己的學習能力覺得還算可以,
我幫他拆分了一下目標,當時做了一個xmind,方便全局的看。
這裏是需要看的材料:
《高級Javascript程序設計》第3版 或者第四版
《Javascript設計模式》
《CSS世界》
《剖析 Vue.js 內部運行機制》
《使用 webpack 定制前端開發環境》
vue-element-admin 官網代碼和 wiki
egg 官網代碼和 wiki
《Koa2進階學習筆記》
linux 鳥哥
等等等
-跟自己約定每天,每周刻意練習的量
在一開始是沒辦法知道這個大目標需要多久能夠完成的,也不知道這個小目標需要多久才能完成。只能通過跟自己約定每天,每周的完成程度。
雖然說小龍自我感知每天晚上會有 2 小時,每周六日有 8 小時是可以學習的,但是時間這個量化指標不是很准,有時候走神了,或者狀態不好,時間到了,但是工作沒做好。
這裏我跟小龍加了一個儀式,讓他每次完成一個小目標之前,發一個宣誓內容給我,內容如下:我是為了 XXX 而努力的,我會在 XXX 時間內,完成 XXX的學習,並且整理好筆記,我不糊弄自己,務必認真完成。
這是一種契約,跟自己的一個契約。契約的力量是很大的。
不要過分高估自己的自律性,要客觀評價自己的拖延症!
另外我需要他在日曆本上打鉤,記錄自己今天是否已經完成了學習。這是同樣是一種契約。
-認真寫筆記
好記性不如爛筆頭,大腦的記憶需要多次反複刺激才會印象深刻,看一次,讀一次,想一次,思考一次,寫一次,你的記憶比別人就相當於高了 4 倍以上,因為一般人只會看一次而已。
筆記的內容不是簡單寫,會將某個知識點的的原理和實際例子都寫一遍,並且會問一下自己,是不是真的懂了,邏輯是不是真的通了。
小龍同學有一個好處就是,每次總結都有很長的筆記,大概3000 字一篇,不過不好的地方就是有時候筆記花費時間有點太長。
想想我自己以前上學,寫個 800 字文章都覺得天都塌了,偶買狗的!
筆記基本都是用 markdown 寫,自動排版,方便寫,方便看。如果過分追求格式和樣子,反而失去了本來記筆記的意義。
這是他寫過的筆記之一:
-實際特訓效果
實際記錄到一共用了 20+10+6+10+6+6+6=64 個小時,而且這個是計算純時間,實際消耗的時間其實是大於 64 個小時的,因為人不能免俗,有時候計劃趕不上變化,按照公式,大概是80 個小時左右。
每天 2 小時,每個星期六和日是 8 小時,大概一個星期能花 26 個小時學習,當時我朋友的朋友學完並且在我檢查確認大體已經掌握知識的結果後,最終大概用了4 個星期左右(有些時候有特殊時期中斷了一下)。
不過也是需要建立在我強而有力的監督之下~啊哈哈哈。
毛時間vs純時間
毛時間:你所花在工作上的時間統稱為毛時間。
純時間:你真正專注於工作的時間稱為純時間。
一般來說,純時間=毛時間的 80%**
這是我補充之前的xmind圖的最終結果
至此,基本上小龍已經能夠觸達這個 offer 的門檻了,底氣不會那麼虛了。
第四步:快速准備面試
-准備一個閃閃發光的 github 倉庫或者 blog 地址
github 倉庫是一個優秀程序員的名片。
--BY 魯X
github 倉庫可以存放你的代碼或者你的 blog 學習心得筆記,比起虛無縹緲的說,能看得到的東西會更加讓人產生信任感。
一個有內涵的 github 倉庫或者 blog 可以讓你在面試官的第一印象裏面加很多分的。
首因效應由美國心理學家洛欽斯首先提出的,也叫首次效應、優先效應或第一印象效應,指交往雙方形成的第一次印象對今後交往關系的影響,也即是“先入為主”帶來的效果。
如果一個人在初次見面時給人留下良好的印象,那麼人們就願意和他接近,彼此也能較快地取得相互了解,並會影響人們對他以後一系列行為和表現的解釋。
反之,對於一個初次見面就引起對方反感的人,即使由於各種原因難以避免與之接觸,人們也會對之很冷淡,在極端的情況下,甚至會在心理上和實際行為中與之產生對抗狀態。
這個倉庫不能只是一個單純的裝飾物,最好可以將一個你覺得有意思的項目代碼放進去,然後在面試的過程中給面試官邊看邊講解,更加容易讓對方認可你的能力。同理,blog 的文章也不能是全部轉載或者流水賬,要有體現出你認真 coding 的內味才行。
人靠衣裝,佛靠金裝。這個就是你的金裝之一。
可以看看阮老師早期的github,都是寫了很多demo之類的。
-刷題、刷題、刷題!
網上有大量的面經和面試題分享,我們要找熱門的,因為面試官也是普通人,他不可能天天自己造題目,他也是參考網上的。
我們需要有題目和答案的是最好的,這樣方便我們對照。
刷題有一個技巧,就是不斷重複 3-5 遍,不斷加深印象。有時候刷題不一定要知道題目的前因後果,在有限的時間裏面,盡最大可能的讓你大腦記憶多次才是王道。
另外我們這次先排除算法題,畢竟我們不是面向 1 線大廠,對算法要求不高,有選擇性放棄,集中戰鬥力在其他更重要的地方。
刷題在面試前 2天來做即可。
最後我根據自己的經驗和小龍目前的情況,給他整理了適合他的題目,並且讓他至少刷 3 次,最後我通過抽查題目回答來確認他短期刷題的記憶已經足夠了。
-准備一個優秀(閃閃發光)的簡曆!
一份優秀的簡曆是為了讓別人快速了解你的。如果你的簡曆寫不好,即使你是天才也會蒙塵,社會的規則就是這樣,人們知道的是用“是金子總會發光”來安慰自己,但往往忽略了你起碼要讓你的光進到別人的眼睛裏面才行。
這是標准的簡曆格式:(記得不要搞亂順序)
基本資料:姓名、電話、郵箱、個人網站(GitHub)
工作經曆:公司名、在職時間、工作內容(簡述負責、參與什麼業務)
項目經曆:最重要的一點沒有之一!展開描述
專業技能: 在項目經曆的基礎上進行增加或者刪減,圍繞項目經曆進行即可。
教育經曆:學校名、就讀時間
其它:簡單描述任何你想讓面試官知道的東西,比如社區影響力: GitHub 1000000 Star、掘金 Lv9 等等
例如這樣:
基本簡曆格式有了,但是不夠閃亮,那我們要怎麼填充最主要的項目經驗內容來讓你的簡曆閃閃發光呢?
-准備一個“優秀的”項目經驗!
項目經驗貴精不貴多,一般一個最核心的項目就夠了,
如果一個都不能讓面試官覺得你很優秀,那麼再來多一個也於事無補,這種時候不需要量變引起質變,除非你的能力可以在 2 個項目裏面都分別突出你的優秀,不然寫一個就夠了。
阮一峰老師給出了一些指導意見:
以項目為主體,設計你的簡曆
針對企業的需要,突出你的技能(如果新公司是用 vue 的,你寫 react,這樣就不好符合對方預期了)
量化你的項目,給出數字
我在這個基礎上補充了一下,結合鼎鼎大名的 STAR 方法來操作的。
STAR 法則其實是英文單詞的縮寫,完整的單詞應該為situation、task、action和result。對應的中文為情境、任務、行動和結果。STAR 法則通過故事的形式,表現出自己分析闡述問題的清晰性、條理性和邏輯性。
Situation: 事情是在什麼情況下發生
Task: 你是如何明確你的任務
Action: 針對這樣的情況分析,你采用了什麼行動方式
Result: 結果怎樣,在這樣的情況下你學習到了什麼
我們用這個大綱來寫:
項目標題:項目名稱
項目簡介:這個項目是幹啥的,有什麼特別的地方,項目的背景是什麼(Situation)
項目成果:這個項目有什麼價值,要有前後數字量化對比 (Result)
項目方案:采用了什麼樣的方案,從而完成了上面的項目特點(Action)
我的職責:越複雜的方案越不是一個人完成的,我在其中究竟幹了什麼(Task)
項目技術棧:項目采用了哪些框架、工具開發
一般人是這樣寫的:(平淡,索然無味,沒啥意思,千篇一律)
我負責的項目是一個xxx 電商平台的後台管理系統,使用的技術棧主vue框架全家桶系列和 egg 來做 bff 中間層,包括axios,router,vuex,element-ui框架開發,
大部分功能是基於element-ui進行業務邏輯組件的二次封裝,主要有訂單管理,微信退款,權限角色登陸等,接口部分又 egg 作為中間層進行代理處理。
這個項目前端和 nodejs方面由我負責,前端團隊成員是 3 人。
這是改寫後的:
項目標題:電商 xxx後台管理系統前後端分離改造項目
項目簡介:
1. 這是一個負責年營業額五百萬的 xxx 業務的後台管理系統。
2. 這個項目原來是純 jsp 的模式開發的後台管理系統,隨著業務發展,系統變得越來越龐大,該系統開發周期長,上線後bug 很多,維護修複問題時間長,系統處理響應速度很慢,導致業務受到了很大影響。
3. 該項目原來並沒有自動化集成測試和自動化部署,都是人工手動測試和部署。
4. 在投入很多開發資源支持下,依然沒有辦法很好改善,與公司討論後決定將系統進行前後端架構分離,前端使用 vue 進行 spa 單頁面開發,並且使用 nodejs 作為 bff 層,後端只負責提供接口並且實行自動化集成開發,自動化集成測試和自動化部署模式。
項目成果:
1. 系統性能提高了:
a. 頁面響應速度從原來等待 5-6秒完成頁面打開到現在3 秒內完成。
b. 因為單頁面應用,很多邏輯表單處理可以合並到前端交互處理,業務人員操作系統的時間大大減少,例如以前往往需要 2-3 個頁面跳轉完成處理,現在在一個頁面即可完成,系統的易用性也大幅度提高,得到了業務部的一致好評。
2. 系統更穩定了:
a. 上線後 bug 的數量比之前減少了70%,原來單功能的 bug 數量在 10 -15 左右,現在單功能 bug 數量是 5 以下。
3. 開發資源的投入減少了,開發周期縮短了:
a. 原來後端開發人員 7 人,測試人員 3 人,現在只需要後端開發人員 2 個,測試人員 1 個,前端開發人員 2 個,nodejs 1 個。
b. 原來平均單功能上線周期是 10 天,現在為平均單功能上線周期是 3 天。
項目方案:
1. 采用vue 作為主要的 spa 單頁面架構模式,將頁面的功能改為模塊和組件來維護,基於 elementsUI 做基礎樣式和功能的條件下,設計和開發自己業務的組件和模塊,進行統一組件化,模塊化維護樣式和功能,避免重複開發。
2. 樣式使用 less 代替 stylus,less 在語法上更加標准,代碼結構更加清晰,在多人協作和複雜樣式情況下提高可維護性。
3. 采用 egg 做為 bff 層,主要是因為當時後端的接口質量相對較差,為了避免前端界面過多兼容接口邏輯處理而影響了性能和維護性的問題而加入的,另外在系統技術棧過渡的時候,采用局部業務邏輯分階段更新,保證系統平滑過渡而避免對業務造成影響。
4. 使用 jenkins +webpack 進行前端和 nodejs 的代碼自動化集成,自動化測試和自動化部署。
5. 改造時間曆時 3 個月,分 3 個階段完成:
a. 第一階段先建立自動化處理基礎建設,並且對項目組人員進行指導,首先讓團隊達成一致的想法,並且建立相對應的開發規範。
b. 第一階段先使用非重點業務功能來進行改造,目的是試驗 nodejs 和 vue 的開發模式被開發人員熟練,並且提前將實際落地的遇到的問題解決掉,為下一步核心業務過渡做准備。
c. 第二階段完成全平台業務逐步過渡,每過渡一個業務都需要進行全面測試確認沒問題後,再開始進行下一個業務過渡。
我的職責:
我負責這個項目的前端架構設計,代碼的review,代碼和組件的規範設計,核心模塊的編寫,並且跟業務和產品進行溝通,管理和協調安排開發資源,帶來團隊成員有計劃進行項目開發工作。
項目技術棧:
vue 2.5 版本,axios、vue-router、vuex、elements-UI、echart,Mocha、co-mocha、webpack、egg
工作經曆其實就是項目經曆的省略版,只要寫好項目經曆,進行縮短簡略就可以得到工作經曆了。
專業技能,其實就是你項目經曆用到的技術棧在增加或者減少就行了。
第五步:如何高效投簡曆
因為我們是鎖定目標的投簡曆,我們知道這家公司,所以不需要海投。
但是我們要知道他們公司的 hr 是怎麼篩選簡曆的,從而思考我們的簡曆怎麼可以脫穎而出。
這裏需要我們做一下假設,假設你是 hr,你會怎麼收集簡曆,怎麼過濾簡曆,怎麼閱讀簡曆?
-一般 hr 收集簡曆的操作:
從招聘渠道收集簡曆,一般都會根據關鍵字策略自動發送到hr 的郵箱。
有一個固定周期,定期查閱這個郵箱。
如果使用 boss 直聘的話,直接打開 app 可以看到,或者可以直接通過聯系用戶,和獲取用戶簡曆。
-一般招聘渠道有以下幾個:
獵聘(傳統企業較多)
51job前程無憂(傳統企業較多)
智聯招聘(傳統企業較多)
boss 直聘(互聯網企業較多,最近比較流行,體驗上也方便)
拉勾網(互聯網企業較多)
內推(如果有內推就最好了)
獵頭(獵頭一般做高端生意,一般職位是不會有獵頭有興趣的)
公司郵箱
-一般 hr 過濾簡曆的操作:
用關鍵字過濾,例如招聘,應聘,XX 工程師,xx 學曆作為文件的名字篩選匹配關鍵字,如果關鍵字沒有,容易被忽略。
有些時候簡曆會很多,如果沒有關鍵字,根本察覺不到。
-一般 hr 閱讀簡曆的操作:
一般不在周一看簡曆,因為周一會議很多,沒時間。
一般hr電腦 標配安裝 office word,而且 word 文件也容易適配打印機打印。
hr都喜歡 word 打開簡曆,不太喜歡打開別的文件類型,嫌麻煩,可能有時候打不開。
優先查看學曆和年紀,然後再看工作(項目)內容的關鍵字是否有公司要求的內容,例如招聘前端,要有 vue 字樣,如果發現了,就會再認真看看其他內容。
有見及此,可以大大提高簡曆被閱讀,並且約談面試的機會的:
錯開簡曆投遞“高峰”
,HR周一會有很多瑣碎的事情處理,通常周二周三發布啟事,接下來的時間就會開始篩選簡曆、接觸候選人。數據也顯示,與周五上午9至10點發送的郵件相比,周四同一時段的郵件回複率要高出12%。至於一天中最佳的簡曆投遞時間,同樣也最好選在HR上班期間,上午9點到11點效果最好,下午則可以在13點半到15點半期間發送。
要有一份閃閃發光的簡曆,清晰,簡潔,有亮點
,簡曆格式用標准word格式
來寫,並且簡曆的文件名要這樣寫:“姓名_應聘資深前端工程師_2021-01”。
如果可以,個人經驗比較推薦 boss 直聘,可以直接跟 hr 聊,可以直接發給 hr,hr 會當場查閱你的簡曆,而不是等郵件回複。
如果是發送郵件到對方公司郵箱的話,郵件主題要注明清楚:“三年開發經驗應聘資深前端工程師_姓名”,郵件內容也要有標准禮貌。
如果是在boss直聘的話,需要先上傳附件簡曆,然後再跟hr聊的時候可以發送過去
如果選擇的是自己發送郵件的方式的話,郵件主題要注明清楚:“三年開發經驗應聘資深前端工程師_姓名”
郵件格式如下(注意對齊):
張先生,
您好,我是XXX。我對貴公司的 XXX 職位很有興趣,附件裏面是我的簡曆,
如果您對我的個人履曆感興趣,可以隨時與我聯系。謝謝。
感謝您的閱讀,謝謝。
應聘者:XXX
2021 年 1 月 29 日
公司郵箱可以在對方官網裏面找,例如這個:
第六步:如何優秀通過面試
那麼,面試機會來了,你一般約面試要約 1 天之後,這樣讓你容易放松一些,避免一上來就約隔天面試,過度緊張導致影響發揮。
我讓小龍約面試是 2 天後。
-大公司和小公司的面試流程
一般來說,一個基本面試流程是這樣的:
開場白
候選人自我介紹
面試
附加信息
結束
大公司,例如人數往往超過 300 人以上的企業,流程基本一致,但是比較長
。可能會有四面甚至五,六面的情況:
一面基礎知識
二面項目經驗
三面領導面
四面 hr 面
中小型公司,人數往往低於 300人的企業,流程就比較簡
:
一面基礎和項目知識
二面領導和 hr
中小公司比較注重實際實際項目技能,主要看你是否可以馬上開始工作,對於一些基礎知識並不太關注(不代表啥都不會),而主要關注你的項目細節,大公司,本身內部有比較完善培訓流程和分工,所以對基礎知識,算法都比較在意,雖然也會重視你的項目細節,但是他們更關注你的基礎。
小龍這個公司我定義為中廠,屬於中小廠類,所以我們將面試的重點放在項目細節上。
-准備一場優質的模擬面試!
軍事領域裏面有一個東西叫沙盤模擬,戰爭沙盤模擬推演通過紅、藍兩軍在戰場上的對抗與較量,發現雙方戰略戰術上存在的問題,提高指揮員的作戰能力,模擬推演跨越了通過實兵軍演檢驗與培養高級將領的巨大成本障礙和時空限制,受到世界各國的普遍運用。
而我們安排模擬面試的原因就是因為我們要提前演練,提前知道可能發生的任何情況,以便達到在真正面試現場減少出錯,達到成功獲得 offer 的終極目標
。
我們現在來幫小龍模擬整個面試流程:
准備著裝
帶好簡曆打印版,手機充好電,帶好身份證
出門,提前 10 分鐘到達對方公司
聯系對方 hr
等待安排面試
做試題
開始面試
開場白
自我介紹
對方會根據你的簡曆和試題完成情況對你進行發問,一般會先問試題的一些問題,然後再問你簡曆項目的情況
面試進入尾聲,對方會問,有什麼你想要了解的
面試進入領導面
面試進入 hr 面
面試結束回家
大概整個流程是這樣的,可能還有一些細節每個人有點區別。
這個模擬面試裏面有很多地方需要注意或者提前准備,我這裏挑一些比較重點的來說:
相關資料要提前准備好,避免出門丟三落四。
面試要准時,准時是一個基本職場素養。
自我介紹要引起對方注意。
與對方面試官,技術面,hr 面,領導面的一些注意事項
你要准備好最後你要有問題咨詢對方面試官,這是一個表現出你對對方公司和職位有興趣的一個好機會。
-要准備無敵的自信
有些人會說,我們是跟面試官攀關系,要謙虛,要謙卑,要奉承對方,以此來換得對方的高興,從而增加通過的成功率。
我認為,謙虛謙卑是對的,但是如果只是說只有這些,是不足夠的,首先你要充滿自信,讓別人覺得你是有把握的,不能做賊心虛。
良好的自信心,一方面需要靠自身本事,另外一方面是靠自己的心理建設,要時刻跟自己說,這只是一個面試,僅僅是一個面試。
相信自己可以的,信任自己過往的努力和不放棄。
世界不曾虧欠每一個努力的人。
-准備一個優秀的自我介紹
因為首因效應,我們需要有一個優秀的自我介紹去提升面試官對你的第一印象,而好的第一印象會貫穿你的整個面試過程,這是開門第一炮,必須打好
。
這裏每個人都不一樣,但是有些原則是要遵守的:
注意時間不超過 3 分鐘
往崗位需求靠攏
要有數字
有特色,有起伏
語言表達過程要流暢,不能吱吱嗚嗚的,斷斷續續的
例如,這個自我介紹可能已經比很多人的都要好了,但是沒辦法大幅度增加面試官的第一印象,我覺得是不足夠的:
我有過2年前端開發經驗經驗,開發過的項目有A、B、C,這幾個項目裏面我最有印象的是 c,這是一個 xxx 業務系統的子系統,承載了年營業額 500w 的系統,這裏我用到技術棧是 vue,xxxx。
我稍微修改一下:
我有過2年前端開發經驗經驗,開發過的項目有A、B、C,這幾個項目裏面我最有印象的是 c,這是一個 xxx 業務系統的子系統,本來只是一個小系統,沒人想維護,最終分到了我的頭上。
剛開始我發現它代碼耦合很嚴重,很多代碼都是是粗獷式開發,改一個地方,很多地方莫名其妙出錯了,一個小系統的維護居然花了我好幾天時間,然後我就生氣了。
我對代碼有些潔癖,通過幾天時間我梳理了這個系統的整個前端邏輯,然後通過封裝和模塊組合,分層和解耦強聯系業務邏輯,用一周時間,幾乎重寫了這個系統的前端,並且在重要的地方加入適量的注釋和文檔,整個系統的維護難度一下子就變得簡單了很多。
後來這個系統成長為了年營業額 500w 的主業務系統,得到了公司的重視,我順便還得了個xx年度最佳開發者獎。
另外還有一個技巧,我們可以通過自我介紹產生的第一印象去引導面試官的問題方向,這樣就更容易在自己熟悉的方向上進行問題回答,更容易增加面試成功的概率
。
-如何應對面試官拷問?
一般來說對方會根據你的面試題結果來咨詢你,然後會根據你簡曆上寫的項目信息來有選擇性發問。
在簡曆編寫期間,使用 STAR 方法可以更清楚的梳理你的價值。但是在實際面試的時候,你還要補充上 PDCA 方法來讓對方知道你的綜合價值。
面試官更希望知道你遇到這些問題時候是怎麼思考和實踐的,因為這樣才能更全面的知道一個人是否可以獨立完成工作。
PDCA四個英文字母及其在PDCA循環中所代表的含義如下:
1、 P(Plan)--計劃,確定方針和目標,確定活動計劃;
2、 D(Do)--執行,實地去做,實現計劃中的內容;
3、 C(Check)--檢查,總結執行計劃的結果,注意效果,找出問題;
4、 A(Action)--行動,對總結檢查的結果進行處理,成功的經驗加以肯定並適當推廣、標准化;失敗的教訓加以總結,以免重現,未解決的問題放到下一個PDCA循環。
每一件事情先做計劃,計劃完了以後去實施,實施的過程中進行檢查,檢查結果以後,再把檢查的結果進行改進,進行實施,進行改善,這樣把沒有改善的問題又放到下一個循環裏面去,就形成一個一個的PDCA循環。
例如:之前寫的xxx 電商平台的後台管理系統,對方根據 pdca 的方法來問,你是怎麼做這個計劃的,怎麼做階段完成,你印象最深刻的是哪個技術難點,然後你是怎麼解決的?
這些都要准備好,才能百戰百勝。
有幾個原則可以參考一下:
換位思考:如果你是面試官,你會怎樣了解對方是否合適?
開闊眼界:了解同類產品是怎麼做的,看看業界是怎麼處理的。
使用10倍原則:每當情況複雜10倍,采取的策略就要改變,反思自己還能做些什麼。
不知道的問題,就說解題思路,把自己的想法說出來,不用考慮是否正確。
-如何面對領導leader面
領導面主要是看你這個人的工作態度,人品,還有就是是否能夠融入團隊,可塑性(容易管理)是否足夠強。
一些比較經典:
問一下你怎麼跟團隊相處和合作?
如何處理意見分歧的呢?
對自己未來有什麼職業規劃?
如何面對壓力下工作?
提前准備好對應的答案之餘,還要准備一些反問對方,因為對方是領導,領導喜歡被別人請教,從而增加自己的虛榮感
。
例如:
關於團隊協作:我非常享受和樂意跟團隊相處和工作。我相信我會對團隊的環境做出很大的貢獻的,我既可以擔當團隊領導也可以成為團隊成員,無論擔當什麼角色,我都會做的很好,……請問貴司團隊大概是什麼情況,如果我有幸進入貴司,我需要跟那些團隊協作?
關於處理意見分歧:一方面,我不想做沒有原則的老好人,另一方面,大家都是朝夕相處的同事,我會照顧好對方的感受。我當時是這樣做的……不過這個是我自己的做法,我都不知道是否做的正確,我可以從您那裏得到一些指教麼?
關於職業規劃:進入公司之後,我會積極融入團隊,盡快適應公司環境。對於新知識和新技術,我也會制定自己的一個學習計劃。在未來2-3年內,我希望能夠爭取做到自己在前端開發技術上沒有短板,可以指導和幫助其他同事更好的完成工作。在3-5年內,我會努力的朝著管理層發展,提升自身管理才能,為公司做出更大的貢獻。
關於壓力下工作:壓力使我提升自己、獲得進步。曾經有一次我需要在一周之內完成三個大項目,在排列好三個項目的優先等級後,我和同事們加班加點全神貫注的提前高效的完成了工作,並且在工作中沒有出現任何不必要的失誤。
-如何面對 hr 面
一些比較經典的:
如何面對加班
你為什麼離開上一家公司
你期望的薪資是多少,你原來是是多少
對自己未來有什麼職業規劃?(有些是領導面,有些是 hr 面)
提前准備好對應的答案就好了,例如:
如果公司目前有重要的項目要跟進,需要整個團隊加班完成,那麼自己一定接受加班,配合整個團隊的工作。
自己崗位的工作在公司不受足夠重視,想尋求更多的挑戰。
需要注意的是,基本過了技術面之後,hr 這關比較容易,回答不能冒進,要中規中矩,不要以為過了技術面就穩了。
如果技術很喜歡你,但是 hr 不喜歡你,一樣也是過不了
。
-補充:無論是哪一面都要准備一個問題!
因為這樣既可以讓你知道多一些對方公司的事,方便你做最後的決策,另外還可以讓你對方感受到了你的認真態度,也可以讓對方更容易滿足(被人請教),從而提高獲得 offer 的概率
。
一面:面試官一般是你的平級同事,可以多去了解實際的工作內容,便於後續對比 offer,例如:團隊業務、日常工作、技術棧、協作、技術分析等
二面:面試官一般是團隊骨幹或直屬 leader,可以多去了解業務和產品的規劃、技術建設、對應聘職位的定位與期待等;
三面:面試官一般是部門 leader,這一步可以多了解技術之外的知識,比如面試官自己的成長經驗、技術之外的能力、職位發展路線等;
Hr 面:這一步可以多去了解公司本身相關的事,比如:你在公司工作的最大的感受是什麼?晉升機制是怎樣的?等等
-模擬面試的複盤
第一次模擬面試,出錯百出,這很正常,太久沒面試或者沒怎麼留意面試的工作的人都會這樣。小龍的第一次模擬面試,我發現他連身份證都沒准備~我給他一梭子之後他終於開始認真了~
把模擬面試遇到的問題進行複盤,記錄下來,然後再模擬多一次,一般模擬 3 次左右就效果最好了。
第一次模擬演練是為了暴露問題。
第二次模擬演練是為了修正暴露的問題。
第三次模擬演練是為了熟練演練流程。
盡可能地減少失誤,如果遇到一個特別好的offer 的話,如果面試發揮失常是個人原因導致的,那就很傷感了。
萬事俱備,去面試咯。
第七步:獲得 offer
到了面試那天,小龍還是有點緊張,不過他說比之前好多了,之前是超級緊張,現在心裏面多少有點譜了,(畢竟模擬面試了幾次,套路都知道)
不過結果還不錯,成功斬獲了一個至少是11k的offer,不過我覺得12k也很穩的。
其實拿 offer 也是很簡單的嘛~~啊哈哈哈
希望可以幫到你,我是小輝哥##。
因為小時候不努力學編程,畢業去做了網管,以為跟互聯網 IT 沾邊,後來發現其實做開發才是,所以又努力掰了回來,期間刷過盤子,修過電腦,寫過 php,玩過 java,舞過前端開發,練過項目經理,弄過產品經理,官職最強上至技術總監,收入從月入 800 到50k,我發現,百萬年薪真的很難的,不過我畢竟也走到這裏了,還不錯。
我聽說很多年輕(中青年)人對現在的環境感到很浮躁、很焦慮、很擔憂,所以我就來看看能不能幫上忙~