侧边栏壁纸
博主头像
Elltor

用心发现生活,积极面对工作、事,坚持每天让自己进步一点。

  • 累计撰写 169 篇文章
  • 累计创建 1 个标签
  • 累计收到 12 条评论
标签搜索

目 录CONTENT

文章目录

业务面试问题

Elltor
2022-03-17 / 0 评论 / 0 点赞 / 112 阅读 / 815 字 / 正在检测是否收录...

身边小伙伴经常被问到的一些问题。

1、项目怎么上线

  1. 在上线之前需要自测,自测后qa测试无问题可以进行线上数据验证(CR分支)
  2. 进行code review (变更少可以不进行),提merge request到CR分支,CR完毕部署该分支到线上让QA验证,该环境使用线上数据不对外公开
  3. QA确定线上数据验证完毕,产品验收通过,可以上线,然后在周二、周四固定时间上线
  4. 将每个模块开发的功能合并到release分支,统一晚上8:00后上线,如果新功能对产品可能造成验证影响,需要在灰度环境验证一到两周才能到线上
  5. 上线完毕后QA再次进行验证,第二天无问题,release分支合并到master分支

2、怎么参与线上问题

  1. 如果是事故级别问题,需要立即对代码进行回滚
  2. 常规问题一般先看问题的现象,如果能够通过报错信息找到问题根源就就checkout一个master进行处理并上线
  3. 如果问题比较隐蔽,优先通过日志系统排除,最后再看业务代码
  4. 处理完毕线上问题并验证后,高优缺陷当天上线,其他类缺陷可以跟着周二、周四上线

3、线上出现问题怎么回滚

  1. 回滚既部署上个版本的代码,由于我们每个上线周期都使用一个release分支,直接切换到这个分支重新部署即可。
  2. 使用公司的CI/CD系统可以方便回滚,通常配置回滚策略后可以一键回滚。
  3. 也可以手动部署上个版本的release分支进行回滚。

4、线上表结构更改怎么做(数据迁移)

  1. 由于业务优化变更导致需要修改表结构的时
  2. 通常暂时不动先不动旧表和旧业务接口,然后创建新表,实现新接口
  3. 通过灰度验证没有问题后,再进行上线,之后可以移除旧表的业务接口
  4. 过程中一般要注意新表旧表的数据同步,数据迁移时机(一般在用户少的晚上进行)

5、解决过什么线上问题

解决的问题多数为业务问题,极少部分时优化相关的。
一般的有:空指针、线程池Discard、内存溢出
优化的有:

  1. 大事务导致接口超时问题
  2. 数据同步过程,数据一致性方案。使用binlog监控兜底保证一致性(监听变更+校验)。
0

评论区