不是自己的項目,如何抗住面試官的詢問?
項目背景
項目背景,指的就是交待清楚你的項目是做什么的,拉平你和面試官的信息差異,讓他知道這個項目是做什么的。項目背景說不清楚,連共同基礎(chǔ)都沒有,更深的問題就更不用講了。
在交待項目背景的時候,可以將一些項目亮點寫上去,例如:項目 QPS 多少等。如果是重構(gòu)類的項目,那么可以交待一下存在的問題,方便后續(xù)講「項目職責」的時候,呼應(yīng)自己的成果。
就以樹哥做過的一個消息中臺的項目為例,我寫的項目背景介紹如下,大家可參考一下。
項目背景:原有郵件、短信、 Push、站內(nèi)信、 WhatsApp 等消息服務(wù)相互獨?,存在多語?模板內(nèi)容?法集中管控、多地區(qū)運營商?法靈活調(diào)整、重復對接第三?服務(wù)商、各地區(qū)?法個性化定制發(fā)送內(nèi)容等問題。
為了能更好地適應(yīng)公司未來?段時間的發(fā)展,我主導設(shè)計了消息中臺的技術(shù)架構(gòu),實現(xiàn)了多語?模板統(tǒng)?管理、多地區(qū)運營商賬號統(tǒng)?管理,幫助運營零代碼改動實現(xiàn)個性化的本地運營。?前?均發(fā)送消息 10 億條, QPS峰值達到 3000 次/秒。
項目技術(shù)
項目技術(shù)這塊,主要是為了方便簡歷閱讀者快速知道項目用到的技術(shù)。這塊沒啥好說的,直接把用到的技術(shù)框架列一列就得。還是以消息中臺的項目為例,介紹如下。
項?技術(shù):Spring Boot、 Resty-Pass、 Consul、 MyBatis、 Redis、 Kafka、 xxl-job、 MySQL。
項目架構(gòu)
講完了項目背景和項目技術(shù),接下來就是要把你的項目架構(gòu)講清楚。
那么什么是項目架構(gòu)呢?
簡單來說,項目架構(gòu),就是你的項目是怎么組成的。
例如如果你是中臺,那這個中臺是怎么搭建的。請求是如何進來,經(jīng)過哪些層級,又怎么出去的?例如我做過的一個消息中臺,就分為網(wǎng)關(guān)層、處理層、渠道層。
如果是業(yè)務(wù)系統(tǒng)的話,那描述下整體的架構(gòu)。例如服務(wù)之間用什么搭建,是否用到消息隊列解耦異步。用戶請求進來先到哪里,再到哪里,最后到哪里。這樣一梳理,你的項目架構(gòu)就出來了,然后挑一些重點的項目塊說說。
還是以消息中臺項目為例,我是這么寫的:
項?架構(gòu):消息中臺架構(gòu)上主要分為三層,分別是:?關(guān)層、消息處理引擎層、通道層,模塊之間采?Kafka 消息隊列解耦。
第?層是?關(guān)層,負責對外提供統(tǒng)?的消息發(fā)送服務(wù)。?關(guān)收到消息后會對請求做參數(shù)校驗、權(quán)限校驗等操作。處理完成后將消息丟?消息隊列,等待下游處理。
第?層是消息處理引擎層,負責對消息進?多語?渲染、多地區(qū)賬號匹配,獲取發(fā)送所需的模板、賬號等信息。處理完成后將消息分批次丟?消息隊列,等待下游處理。
第三層是通道層,通道層包括郵件、短信、 Push、站內(nèi)信等,通道層負責將消息發(fā)送給?戶。此外,消息中臺還包括消息中臺開放平臺、管理后臺等相關(guān)聯(lián)應(yīng)?。
梳理到了項目架構(gòu)方面的內(nèi)容了,那你自然也要清楚項目是如何部署的,是用容器化部署,還是用傳統(tǒng)的方式部署?生產(chǎn)的流量怎么樣?接口的響應(yīng)時間是多少?TP99是多少?這些都是需要準備好的。
項目職責
項目職責,主要是梳理你負責的內(nèi)容。很多小伙伴會一股腦寫自己做的內(nèi)容,但實際上寫這塊內(nèi)容也是有技巧的,要按照「你負責什么,做出什么成果,有什么數(shù)據(jù)支撐」的思路來寫,這樣才會讓別人覺得你做了一些事情。
還是以消息中臺為例子,大家可以參考一下。
項?職責:作為技術(shù)負責?,與產(chǎn)品梳理原有業(yè)務(wù),設(shè)計并落地整個消息中臺技術(shù)架構(gòu)。在不影響原有業(yè)務(wù)情況下用 2 個月快速落地,隨后快速迭代新功能。
在 6 個月內(nèi)將原有上游遷移到新系統(tǒng),接入系統(tǒng)到 50 個,新系統(tǒng)接入效率提高 75%。接入一年后,消息發(fā)送量達到日均 10 億條,QPS 最高達到 3000 次/秒。
雖說要有亮點,但是里面用到的每個數(shù)字,你都要能說出個所以然,不能到時候一問三不知哦。
項目亮點
項目亮點,指的是項目中有哪些做得不錯的點。
不同項目可能不一樣。對于高并發(fā)項目來講,高并發(fā)可以成為一個亮點。對于普通的 B 端項目而言,大批量數(shù)據(jù)導出也可以是一個亮點。因此,并非一定要高并發(fā)才能有亮點。
對于項目亮點來說,由于篇幅限制,我一般不會單獨寫,而是融入到其他方面中,例如融入到背景介紹、項目職責中。隨后在面試的時候,有機會就展示這些亮點,隨后就說出自己是怎么解決這些問題的。
總結(jié)
對于自己做過的項目,如果你能從「項目背景」、「項目技術(shù)」、「項目架構(gòu)」、「項目職責」、「項目亮點」這 5 個方面來梳理項目,那么基本上你就會很清晰,項目的整體框架就搭建起來了。剩下就可以直接去面試,根據(jù)面試結(jié)果查漏補缺了。
但如果這不是你自己做的項目,這時候你還需要做一件事情 —— 實操。就是把這個項目自己搭個 demo 出來,然后把所有你提到的亮點所涉及到的知識點都做一遍,這樣才能無線接近于實操。
































