【從青銅到鉆石】3 年創(chuàng)業(yè)公司成長經(jīng)歷 && 面試總結
在掘金上當了幾年的伸手黨,最近也準備輸出一些自己的東西。
關于我
首先介紹一下我自己,17 年畢業(yè)于一所 211 學校,但是由于大學四年馳騁在召喚師峽谷,畢業(yè)時也沒有找到一份大廠的工作,隨便找了一家創(chuàng)業(yè)公司簽了三方就去了。好在這家公司也挺給力,我這一呆就是三年,996 當著「全干工程師」,從前端到服務端,從 JavaScript 到 Java,這幾年下來都積累了一些經(jīng)驗,不說精通,也算是比較熟悉了。
今年 7 月份的時候,瞅著已經(jīng)畢業(yè)三年,是時候該考慮一下職業(yè)生涯的下一站了,開始準備面試的事情。
這里建議大家,每一份工作度需要慎重考慮,不要頻繁跳槽。文章后面也會給出我的理由和建議。
在職準備了 2 個月的面試,開始試著投了一些簡歷,幸運的是都收到了面試邀請,有的公司也拿到了 offer。也嘗試投了幾家大廠,阿里、字節(jié)、快手目前還在流程中。
也已經(jīng)向 TL 提了離職,最近在工作交接,事情比較少,寫個文章記錄一下最近的經(jīng)歷。第一次在掘金寫文章,希望能有人看。
工作三年
一晃時間就過去了三年,從畢業(yè)時候?qū)η岸艘桓[不通到如今在公司獨當一面,也算是成長了挺多。嗯,畢業(yè)三年的我有4年經(jīng)驗(手動狗頭)。
記個流水賬吧,大家能夠比較直觀地感受到我畢業(yè)三年以來每個階段做了什么事:
2017年1月左右。比較早搞定了畢業(yè)設計,開始早開始籌備找工作的事。由于是計算機專業(yè)畢業(yè),第一想法當然還是找編程相關的工作,就開始了解目前的前端工程師、后端工程師都在做什么,找了幾個大廠的 JD 就開始研究,并且聽同學說現(xiàn)在牛客上招聘和面經(jīng)比較多,就去翻了翻牛客。看了牛客之后,TM 被打擊了。。。這面經(jīng)也太難了吧,真的是「面試造火箭」 2017年1月底過年。過年期間回老家同學聚會,剛好也有朋友是計算機專業(yè),建議我可以自學一下前端,找一份前端開發(fā)的工作。大二大三的時候幫學長做項目也寫過一些前端的代碼,想想也挺有趣的,也不糾結了就找前端吧 2017年4月左右。體系化地學習了一下前端相關的知識,發(fā)現(xiàn)不對勁,沒有實習過的我對于整體的工程經(jīng)驗太欠缺了,而且光是寫 Demo 根本無法深入學習,但是由于時間比較少需要看的內(nèi)容比較多,又只能淺嘗則止 2017年5月。投了幾份簡歷,面了幾家公司,offer 有,但也都是小公司,對,就是那種只有 20 個人左右的小公司,想想還是放棄了 2017年6月。機緣巧合在 V2ex 上了解到一個創(chuàng)業(yè)公司,人不多,但是待遇還不錯,就去試了試。面試官很 Nice,聊得挺不錯,雖然我沒有實習經(jīng)驗也沒關系,他覺得應屆生基礎好,學習能力強就沒問題(? 我信了。。) 2017年6月。簽了三方,畢業(yè)旅行去了。美滋滋。 2017年7月。從學校畢業(yè),進入這家創(chuàng)業(yè)公司開始了我的前端生涯 2017年7月 - 12月。因為這家創(chuàng)業(yè)公司已經(jīng)有一定規(guī)模了,除我之外還有 3 個前端,所以我剛來之后活還比較輕,主要就是寫一些無關經(jīng)驗的后臺頁面和 toC 的移動端頁面,主要技術棧是 Vue。Vue 也是我來了公司之后才開始學的,看了一遍文檔之后就直接開干,啥不會的就 CV 大法,還不會的就厚臉皮請教公司的前輩,就這樣過了差不多半年吧 2018年1月-6月。TL 看我已經(jīng)逐漸掌握了前端技術棧的開發(fā),也開始給我安排一些比較有挑戰(zhàn)性的活,負責一些日活比較高的項目日常維護和迭代。在這半年時間里,更多時間還是在跟業(yè)務,沒有太多技術上的思考。當然,我的手還是非常快的,5天工作量的頁面我3天就能搞定,而且提測基本 0 bug。當然,這里的手快不是敲鍵盤快,更多的是對于項目的理解和功能模塊的拆分,以及頁面組件、模塊的設計,保證復用度。這里我的建議是:拿到一個業(yè)務需求,先理解透徹再動手編碼。理解包括對業(yè)務的理解和對需求的理解,將產(chǎn)品給到的 PRD 進行拆解分析,派出優(yōu)先級和每項的排期,這樣對于整體項目都能有一個把控 2018年7月-12月。業(yè)務已經(jīng)穩(wěn)定,團隊也有了差不多差不多 8 個人,開始接手一些團隊基礎設施建設的事情,比如統(tǒng)一腳手架、統(tǒng)一 UI 組件庫以及統(tǒng)一技術棧的前期工作 2019年1月-6月。和 TL 一起推動統(tǒng)一了 React 作為前端統(tǒng)一技術棧,剛好拿到一個比較重要的業(yè)務,借這個項目沉淀了項目腳手架(包括中后臺和 mobile),以及UI 組件庫(基于 antd 進行定制、封裝),在 3 月份的時候我也順利完成晉升(其實就是調(diào)了薪資)。從 18 年 7 月到 19 年 6 月這一年時間真的痛并快樂著,每天肝到最后一個下班,之前沒接觸過前端工程化體系,就沒日沒夜地學習。而且推動技術棧統(tǒng)一其實是一個很艱難的事情,這得拿出足夠的理由和證據(jù)讓團隊成員信服,并且得要有足夠的技術支撐(腳手架、組件庫、工程化能力、知識體系支撐),幸好 TL 也一直很支持這個事情,總算在肝了一年后順利建設了目前團隊的技術底座(當然還是比較 low 的,后面也一直在迭代 2019年7月-12月。基本做的就是腳手架、組件庫、工程化的完善的,以及 CI/CD 的一些事情 2020年1月-2020年6月。團隊的開發(fā)模式基本已經(jīng)成型,只需要投入 2人日/周基本就可以。我們也開始沉淀團隊統(tǒng)一的埋點、監(jiān)控方案,打造了統(tǒng)一的前端埋點管理系統(tǒng)、前端埋點工具、前端監(jiān)控平臺 2020年7月。雖然可能你覺得我三年來干了很多事情,但是如果深入細節(jié)看,很多事情都是小打小鬧不成體系,業(yè)務量大了之后未必可以 cover。所以決定再次尋找自己新的定位,進入一個大廠,體系化地了解整個前端研發(fā)生命周期中大廠是如何思考和沉淀的
工作三年,學到很多。很多人可能會說:還是因為這家創(chuàng)業(yè)公司給力而且 TL 比較給力,所以可以待到三年。是的,這話沒毛病,我也很感謝我的 TL,感謝公司給了這樣一個平臺讓我成長。
但是,我想說的是,除了外界客觀因素之外,自身的主觀因素也很重要。在上面的個人經(jīng)歷中,我寫出來的可能都是讓你感覺很爽的事情,很多不爽的事情我沒寫出來而已。。
經(jīng)常肝到半夜 被 TL 批評過,也經(jīng)常懷疑過自我 暗地里說過業(yè)務方(這人也太xx了,還天天摸魚)、罵過公司(公司也太xx了,遲早完蛋) 無數(shù)次想要離職的經(jīng)歷,懂的人都懂,隨時都想砸了電腦走人 ...
太多了,如果要寫,我可以寫出 100 條「我為什么曾經(jīng)無數(shù)次想要離職」。
人生就是這么有意思,無數(shù)次想要離職都沒走,這次確是主動想要換個環(huán)境,并且需要放棄一些東西。
復習準備
掘金上關于面試的文章很多,這也是社區(qū)一個現(xiàn)狀,所以就挑了幾篇個人覺得比較好的著重看了一下:
2020年前端面試復習必讀文章:這個大佬的思維導圖整理的非常好,整個復習流程都是跟著這個導圖來的,而且也不用自己到處搜索文章了,相當方便 在阿里我是如何當面試官的 :這篇文章主要是了解一下阿里的面試是怎么樣的,面試官關心什么 面試分享:兩年工作經(jīng)驗成功面試阿里P6總結 :實戰(zhàn)篇,真實的阿里大佬面試經(jīng)驗 字節(jié)跳動今日頭條前端面經(jīng)(4輪技術面+hr面):實戰(zhàn)篇,真實的字節(jié)大佬面試經(jīng)驗
以上文章個人覺得就夠了,能花時間把這些知識啃下來,一般面試就沒什么問題了。
簡歷準備
簡歷真的非常重要,校招的時候就有這樣的感覺,那時候有實習經(jīng)歷和沒實習經(jīng)歷簡直就是一個天一個地。這次也準備認真準備一下自己的簡歷。
對于簡歷,個人認為大廠面試官和 HR 最看重的是兩點:
項目經(jīng)歷:做了什么 工作經(jīng)歷:穩(wěn)定性
這里就不展開說了,社區(qū)里也很多優(yōu)秀的文章。在這個過程中,我主要參考了以下幾篇文章,推薦一下:
《大廠面試》面試官看了直呼想要的簡歷 面試官到底想看什么樣的簡歷? 教你如何寫初/高級前端簡歷【贈簡歷導圖】
面試題整理
這里整理一下我這段時間面試遇到的面試題,按類型分一下,這里只整理了我記錄的問題,來不及寫答案。。
JavaScript
1. 說說 JavaScript 的數(shù)據(jù)類型
算是面試官拿一個簡單的題給面試者熱熱身找找感覺吧。
基本數(shù)據(jù)類型:String、Boolean、Number、Symbol、null、undefined 引用數(shù)據(jù)類型:Object,如果要細分的話有 Object、Array、Date、RegExp 和 Function
2. 基本數(shù)據(jù)類型和引用數(shù)據(jù)類型有什么區(qū)別?
很自然地就引出這個題,基本數(shù)據(jù)類型在被創(chuàng)建時,在棧上給其劃分一塊內(nèi)存,將數(shù)值直接存儲在棧上;引用數(shù)據(jù)類型在被創(chuàng)建時,首先在棧上創(chuàng)建一個引用,而對象的具體內(nèi)容都存儲在堆內(nèi)存上,然后由棧上面的引用指向堆中對象的地址。
3. 那基本數(shù)據(jù)類型和引用數(shù)據(jù)類型拷貝的時候有什么區(qū)別?
由于存儲的位置不一樣,直接拷貝的時候就會有兩種情況:拷貝了值和拷貝了引用,也就是我們常說的深淺拷貝。
對于基本數(shù)據(jù)類型而言,沒有深淺拷貝的概念,都是在棧上新開辟了一塊內(nèi)存給新的值。而對于引用數(shù)據(jù)類型而言,區(qū)別簡單來說就是會不會共享堆內(nèi)存里的值。具體不說了,文章很多,隨便看兩篇基本都沒啥問題。
深拷貝的終極探索(90%的人都不知道) JavaScript 專題之深淺拷貝
目前 JavaScript 的 API 中,哪些是淺拷貝,哪些是深拷貝?
可以看看這篇文章,雖然文章里有一些小問題,不影響整體閱讀
JavaScript 基礎心法——深淺拷貝
4. 如何實現(xiàn)一個深拷貝?
無非就是 JSON.stringify 和 遞歸 兩種方法,大概說說思路就 OK
5. 通過 JSON.stringify 的方式實現(xiàn)深拷貝,會有什么問題?
如果值是 undefined、function 等,在轉換的時候會丟失,所以還是要比較謹慎使用 JSON.stringify 來做深拷貝
6. 通過遞歸的方式實現(xiàn)深拷貝,會有什么問題?
循環(huán)引用和重復引用
數(shù)據(jù)類型和深淺拷貝的問題問到這里基本差不多了。這里說個小技巧:如果面試官問了第一題,面試官應該心里已經(jīng)有打算問你深淺拷貝的問題,如果你比較熟悉,也可以嘗試主動點往這方面引。
7. 數(shù)組去重的方式有哪些(手寫)
花里胡哨的也就那幾種,主要考察對JavaScript API 是否熟悉,我寫了兩種:Set 和 Hash,面試官也沒有多問。
Hash:
function?unique(arr?=?[])?{
??if?(arr.length?===?0?||?arr.length?===?1)?{
????return?arr;
??}
??const?newArray?=?[];
??const?hash?=?{};
??for?(let?i?=?0;?i?????if?(!hash[arr[i]])?{
??????hash[arr[i]]?=?1;
??????newArray.push(arr[i]);
????}
??}
??return?newArray;
}
Set:
function?unique(arr?=?[])?{
??if?(arr.length?===?0?||?arr.length?===?1)?{
????return?arr;
??}
??return?[...new?Set(arr)];
}
8. 找出數(shù)組中最大的數(shù)(手寫)
我就只寫了一種
function?getArrayMax(arr?=?[])?{
??if?(!arr.length)?return;
??if?(arr.length?===?1)?{
????return?arr[0];
??}
??return?Math.max(...arr);
}
9. 說一下事件循環(huán)的理解
宏任務微任務那些,隨便搜都是,只推薦一篇經(jīng)典文章:Tasks, microtasks, queues and schedules
10. 快排是如何實現(xiàn)的,講一下思路和復雜度
放兩張圖,感受一下,更多的動畫可以看 https://visualgo.net/zh/sorting


11. 如何實現(xiàn)一個觀察者模式(手寫)
12. 如何實現(xiàn)一個單例模式(手寫)
13. 如何解析一個 URL,獲取 query 和 hash 的參數(shù)(手寫)
14. TypeScript 和 JavaScript 最大的區(qū)別在哪
CSS
1. flex 如何實現(xiàn)九宮格
設 width,變 flex-wrap
2. 除了 flex 之外,還能如何實現(xiàn)九宮格
比較老的 float,比較新的 grid,然后展開說下 grid
3. flex: 1 是什么意思
我就說了一下 flex: 1 的作用,然后說了一下 flex 其實有三個值,分別簡單說了一下各自的作用,就過了
4. 移動端適配怎么做的,rem 原理是什么,vw 有沒有了解
細說移動端 經(jīng)典的REM布局 與 新秀VW布局
5. 移動端 1px 如何解決
移動端1px解決方案 Retina屏的移動設備如何實現(xiàn)真正1px的線?
React/Vue
1. 看你的簡歷,Vue 和 React 都寫的比較多,可以說說 Vue 和 React 的區(qū)別嗎?
通過自己的理解,從編譯、生命周期、數(shù)據(jù)流、核心思想等方向都介紹了一下吧,這個問題還是需要認真準備一下,我說的時候感覺有點亂,回頭我看看寫一篇文章專門回答一下這個問題吧
2. 新項目的技術選型,你會從哪些方面來考慮選用 Vue 還是 React?
這個問題我聽到就感覺比較謹慎,因為本身就是在創(chuàng)業(yè)公司,面臨過很多次的技術選型。從 jQuery 到 Vue 和 React,我們也經(jīng)歷了技術棧的更新?lián)Q代。我們當時在考慮技術選型的時候,我們考慮的不是一個新項目,而是一個未來 2 - 3 年甚至更久的一個長遠技術選型,主要看了一下 React 和 Vue 的一個整體生態(tài)和完整度,當然這也包括社區(qū)的活躍度。因為我們并沒有太多人力做一些框架底層的工作以及一些生態(tài)周邊配套解決方案,更多的時候是拿一些現(xiàn)有的解決方案來解決我們的業(yè)務問題。
我在回答這個問題的時候,更多的時候是通過本身的業(yè)務出發(fā)回答的,沒有過多地回答 React 和 Vue 框架上的區(qū)別對技術選型帶來的影響。
3. 說說對虛擬 DOM 的理解
虛擬 DOM 本質(zhì)上是一個真實 DOM 的抽象 JavaScript 對象。然后展開說了一下虛擬 DOM 的好處,操作 DOM 簡單、輕量、跨平臺,我特別提了一下跨平臺,Vue 2.x 之后引入的虛擬 DOM,也有一部分是為了解決未來跨平臺的問題,后來也結合 WEEX 了。
4. 講講 React 的生命周期
這個沒啥好說的,根據(jù)自己的理解說一下那幾個生命周期了。也說了一下即將廢棄的生命周期以及為什么廢棄,就過了。
5. React 函數(shù)式組件和類組件有什么區(qū)別
6. React 的 diff 和 Vue 的有什么區(qū)別
單向雙向的區(qū)別
7. 列表中的 key 有什么作用
給 VirtualDOM diff用
8. 說說 React Hooks 的理解,它有什么優(yōu)點
一篇看懂 React Hooks
9. React Hooks 不能出現(xiàn)在條件判斷語句中
可以確保每次渲染組件時都以相同的順序調(diào)用 Hook
10. 什么是高階組件?
高階組件(HOC)應該是無副作用的純函數(shù),且不應該修改原組件
高階組件(HOC)不關心你傳遞的數(shù)據(jù)(props)是什么,并且被包裝組件不關心數(shù)據(jù)來源
高階組件(HOC)接收到的 props 應該透傳給被包裝組件
11. React 的高階組件和 Vue 的 mixins 是一個類型的東西嗎?Vue 中是否可以實現(xiàn)類似 React 的高階組件
高階組件本質(zhì)就是高階函數(shù),React 的組件是一個純粹的函數(shù),所以高階函數(shù)對React來說非常簡單。
而 Vue 更像是高度封裝的函數(shù),在更高的層面 Vue能夠讓你輕松的完成一些事情,但與高度的封裝相對的就是損失一定的靈活,你需要按照一定規(guī)則才能使系統(tǒng)更好的運行。
12. Vue 的雙向綁定是如何實現(xiàn)的
數(shù)據(jù)劫持和發(fā)布訂閱
13. Vue 如何收集依賴
14. Vue 的父子組件掛載順序是怎么樣的
父created -> 子created -> 子mounted -> 父mounted
15. Vue 的 computed 和 watch 是怎么實現(xiàn)的
16. Vue 的 template 是如何編譯的
vue-loader 里有然后專門處理 template 的 loader,最終本質(zhì)上還是 createElement
17. Vue 3.0 和 2.x 有什么區(qū)別
defineProperty、proxy,更開放的 API,ts 等等...
18. defineProperty 有什么缺點,為什么 Vue 3.0 之后改用 proxy
數(shù)組、對象的監(jiān)聽
19. 我不是前端,你如何向我介紹 Vue,讓我能夠盡可能多的了解它
工程化
1. webpack 和 rollup 的區(qū)別
webpack 適用于大型復雜的前端站點構建,rollup 適用于基礎庫的打包
2. 說說 webpack 的 loader 和 plugin
loader 解析模塊,plugin 擴展功能
3. esbuild 有沒有了解
下一代構建工具,是使用 go編寫的,未來的趨勢會更多使用非 JavaScript 語言來編寫前端工具,優(yōu)點是快。
4. CommonJS 和 ESM 有什么區(qū)別
這個就不展開說了,找兩篇關于 JavaScript 模塊的文章看看就 OK
5. vite 和 snowpack 有了解嗎,unbundle 有什么好處
個人理解會是未來構建工具的一種趨勢,在構建速度/熱更新速度上都比目前 webpack 的方案快非常多,大幅度提高前端開發(fā)效率。
6. webpack 的熱更新原理大概介紹一下
本地起服務,通過文件內(nèi)容 hash 來判斷是否更新,客戶端收到更新消息后會取拉取最新代碼進行更新
7. vue-loader 做了哪些事情
webpack 用于處理 .vue 文件的 loader,解析代碼,分別處理其中的 template/style/script...
8. tree sharking 是什么
ESM,代碼體積優(yōu)化,CommonJS 不支持
9. webpack4 相對于之前做了哪些優(yōu)化
10. 項目中,你使用 webpack 做了哪些優(yōu)化
使用 happypack加速構建通過 analyze插件分析構建產(chǎn)物大小,優(yōu)化體積chunk dll ...
11. 如何發(fā)布一個 npm 包,如何發(fā)布一個 beta 包,如何修改一個正式包為 beta 包
npm publish npm publish --tag beta npm dist-tag add [email protected] beta
12. npm 包的版本號是如何規(guī)范的
參考 https://semver.org/lang/zh-CN/,這里提了一下 break change 以及不規(guī)范的 npm版本號會帶來什么影響
13. DefinePlugin 的作用是什么
定義全局變量,可以用于不同環(huán)境的代碼刪除
14. 你們團隊的項目腳手架是如何實現(xiàn)的
使用 Yeoman 開發(fā)的腳手架,介紹了一下 Yeoman 的能力,以及為什么要用它而不是直接用現(xiàn)成的 cra 和 vue-cli
15. Babel 的原理是什么
編譯器。分為三個階段:
parse:詞法分析 語法分析
transform:轉換ast
generate:生成代碼
后端
1. Koa 和 Express 有什么區(qū)別
異步: callback和promise中間件:線性模型和洋蔥模型
2. 說說 Koa 的中間件原理

3. 常用的 Node API 有哪些
4. SSR 是如何實現(xiàn)的

5. serverless 有了解嗎
6. 說說 node 的執(zhí)行機制(單線程)
7. 為什么說 node 是高性能的
8. node 為什么支持高并發(fā)
執(zhí)行速度快:運行在 Chrome V8 引擎上 異步:libuv 事件循環(huán) 適用 I/O 密集的網(wǎng)絡應用開發(fā):解決網(wǎng)絡應用開發(fā) I/O 的性能瓶頸
9. 說說 MVC 的思想
Model–view–controller
10. 說說 ORM 的優(yōu)點
本質(zhì)上是對 SQL 語句的一種抽象,方便(語句清晰),安全(一定程度防注入)
11. MySQL 和 MongoDB 有什么區(qū)別
關系型數(shù)據(jù)庫和非關系數(shù)據(jù)庫
12. 依賴注入是什么
網(wǎng)絡
1. 從輸入 URL 到頁面渲染,其中發(fā)生了什么
這個問題真的很大,可以說很多東西,因為在問這個問題之前面試官在聊網(wǎng)絡,所以這個問題我也就回答了網(wǎng)絡方面相關的,至于瀏覽器渲染相關的我就隨便帶了一下就過了
2. HTTP 和 HTTPS 有什么區(qū)別
從安全的角度說唄
3. 說說 HTTP 的狀態(tài)碼
隨便說了幾個常見的狀態(tài)碼,一般面試官問這個,其實是準備找?guī)讉€常見的狀態(tài)碼問你具體什么意思,所以你就說自己比較了解的幾個就好了,如果完全沒了解過的,就別給自己挖坑了
4. 304 狀態(tài)碼是什么意思
緩存
5. 瀏覽器的三級緩存策略了解嗎
先在內(nèi)存中查找,如果有就加載 如果內(nèi)存中不存在,則在硬盤中查找,如果有就加載 如果硬盤中也沒有,那么就進行網(wǎng)絡請求 請求獲取的資源緩存到硬盤和內(nèi)存
6. 說說瀏覽器的緩存,強緩存是什么
7. websocket 是怎么建立鏈接的
8. HTTPS 是如何保證網(wǎng)絡安全的
9. HTTP 如何實現(xiàn)長連接
keep-alive
算法(手寫)
1. 回形打印矩陣
2. 找出最長子字符串
3. 數(shù)組中的第 K 個最大元素
4. 用 JavaScript 實現(xiàn)一個鏈表
5. 從上到下打印二叉樹
其它
1. 介紹一個你覺得比較有亮點的項目
說了一個從 0 到 1 的項目,并且在這個項目中,我沉淀了一套目前公司統(tǒng)一使用的腳手架工具以及一個 UI 組件庫。由于是 0 到 1 的項目,項目周期中遇到了一些協(xié)作的問題,我也主動承擔了一些 PM 的角色,去推動項目正常運行,保證了項目正常上線,獲得業(yè)務上下游團隊的好評。
2. 在創(chuàng)業(yè)公司,一個前端項目的生命周期是怎么樣的
在網(wǎng)上也看到了一些大廠的工作流程,相比來說,我們這邊的流程相對來說,大的骨干都有,但是小的地方就顯得不夠規(guī)范。比如 Code Review、發(fā)布管控、灰度回滾能力等,目前在我們的研發(fā)生命周期中,這些能力都只是 “能用” 的階段,目前我們也在加強規(guī)范建設。
3. 在團隊中,你是如何制定編碼規(guī)范的,如何推動規(guī)范落地的
根據(jù)目前業(yè)界常用的編碼規(guī)范,制定了編碼規(guī)范,以及一套 ESLint/StyleLint/CommitLintd 靜態(tài)檢查工具,當然還有 Prettier ,然后就是推廣大家用,用的過程中再迭代這套編碼規(guī)范。
4. 你還有什么問題想問我的
不要頻繁跳槽
文章開始的時候有提到「不要頻繁跳槽」,這里談談個人的看法。
對于面試官和 HR 來說,「頻繁跳槽」意味著兩點:
你的穩(wěn)定性不足,得承擔給你發(fā)了 offer 之后你來到公司過了一段時間又跑路的風險,所以會是減分項 你沒有足夠的沉淀,技術和業(yè)務的沉淀是要時間的,對業(yè)務有深入的理解才能思考如何通過技術手段來解決業(yè)務上的問題
對于個人來說,「頻繁跳槽」意味著:
一直在準備面試,一直在刷題,沒有一個專項學習的時間段 技術棧一直在變,一直在適應,沒法更深入的理解 對業(yè)務不理解,對團隊不熟悉,惡性循環(huán),又想跳槽
