Interview preparation-- manager

书籍:
-《管理学》:https://book.douban.com/subject/1012611/
-《卓有成效的管理者》:https://book.douban.com/subject/25850098/
-《人性的弱点》:https://book.douban.com/subject/1391399/

管理的目的
  • 管理的目的,在有限的条件下,如何通过合理的组织和配置人,财,物等因素来提高生产力水平。管理是从资源到价值的转换
敏捷开发流程
  • 需求规划和分期 : 确定当前版本的一个大概范围
  • 需求评审
  • 需求讲解 : 确定当前版本的优先级,最后交付时间
  • 方案评审 : 依据需求给出实现方案,依据确定的方案给出工作量,具体到每个人的工作量排期
  • 每日晨会:开发阶段,每日信息统计,昨天完成,今天完成,是否阻碍,是否需求支援
  • 性能测试 & 过测试用例:完成开发后,研发自己完成自测,并且依据测试用例完成第一轮测试
  • codeReview:leader完成组内成员的codeReview,或者交叉codeReview
  • 测试阶段:测试完成边界测试,回归测试,功能测试用例由测试提供具体测试由开发自己完成
  • 全民体验:上线后所有参与开发的完成新功能体验,体验问题落到每个环节的具体负责人
  • 线上bug修改流程:体验问题& 线上问题修改,测试回归,重新发代码
项目管理中,针对项目优化方法
  • 风险管控:
    • PM应该能提前识别和管理项目的风险点减少项目延期,减少成本增加等问题。
  • 敏捷方法:
    • 敏捷开发的方法论:Scrum,XP,Kanban等
  • 经验积累:
    • PM应该整理&记录成功失败项目的案例,在之后的项目中可以更好的有一个参照对应来解决问题
  • 过程改进:
    • 项目执行过程中不断过程改进,识别问题和瓶劲,找到改进方法,提高项目效率&质量。方法论:Lean,Six Sigma等
  • 自动化工具:
    • 利用自动化工具提升效率和质量,例如自动化测试,CI/CD,DevOps等。
服务拆分原则
  • 拆分的大方向在于:如果一个服务中的模块可以不依赖或者极少依赖外部其他服务,那么他就有独立业务的可能性

  • 基本原则:

    • 首先以业务模型为切入点:比如动态,关注,用户信息,广告投放,都是可以作为单一任务来完成
    • 单一职责原则,高内聚低耦合,简单说就是每一个类型的服务对应自己的一个数据库
    • 服务力度适中:不能太细例如一个接口一个服务这种极端情况
    • 演进式拆分:比如项目刚启动时候,并不需要做过多的拆分而是随着项目的迭代而逐步优化拆分
    • 避免循环依赖& 双向依赖:尽可能的不要让服务之间产生循环依赖
  • 循环依赖问题:

    • 需循环依赖导致服务功能不内聚,耦合严重,导致研发效率低,比如,A,B互相依赖,那么每次发布A都需要对B也部署,同时升级了A或者改进了接口,B也要回归测试,浪费了测试资源
    • 增加系统复杂性,容易出错:一些线上操作升级也会变得更复杂
    • 系统扩展性受限制:比如我A服务需要扩容,需要考虑B服务的承载能力,这样只能同时扩容B导致工作量上升,业务也一样,如果A中业务发展更快,要支持更多场景,就必须考虑新业务和这些依赖的应用是否兼容,增减了研发成本,不利于业务扩展。
服务高可用手段
  • 服务集群部署:利用冗余服务的方式来提高系统的可用性
  • 服务注册发现:利用注册发现来实现服务之间动态调用以及负载均衡
  • 服务负载均衡:通过软件负载均衡Nginx,或者硬件负载均衡F5来做到多节点共同提供服务
  • 服务容错&降级:微服务中网络是不可靠的,所以可以通过超时控制,熔断,降级等策略来提供服务整体可用性
  • 服务监控&预警:多微服务中各个节点的机器情况进行监控,保障服务稳定性,包括日志,机器负载,链路追踪等
  • 自动化运维:可以快速的横向扩展,升级,从而提升可用性,可靠性
  • 异地多活 & 异地双活:异地部署第一能规避异地用户访问时候因为路由转发造成的延迟问题,同时异地部署做灾备提升系统高可用
详细设计文档
  • 系统架构设计:对整体架构的一个描述,以及架构设计图,包括系统模块划分,模块之间的关系,模块功能和需要的接口(功能)
  • 数据库设计:针对功能设计的数据库表,字段,索引,同时还有数据库的备份,恢复,性能优化策略
  • 系统流程设计:业务流程图,流程步骤,每一个步骤需要的数据
  • 系统的界面:
  • 系统安全性设计:包括用户身份认证,访问控制,数据的加密规则,防止攻击和恶意操作
  • 系统性能设计:包括性能优化,响应时间,并发性能,负载均衡,防止攻击和恶意操作
  • 系统测试设计:测试方法,计划,测试用例,测试环境,测试数据
  • 系统部署设计:包括部署策略,服务器配置,部署方式,运维策略,日志管理
  • 系统监控设计:包括针对日志异常信息的监控,全链路追踪,mysql数据库曼查询以及死锁监控,服务器资源监控包括磁盘,cpu,内存等。
线上问题紧急处理方式:
  • 数据库连接池调整:当数据库连接数过高时,可以通过调整数据库连接池的大小来缓解问题。可以根据当前系统负载情况,增加或减少连接池的大小,以避免因数据库连接数过多而导致的性能问题。

  • 增加系统资源:如果系统资源不足,可以考虑增加系统资源,例如增加机器数量、增加内存、调整 CPU 分配等。这些操作可以提高系统的性能和吞吐量,缓解系统瓶颈问题。

  • 修改配置文件:当系统出现异常时,可以尝试修改配置文件来缓解问题。例如,可以通过修改线程池大小、调整超时时间等方式,缓解系统中的性能问题。

  • 代码回滚:如果问题是由于代码更新引起的,可以考虑进行代码回滚操作。回滚到之前的版本,可以让系统恢复到正常状态,等待问题的深入分析和解决。

  • 开启缓存:如果系统出现性能问题,可以考虑开启缓存机制,缓存一些频繁访问的数据或结果,以提高系统的响应速度。

  • 提前配置熔断降级:利用sentinel等类似组件来提前配置号熔断降级方式,通过降级后返回兜底数据的方式来避免异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值