5年开发,Java后端,计费项目
:::warning 计费的项目介绍一下。实时计费。计费的主体是什么?支持多币种吗?
计费是累加的还是单条的?为啥不做成累加的?
如何避免重复计费?循环桶?雪花算法(时间+机器号+随机数)LEAF,时钟回调的问题如何解决的?
费用在数据库中什么类型存储的?bigint 单位为 分、代码中用的decimal,为什么要用decimal?
如何比较两个decimal是不是相等?0.1和0.10的equals相等吗?
为啥不用float或者double,精度问题?
计费的业务核心模型有哪些?计费单?有哪些核心的字段?计费类型、广告类型、金额、状态,
计费单的状态机的流转是怎么样的?反作弊、羊毛检测?
Tidb,数据库的锁用过吗?并发控制没有做吗?什么场景用到了redis分布式锁。幂等是如何控制的?
分布式锁如何实现?zk为什么可以实现分布式锁?
Redis和zk的分布式锁各自有什么优缺点?redis的分布式锁提前释放了怎么办?watch dog
Lua脚本能保证原子性?为什么?什么叫原子性?Lua执行到一半某个命令失败怎么办?
Redis的集群模型了解吗?有哪几种?主从、哨兵、cluster
Redis的数据分片?redis支持哪些数据类型?redis的SDS如何实现的?如何避免缓冲区溢出?
ZSET是如何实现的?跳表的查询、插入的时间复杂度是多少?
缓存穿透、雪崩、击穿问题。热key问题如何解决?二级缓存、拆分、预热。
如何实现一个”查找附近的人”的功能。GEO?
设计一个订单号的生产服务,会如何做?唯一性、自增、高可用,
唯一性如何保证?雪花。如何保证自增?如何保证高可用?主从、
什么样的架构算是好的架构?低耦合、功能性、
:::
:::color4 计费的项目介绍一下。实时计费。计费的主体是什么?支持多币种吗?
计费是累加的还是单条的?为啥不做成累加的?
如何避免重复计费?循环桶?雪花算法(时间+机器号+随机数)LEAF,时钟回调的问题如何解决的?
:::
计费业务以及业务中主要面对的问题 需要了解。
:::color4 费用在数据库中什么类型存储的?bigint 单位为 分、代码中用的decimal,为什么要用decimal?
如何比较两个decimal是不是相等?0.1和0.10的equals相等吗?
为啥不用float或者double,精度问题?
:::
不能用浮点数表示金额:https://www.yuque.com/hollis666/xkm7k3/vmrkz84g8c6ypu5s
bigdecimal比较:https://www.yuque.com/hollis666/xkm7k3/qmx8yss8tve7w73q
:::color4 计费的业务核心模型有哪些?计费单?有哪些核心的字段?计费类型、广告类型、金额、状态,
计费单的状态机的流转是怎么样的?反作弊、羊毛检测?
:::
核心的业务单据模型以及主要的状态机流转,通过这个考察一个候选人对于自己的项目的熟悉程度
https://www.yuque.com/hollis666/xkm7k3/cg7ymuivx7lyubcb
:::color4 Tidb,数据库的锁用过吗?并发控制没有做吗?什么场景用到了redis分布式锁。幂等是如何控制的?
分布式锁如何实现?zk为什么可以实现分布式锁?
Redis和zk的分布式锁各自有什么优缺点?redis的分布式锁提前释放了怎么办?watch dog
:::
redis分布式锁:https://www.yuque.com/hollis666/xkm7k3/feovxr7gr8ois5yt
:::color4 Lua脚本能保证原子性?为什么?什么叫原子性?Lua执行到一半某个命令失败怎么办?
Redis的集群模型了解吗?有哪几种?主从、哨兵、cluster
Redis的数据分片?redis支持哪些数据类型?redis的SDS如何实现的?如何避免缓冲区溢出?
ZSET是如何实现的?跳表的查询、插入的时间复杂度是多少?
缓存穿透、雪崩、击穿问题。热key问题如何解决?二级缓存、拆分、预热。
:::
lua的原子性:https://www.yuque.com/hollis666/xkm7k3/rwdgnu
redis集群模式:https://www.yuque.com/hollis666/xkm7k3/namhuv165lorwudw
zset:https://www.yuque.com/hollis666/xkm7k3/uzqztzuicddlk95c
sds:https://www.yuque.com/hollis666/xkm7k3/atppz6
穿透、雪崩、击穿:https://www.yuque.com/hollis666/xkm7k3/abfis3
热key:https://www.yuque.com/hollis666/xkm7k3/lysd3t
:::color4 如何实现一个”查找附近的人”的功能。GEO?
:::
https://www.yuque.com/hollis666/xkm7k3/ow77mcr961n4z7mg
:::color4 设计一个订单号的生产服务,会如何做?唯一性、自增、高可用,
唯一性如何保证?雪花。如何保证自增?如何保证高可用?主从、
:::
https://www.yuque.com/hollis666/xkm7k3/gg4fgfh4z1ff2qfi
https://www.yuque.com/hollis666/xkm7k3/rsocc4sd7v9i0pvc
:::color4 什么样的架构算是好的架构?低耦合、功能性、
:::
https://www.yuque.com/hollis666/xkm7k3/dcnzrznwxzv9p6bv