云徙科技现在主要是帮一些企业开发互联网商城,比茅台等,项目的金额在1000万左右,但企业是想搭建自己的平台,建立自己的产品,通过卖产品而不是做项目的方式,但企业运营得需要钱,所以就接项目做。
面试官姓龚,是个技术负责人,公司的研发人员大概160人,其中开发人员100人左右,公司刚成立两年,去年融过A轮,最近打算与红杉融B轮,计划2022年IPO。
这位姓龚主管比较直接,进来后没叫我做自我介绍,也没从我简历上写的技术问题问起,而是直接出题。
1.用户存取款流水表,当前记录的生成,依赖于前一条数据的余额以及当前存取款操作,如何保证对该表的数据读取和插入的数据一致性。
最近我刚好在看乐观锁和悲观锁的知识,所以就给出了一个乐观锁的解决办法,就是在每条记录的后面加个版本号,如果其他依赖于该数据的插入,在插入前要做版本判断,版本一致则可以插入,版本不一致则要做自旋,重做业务,直到可以插入为止。
2.如何实现分布式事务
我的回答是通过redis保存锁,来实现分布式事务。他还问我是否了解使用zookeeper来实现分布式事务,我说不了解。
1、默认也推荐使用netty框架,还有mina。 2、默认是阻塞的,可以异步调用,没有返回值的 |