我是3y,一年CRUD
經驗用十年的markdown
程式員???????常年被譽為職業八股文選手
開源專案訊息推送平臺austin倉庫地址:
訊息推送平臺??推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別,
- https://gitee.com/zhongfucheng/austin/
- https://github.com/ZhongFuCheng3y/austin
今天來跟想聊下大家很關注的一個問題:「搞完Austin訊息推送平臺要花多長時間?」
這個問題我被很多股東問過,大多數都是想要將Austin訊息推送平臺寫進簡歷上,想要知道在秋招前能不能給整明白,整出來,
我在Austin的群也看過有個小伙連續好幾天在群里問,想知道搞完要多久,這個系統難不難,適不適合在校的,
說白了,就是想要在心里有個底,這種問題很正常,我在正式作業前也想知道要達到實習/作業需要什么技能,
不過,我給不了具體的時間,這對我來說挺難的,因為每個人的學習時間、所掌握的基礎是不同的,像我在大學的時候,我早上8點去圖書館,晚上9點從圖書館回宿舍,我也不知道你是不是跟我一樣的,
還有就是可能你就剛剛整完SpringBoot
,還沒有做過任何專案,對很多技術都還沒理解好,這樣即便我檔案很全了,但對于這部分同學來說,門檻還是相對較高,
而如果你已經有過Redis/Kafka
這種基礎了,只是Flink
/xxl-job
這種中間件沒怎么用過,可能知道它們是干啥的,但不知道原理,那在這種條件下,上手專案的門檻又相對較低點,
也有在滴滴的、騰訊的作業幾年了,把README
檔案刷一遍,就能直接去看代碼的整個流程了,雖然會對細節有很多疏漏,但畢竟架構的見識和作業經驗擺在那,上手會快很多,
它適不適合在校生?肯定是適合的,它不像商城系統要熟悉業務細節,有各種的商品資訊,它不像廣告系統要了解各種的專業名詞才能看懂業務,廣告系統有各種專業名詞CPT
/CPS
/CPC
/CPM
/ROI
/CVR
...
Austin訊息推送平臺核心功能是很好理解的,就是推送各種渠道的訊息,而推送訊息為什么能是一個平臺,只是我們圍繞著核心功能的基礎上加多了很多基礎建設,它的存在不再是一個小功能,所以它就是一個訊息推送平臺,
每個公司幾乎都會有發送訊息的需求,也幾乎都會有類似的封裝,Austin訊息推送平臺的架構和解決方案是通用的,跟別的公司相比只在于這個推送系統它的規模以及所提供的平臺能力差異性,
「搞完Austin訊息推送平臺要花多長時間?」
以我為例吧,我當時接手訊息推送平臺到熟悉它大概花了兩個多月時間,一方面我當時剛實習,技術確實也就那樣,在生產環境沒用過JSON
,沒用過MQ
,沒用過Redis
,另一方面,檔案確實沒有像我現在的那么齊全,生產環境下的代碼經過了幾代同事的迭代,代碼風格差異也挺大的,
不過這兩個多月不意味著我對這個系統就了如指掌了,我只是掌握了整個推送訊息的流程,很多發送渠道的細節還是不懂的,
比如以前的小程式訊息推送需要有下發憑證(formId
)才能對訊息下發,這是我后來對小程式訊息迭代的時候才知道的,比如對于push通知欄訊息它的鏈路十分長,我們做了一整套打點體系,但由于迭代和交接的問題,這個鏈路也是后面才慢慢摸索出來哪些是關鍵的位置...比如對于短信計費原來是要把發送憑證+手機號才能產生唯一的key,不然統計就會亂掉了...
話又說回來,如果把訊息推送平臺寫在簡歷上去面試,以我的經驗,面試官并不在意某個渠道的訊息下發細節(除非他也是搞訊息推送的),更多的關注是系統的架構和整體的流程,就沒遇到過需要針對某個訊息渠道做過多解釋的,
經過我的迭代,現在Austin訊息推送強依賴MySQL
/Redis
和Kafka
,對于MySQL
和Redis
來說,差不多是每個專案的標配了,而Kafka
后續我可能會考慮抽象出來由你們自己適配對應的MQ實作,MQ在這個場景下還是有必要的,
在面試前更多的是準備MySQL
/Redis
和MQ
這幾塊技術堆疊,理論上中間件在公司都有專門的人負責,但這幾個確實我們在日常開發中用得非常多,建議多去看看原理和原始碼,
像分布式配置中心、分布式定時任務、分布式計算引擎、分布式日志框架、監控告警框架這種你們要是對哪個熟悉的,就寫上自己熟悉的框架,如果不熟悉的,面試的時候簡單提一嘴流程就好了(建議去看看這些框架的設計思想),
最后不負責下個結論吧:
1、如果你曾經做過些小的專案,了解MySQL
/Redis
和MQ
的使用,大概三周到1個月+時間能對專案有所了解
2、如果你沒做過小專案,只是剛學完SpringBoot
,起碼2個月+時間能對專案有所了解
3、如果你已經了解過各種的中間件(分布式配置中心、分布式計算引擎),在作業中也并不完全是后臺的CRUD,相信我,你那時候就不會問要多久才能搞完這個訊息推送平臺,
很多時候我們做一件事之前都是充滿著未知,但如果未知的成本不高的話,建議先行動起來!一直猶豫不行動,相當于什么都沒做,
推薦專案
如果想學Java專案的,我還是強烈推薦我的開源專案訊息推送平臺Austin,可以用作畢業設計,可以用作校招,可以看看生產環境是怎么推送訊息的,
開源專案訊息推送平臺austin倉庫地址:
更多的文章可往:文章的目錄導航訊息推送平臺??推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別,
- https://gitee.com/zhongfucheng/austin/
- https://github.com/ZhongFuCheng3y/austin
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/546669.html
標籤:Java
上一篇:Java(單元測驗,反射)
下一篇:day02-容器功能