0%

项目介绍之亮点与难点

面试中对于项目考察,通常会询问项目中的亮点已经难点。这其实是考察对工作熟悉以及发现并解决问题能力,还有总结归纳的能力。

1.项目亮点

采用了哪种技术方案,达成了什么样的效果。新方案的优劣势如何?

比如:

  • 针对复杂业务根据模块拆分从而更加灵活
  • 改为无状态服务解耦
  • 采用订阅发布模型集中维护数据流向,结偶并提升容错和可维护性
  • 采用了统一网关进行链路追踪方便问题定位以及集中化配置
  • 采用配置中心提供即时生效的配置更新与完善的权限控制
  • 统一日志采集提供快速问题定位
  • 告警系统提供实时邮件提醒
  • ……

2.项目难点

遇到了什么棘手的问题,如何分析定位问题?如果解决?

比如:

  • 由于MQ失败重试导致的数据错误

    由于MQ一般不会无限重试,所以在对于错误消息会设置延迟重试。此时存在一个问题:如果A,B两笔数据存在依赖关系。这将导致数据不一致。后续我们采用error-callback对于错误数据进行异步修复,并对修复数据集进行监控。

  • JVM方法区OOM

    由于读取配置文件解析时使用的序列化工具内部采用ASM技术动态生成。导致大量Class被加载,最终导致OOM。后续优化方案:配置无需多次加载,对配置进行缓存即可。

  • DNS导致HBase Region不可用

    DNS服务中存在冲突配置导致RegionServer连接异常。排查解决冲突。

  • ……

总结

对于项目面试,首先对项目有自己的认识靠清楚几个问题:

  • 是解决什么问题的?
  • 是如何解决的?
  • 解决过程中遇到哪些问题?
  • 问题产生的原因是什么?
  • 如果解决遇到问题的?
  • 为什么这样解决?
  • 如何减少问题发生的?
  • 有哪些调优的经验?