8年,双非一本,车企区块链项目(溯源、NFT商城-订单)¶
面试者背景¶
:::warning 8年,双非一本,非科班,车企区块链项目(溯源、NFT商城-订单)
车企为啥会有区块链项目?有自己链么?有
这两个项目都做了多久?NFT 1年,溯源 2年,合约是自己写的吗?直接用的。
项目有啥亮点么?没亮点干了2年?分布式项目么?架构介绍下。
定时任务为啥单独搞个服务?xxl-job分片任务的实现原理?
多节点同时执行如何避免并发问题?分布式锁?如何避免状态不重复?能做优化么?
Xxl-job如何避免多个节点同时执行同一个任务?怎么加的锁?该状态?
NFT项目上线了么,现在还能访问么?主要卖啥?最多的藏品发行了多少份?
藏品还有哪些功能?转增,空投,空投你做了?订单量有多少?
项目的技术栈?spring cloud Alibaba**, **
下单这部分有啥亮点吗?流量集中,有并发问题。QPS最高有多少?6000 QPS,商品详情接口。
下单的QPS? 1000,单个商品最高多少?
下单这部分你觉得有瓶颈么?redis预扣减+数据库扣减,为啥不直接扣数据库。
最开始就是这个方案么?这不是过度设计么?为啥数据库热点行扛不住?加行锁,慢。两次扣减不更慢么?redis扣减完就创建订单,再发MQ,数据库再扣减。
Redis扣减成功,但是订单没创建成功怎么办?订单实际创建成功但是返回给你失败了怎么办?
超卖怎么解决?redis的库存和数据库库存的一致性怎么确保?
旁路验证是什么介绍一下?库存扣减流水,对比。如果对比不一致,怎么办。
Redis中的流水是如何设计的?key:事件类型+幂等号(uuid?),value:
怎么保证redis的流水写入成功?lua脚本,
有什么情况会需要加库存的么?业务一般不加库存,哪些异常情况会调加库存方法?关单的时候,取消订单时候。
用户取消订单流程,数据一致性方案?关单并发加分布式锁,检查流水,加库存。
介绍下事务消息的原理?本地事务。还没来得及发第二个半消息,挂了怎么办?回查
RocketMQ要实现事务消息,需要哪些配置和代码?本地事务监听器?
分布式锁怎么实现的?redisson,tryLock,有啥好处。
介绍下订单表是怎么设计的?订单号、买卖家id、商品id、快照、金额、数量、支付单号???状态怎么设计的。(INIT CONFIRM TIMEOUT CLOSED PAID),退款怎么办?
Confirm状态,同时来了TIMEOUT和PAID的操作,怎么避免出问题?怎么检测状态?SQL 中加当前转态
支付成功之后都需要干啥。发藏品、订单状态。藏品的序列号如何生成的?提前生成好。为啥要这么做?
项目做过压测么?介绍下。单机800。压测都关注哪些指标?RT、错误率、CPU、内存。
CPU、load什么范围算正常?
限流做过么?技术选型做过?考虑哪些因素?学习成本、社区&支持、性能、
AI接触过么?用过哪个AI编程工具?TRAE,cursor。知道代码补全的原理是啥么?什么是大模型,大在哪里?数据集,成本大,
:::
题目解析¶
:::color4 定时任务为啥单独搞个服务?xxl-job分片任务的实现原理?
多节点同时执行如何避免并发问题?分布式锁?如何避免状态不重复?能做优化么?
Xxl-job如何避免多个节点同时执行同一个任务?怎么加的锁?该状态?
:::
:::color4 NFT项目上线了么,现在还能访问么?主要卖啥?最多的藏品发行了多少份?
藏品还有哪些功能?转增,空投,空投你做了?订单量有多少?
**项目的技术栈?spring cloud Alibaba, **
:::
他这个是包装的我的数藏项目,具体介绍如下:
[[20_🧣🧣🧣项目实战课介绍&老用户福利]]
:::color4 下单这部分有啥亮点吗?流量集中,有并发问题。QPS最高有多少?6000 QPS,商品详情接口。
下单的QPS? 1000,单个商品最高多少?
下单这部分你觉得有瓶颈么?redis预扣减+数据库扣减,为啥不直接扣数据库。
最开始就是这个方案么?这不是过度设计么?为啥数据库热点行扛不住?加行锁,慢。两次扣减不更慢么?redis扣减完就创建订单,再发MQ,数据库再扣减。
Redis扣减成功,但是订单没创建成功怎么办?订单实际创建成功但是返回给你失败了怎么办?
超卖怎么解决?redis的库存和数据库库存的一致性怎么确保?
:::
其他的几个问题,很难通过八股来讲清楚,在项目课中有具体方案落地。
:::color4 旁路验证是什么介绍一下?库存扣减流水,对比。如果对比不一致,怎么办。
Redis中的流水是如何设计的?key:事件类型+幂等号(uuid?),value:
怎么保证redis的流水写入成功?lua脚本,
有什么情况会需要加库存的么?业务一般不加库存,哪些异常情况会调加库存方法?关单的时候,取消订单时候。
:::
:::color4 用户取消订单流程,数据一致性方案?关单并发加分布式锁,检查流水,加库存。
介绍下事务消息的原理?本地事务。还没来得及发第二个半消息,挂了怎么办?回查
RocketMQ要实现事务消息,需要哪些配置和代码?本地事务监听器?
:::
:::color4 分布式锁怎么实现的?redisson,tryLock,有啥好处。
:::
:::color4 介绍下订单表是怎么设计的?订单号、买卖家id、商品id、快照、金额、数量、支付单号???状态怎么设计的。(INIT CONFIRM TIMEOUT CLOSED PAID),退款怎么办?
Confirm状态,同时来了TIMEOUT和PAID的操作,怎么避免出问题?怎么检测状态?SQL 中加当前转态
支付成功之后都需要干啥。发藏品、订单状态。藏品的序列号如何生成的?提前生成好。为啥要这么做?
:::
项目问题。
:::color4 项目做过压测么?介绍下。单机800。压测都关注哪些指标?RT、错误率、CPU、内存。
CPU、load什么范围算正常?
限流做过么?技术选型做过?考虑哪些因素?学习成本、社区&支持、性能、
:::
:::color4 AI接触过么?用过哪个AI编程工具?TRAE,cursor。知道代码补全的原理是啥么?什么是大模型,大在哪里?数据集,成本大,
:::