02 2022 档案
摘要:一路走过来,觉得自己很幸运遇到了很多伯乐,教会了我很多道理和职场经验。最近几年作为面试官也面试了很多同学,经常和很多候选人沟通分享一些自己学习成长的路径,也经常和很多新入职的同学口头分享一些工作心得。现在把这些的经验总结了一下,如果能对看到文章的同学有所启发及帮助最好。
工作只是生活的一部分,多抽点时间健健身和读读书,多抽点时间陪陪家里人,let's relax。最后推荐几本非技术书籍:《金字塔原理:思考、表达和解决问题的逻辑》、《麦肯锡教我的思考武器》、《思维的本质》、《精进:如何成为一个很厉害的人》、《高效能人士的七个习惯》、《***时代》。
阅读全文
摘要:在所有可选的用于测试的 CI/CD 工具中,Jenkins 和 GitLab CI/CD 是你肯定应该考虑的两款工具。Jenkins 在 GitHub 上有 16,000+ 点赞,而 GitLab CI/CD 有 2012 个点赞。Jenkins 的点赞数是 GitLab CI/CD 的点赞数的 8 倍多。然而,这些数字并不是选择一款 CI/CD 工具时需要查看的唯一东西。这也是尽管在点赞数上有巨大的差距,Jenkins vs GitLab CI/CD 在多个评审平台上还有着激烈的竞争。
阅读全文
摘要:1、想要提高应用的性能,可以引入「缓存」来解决
2、引入缓存后,需要考虑缓存和数据库一致性问题,可选的方案有:「更新数据库 + 更新缓存」、「更新数据库 + 删除缓存」
3、更新数据库 + 更新缓存方案,在「并发」场景下无法保证缓存和数据一致性,且存在「缓存资源浪费」和「机器性能浪费」的情况发生
4、在更新数据库 + 删除缓存的方案中,「先删除缓存,再更新数据库」在「并发」场景下依旧有数据不一致问题,解决方案是「延迟双删」,但这个延迟时间很难评估,所以推荐用「先更新数据库,再删除缓存」的方案
5、在「先更新数据库,再删除缓存」方案下,为了保证两步都成功执行,需配合「消息队列」或「订阅变更日志」的方案来做,本质是通过「重试」的方式保证数据一致性
6、在「先更新数据库,再删除缓存」方案下,「读写分离 + 主从库延迟」也会导致缓存和数据库不一致,缓解此问题的方案是「延迟双删」,凭借经验发送「延迟消息」到队列中,延迟删除缓存,同时也要控制主从库延迟,尽可能降低不一致发生的概率。
阅读全文
摘要:将你的黄金时间用于学习通用技能,那些不会过时的技能。
不要学习微服务框架,学习演进式架构(Evolutionary Architecture)。
不要学习新的编程语言,学习代码整洁之道、设计模式、领域驱动设计(DDD)。
不要学习 LeSS 和规模化敏捷框架(SAFe),学习精益生产原则(Lean manufacturing principles)。
不要学习 Hystrix,学习容错模式(Fault Tolerance Patterns)。
不要学习 Docker,学成持续交付。
不要学习 Angular、React 和 Vue,学习 Web、HTTP 和 REST。
阅读全文