• 面试打底稿⑥ 项目一的第二部分


    简历原文

    抽查部分

    • 计算运费模块板块扩展性优化,采用责任链模式,实现不同地区间寄件的运费模板扩展的优化,为模块解耦,提高了系统的扩展性
    • 短信模块设计,设计了短信发送数据模板的数据化存储,规范了发送短信的流程

    模拟问答

    1.你们运费模板是用来做什么的?责任链模式是什么?

    我们的运费模板是用来在不同寄送范围下分类计算运费。比如同城寄和省内寄是不一样的收费模式。

    因为运费需要根据订单起点、终点的所在城市、省份等确定,所以写在服务层的查询代码会比较臃肿,我们可以使用抽象类将这些模板的共性抽取出来,定义好处理本节点和下一个节点的方法;再用@Order注解编辑顺序,最后组装成链,这样不仅使代码更优美,实际上的添加模板、修改顺序的操作也更加方便了。这就是责任链模式,用抽象类共性,然后组装成链。

    2.你是如何设计短信发送流程的?

    调用阿里云的短信api,要传4个参数:接收的手机号码、短信签名、模板号、短信中的变量与对应的值。

    于是,我们把短信发送流程规范化。短信签名、模板号分类为短信模板,单独设计一张 表存储不同模板;手机号码、短信中的变量属于短信信息,又放另外一张表存储。

    此外,我们还提供了短信类型、内容类型的不同扩展功能,例如短信类型可以分为验证与通知,内容类型可以分为文字版和语音版。

    我们还可以设计扩展记录传入不同微服务的名称,具体追踪是哪个微服务调用的这个短信微服务的接口,方便错误追踪等。

  • 相关阅读:
    JavaScript 中 数组(Array)的 pop/push, shift/unshift 方法以及性能比较
    1.13 函数(一)(Python)
    力扣 atoi C++判断int类型变量溢出
    [面试爱问] https 的s是什么意思,有什么作用?
    SSM应用程序启动流程
    div中的两个元素怎么实现上下排列
    Vue详解知识概括
    17.Tensor Product Spaces
    Android OpenGL ES 3.0 粒子特效
    程序员35岁之后不写程序了,该怎样职业规划?
  • 原文地址:https://blog.csdn.net/m0_46948660/article/details/133434092