问题1
请从灵活性、可扩展性、性能三个方面,分析面向对象和基于规则架构风格的区别?
解析:
灵活性,面向对象的对象和规则是封装在一起的,不能灵活组装,基于规则是定义规则,可以灵活组装适配。
可扩展性,面向对象每次新增规则则需要新增对象和规则,重启系统才能生效。基于规则可以动态的新增一组新的规则,可扩展性好。
性能,面向对象的对象和规则在一起,性能更好。基于规则的是需要解析规则,性能差点。
问题2
运维团队发现某些情况,如果大量的key设置了相同的过期时间,导致缓存在同一时间key同时失效,或者瞬间产生对缓存系统不存在key的大量访问,或者缓存系统重启等原因,都会造成服务器瞬间请求爆量,造成整个系统崩溃。请给出两个不同思路解决。
解析:
1给key设置随机过期时间。
2设置排他锁,防止过多的key访问数据库。
问题3:
数据流图和系统流程图的区别?
解析:
数据流图可以表示并行,系统流程图针对单一节点。
数据流图不同的功能可以采用不同的计时,系统流程图统一的计时。
数据流程图描述的是数据流,系统流程图是描述控制流。