面试题
代码学习
代码
展开
-
几道JAVA和分布式系统面试题总结
https://blog.csdn.net/yzhou86/article/details/78872251原创 2019-08-14 21:50:11 · 252 阅读 · 0 评论 -
如何从100万个数中找出最大的前100个数
方法一先取出前100个数,维护一个100个数的最小堆,遍历一遍剩余的元素,在此过程中维护堆就可以了。具体步骤如下:step1:取前m个元素(例如m=100),建立一个小顶堆。保持一个小顶堆得性质的步骤,运行时间为O(lgm);建立一个小顶堆运行时间为m*O(lgm)=O(m lgm);step2:顺序读取后续元素,直到结束。每次读取一个元素,如果该元素比堆顶元素小,直接丢弃,如果大于堆顶元...转载 2019-09-16 14:22:14 · 1389 阅读 · 0 评论 -
电商中怎么防止超卖问题
首先我们要知道超卖的原因是什么:超卖的原因主要是用户下的订单的数目和我们要促销的商品的数目不一致导致的,每次总是订单的数比我们的促销商品的数目要多。究其深层原因,是因为数据库底层的写操作和读操作可以同时进行,虽然写操作默认带有隐式锁(即对同一数据不能同时进行写操作)但是读操作默认是不带锁的,所以当用户1去修改库存的时候,用户2依然可以都到库存为1,所以出现了超卖现象。解决方案有以下几种:第一种...转载 2019-09-16 14:41:56 · 3884 阅读 · 0 评论