1、不用大于小于、IF等等算出两值谁大谁小
Max=(a+b+|a-b|)/2;
Min=(a+b-|a-b|)/2;
2、 python堆栈溢出
死递归或者是递归层数太深 >>> ①、 调用sys.setrecursionlimit调整栈的大小;②、使用“尾递归+生成器”彻底解决堆栈溢出
3、线程安全
确保在多条线程访问的时候,程序和数据还能按照预期的行为去执行(修改同一数据时) >>> 使用锁机制
4、垃圾回收机制
- 引用计数为主,标记-清除、分代回收为辅
- 引用计数指对象每被引用一次计数加一,删除一次引用减一,计数为0则被回收,出现循环引用时无法被回收,因此引入标记清除和隔代回收两种机制
- 标记清除指活动的对象被标记,不会被回收,没标记则被回收
- 隔代回收有0、1、2三代链,每链有回收阈值(gc模块可设置): 0代触发则三代全回收;1代触发则回收1,2代;3代触发则回收3代
5、URL去重
1.将访问过的ur保存到数据库中 ×
2.将访问过的ur保存到set(集合)中,只需要O(1)的代价就可以查询url
100000002byte50个字符/1024/1024/1024=9G
3.url经过md5等方法哈希后保存到set(或者Redis中)中
4. bloomfilter方法对 bitmap进行改进,多重hash函数降低冲突
6、淘宝的推荐算法
用户纬度 就是购买和浏览行为(多维)相似进行推荐
内容纬度 是购买内容和东西的内容相似度进行推荐
除了这两个还有初始的热门推荐
前期少量样本的类别相关推荐
同时也会挖掘出来很多的隐类 然后根据隐类进行推荐
