阿里云网络 一面3.4 30min

一面

  1. 简单说一个项目,重点讲亮点。
  2. 亮点是区块链存储吗?
  3. 项目是一个人,还是多人合作?你是项目负责人?
  4. 你是自己写?还是有人带你写?
  5. 当你接到一个很大的项目?如何从需求转换为落地的一个plan 首先就是对整个项目有一个宏观的认识,分成大的模块。 自己对需求进行消化。 周会和小组其他人沟通对接模块对外的需求 整合上述两部分,制定一个排期。按照整个项目的时间,任务的紧急程度。 从某一个项目来说。首先就是进一步消化需求,画一个流程图。思考主要的问题以及大致上的解决方案。 设计数据库表,写代码。在这个过程及时和同学们沟通。 比如说区块链分为,区块链工具类->自己系统->日志统计分析
  6. 区块链除了消息的转发,有业务层面的东西吗?
  7. 数据在线上上链失败的场景?有哪些原因?你是怎么定位的?
  8. 第三方接口失败了。
  9. 消息队列堆积满了,要么就扩容,要么就清理文件。 1. 文件堆积,可以考虑消费的速度太小了,要不就增加消费者的数量。
  10. 消息队列服务宕机。
  11. 调用方调用失败了,调用方是不知道的。那你怎么处理数据上链失败,退回的机制是怎么做的? 数据上链的过程:先存表、上链、修改表的状态。 如果失败了,则启动定时任务定期检测对失败的数据进行上链。
  12. 消息队列是你内部的通道,还是对外使用的?
  13. 内部调第三方接口失败了,会怎么处理?为什么? 直接写入数据库失败,定时任务补偿。 为什么不考虑调用第三方也使用消息队列呢?第三方提供的是接口。
  14. 应用服务器是1台还是2台?
  15. 那你怎么保证两台数据不会对数据进行一个重复的上链? 使用分布式锁。
  16. 分布式锁怎么实现的?有没有看过redission的底层,锁的冲突怎么解决的? 使用setnx+删除key。锁续期
  17. 两台机器都要上链,一台机器拿到了锁,另一台机器怎么去知道别的机器拿到了锁,怎么去结束这个等待? 我设置了一个trylock方法。等待时间没有获取就异常。
  18. 用锁去决定。锁的主键的设计,不能有冲突?锁的key是怎么设计的? 区块链前缀+业务类型+业务key
  19. Redissionclient 有注解的方式,有使用过吗?
  20. transaction注解用过吗?注解生效的原理和机制了解吗?程序编译后的机制。 AOP
  21. service接口里的a方法加了transaction注解,b方法调用a方法(没有加事务注解)。使用b方法,那b方法里面的a方法是否还有事务。为什么事务失效了?
  22. map如何保证key是有序的? 将key抽取出来,然后对key进行排序,遍历,获取其对应的值。
  23. linkedhashmap用过吗?在哪里用的?
全部评论

相关推荐

1 21 评论
分享
牛客网
牛客企业服务