我是 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