「这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战」
在大厂面试过程,介绍完了整个我们的项目的一个系统架构以及对应的业务架构之后,我们的面试官听了那么多,会问你一个问题,你负责了其中的哪模块?
这个时候我们就需要分维度的去阐述自己的一个内容。一般来说,我们参与系统的一个研发,往往会承担这三个角色中的一个。第一个是最最普通的一个一线的研发。第二个是我们对某一个系统已经承担了系统负责人的角色。最后我们是对整套流程所做设计的一个架构师。
我们接下来就来看一下这三个维度我们分别应该如何阐述。
普通一线研发
如果我是一个普通的一线研发,我们的面试官往往会对一线研发的要求是,你可以快速地理解需求,并且产出符合质量的一个代码,并且可以做对应的一个单元测试,快速的上线。
因此,你在回答你是普通一线研发的同时,是需要告诉面试官说,我在整个的过程当中是如何快速的生产代码,并且保证我上线质量的。
系统负责人
当你是一个系统负责人的角色的时候,你除了要完成一线研发相关的一些任务和质量之外,你还需要对你负责的这个系统的边界职责是否足够的清晰。
好比我们刚才所说的商品系统的领域模型,它其实和交易系统的一个边界是非常清晰的,并且可以模型的维度提供出去你这个系统相关的一些能力。
同时你需要去思考系统的一个稳定性,比如在你整个的这个系统里边,无论是商品的哪一个模型、哪一个接口,它都共用了一些数据库的连接池、缓存的连接池,以及它整个的一个系统的监控报警做的是否完善,我们有没有做服务限流,保证一个高可用性。
架构师
当你是一个架构师的场景的时候,你需要明白的是我在整个链路当中,我设计的这条链路在整个的电商的场景当中是处于什么样的位置,以及它的一个未来的扩展性是怎么样的。
并且我作为架构师以什么样的策略、如何去发现系统的瓶颈并且快速解决,是我自己所需要去思考的一个能力。
一般来说,架构师处于整个的一个电商系统的一个核心的位置,它需要去思考的是我每一个系统的边界,以及如何复用现在商品和交易系统的能力,满足更多的一些营销类的需求,并且我可以通过压测这样的手段快速的发现系统的瓶颈,并且快速的给出系统负责人对应的方案去做解决。