6 胡慧超

网易 资深工程师

开放、平等、协作、分享; 现代互联网精神。

等级
TA的排名 1w+

知乎推荐系统的实践及重构之路

1、背景知乎从问答起步,已逐步成长为一个大规模的综合性知识内容平台,截止目前,用户数突破2.2亿,有超过3000万的问题被提出,并获得超过1.3亿个回答。同时,知乎内还沉淀了数量众多的优质文章、电子书以及其它付费内容。因此,在链接人与知识的路径中,知乎存在着大量的推荐场景。粗略统计,目前除了首页推荐之外,我们已存在着20多种推荐场景;并且在业务快速发展中,不断有新的推荐业务...

2019-02-21 11:07:00

Java SSM框架相关基础整理

一、Spring面试题1、Spring在ssm中起什么作用?Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:①.IOC/DI(控制反转/依赖注入):把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。②.AOP:面向切面编程2、Spring的事务?编...

2019-01-16 17:28:59

技术交流,扫描关注技术公众号!

精选各领域互联网技术,推送前后端、算法、人工智能领域优质技术文章!!本公众号由阿里、网易、美团等团队组成精选各领域互联网技术,推送前后端、算法、人工智能领域优质技术文章!!本公众号由阿里、网易、美团等团队组成。...

2018-11-20 20:40:13

分布式理论和系统架构设计

CAP理论分布式锁分布式一致性分布式事务负载均衡微服务 一 CAP和BASE理论1.1 CAP理论    分布式领域中存在CAP理论,且该理论已被证明:任何分布式系统只可同时满足两点,无法三者兼顾。很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证“最终一致性”,只要这个...

2018-08-17 11:58:36

Redis特性和性能调优

概要在分布式里面满足CP(一致性、分区容错性)。性能:对于单纯只有IO操作来说,单线程可以将速度优势发挥到最大,但是Redis也提供了一些简单的计算功能,比如排序、聚合等,对于这些操作,单线程模型实际会严重影响整体吞吐量,CPU计算过程中,整个IO调度都是被阻塞住的。一 Redis和Memcached对比1:数据类型:Memcached单个key-value大小有限,一个val...

2018-08-17 11:37:18

贝叶斯公式

贝叶斯分类 是基于朴素贝叶斯定理分类器,其计算过程是在训练阶段的时候,先计算每个分类的先验概率P(A),和各个分类下面特征属性的条件概率P(B|A)。预测的过程,反推特征-分类的条件概率(A|B)。取最大概率作为分类结果。      贝叶斯定理:已知A(分类)的条件概率,B(某个特征)在A发生后的条件概率,求A在B发生后的条件概率P(A|B)=P(B|A)*P(A)/P(B)其实...

2018-08-17 11:09:37

BST、AVL、B-TREE、B+TREE、红黑树

1:BST二叉搜索树(左子树值<=根值<=右子树)1.1定义1首先它也是一个二叉树,故满足递归定义;2其次每个节点只存在一个值;3需满足左子树值<=根值<=右子树,BST的中序遍历必定是严格递增的。在实际场景中,用的最多的是二叉平衡树,一般操作的执行时间福再度为O(lgn)。2.但若是一棵具有n个结点的线性链,则此些操作最坏情况运行时间...

2018-08-04 10:19:05

从分布式系统设计看Elasticsearch集群及数据结构

一:概述es本质上就是由分布式思想+lucene组合而成,因为lucene的存在,它比一般的分布式系统会稍微复杂一点,es采取的分布式思想是分片+副本+去中心化。es持久化的方式是:副本索引文件+translog文件,es默认配置下,为了比较好的速度,选择了性能,是可能丢数据的(5s)。redisaof是1s。和redis一样,在性能和可靠性中选择,如果选择直接写入磁盘,es写性能会损...

2018-08-04 10:02:55

倒排索引查询原理

Lucene查询过程在lucene中查询是基于segment。每个segment可以看做是一个独立的subindex,在建立索引的过程中,lucene会不断的flush内存中的数据持久化形成新的segment。多个segment也会不断的被merge成一个大的segment,在老的segment还有查询在读取的时候,不会被删除,没有被读取且被merge的segement会被删除。这个过程类似...

2018-08-03 13:58:02

倒排、空间、BTREE、HASH索引

倒排索引数据结构分为词表和倒排表两部分。词表:FST。类似于字典树(适合英文),共享前缀,内存消耗小;https://blog.csdn.net/njpjsoftdev/article/details/54015485倒排表:文档号集合。数据压缩+有序链表+跳表  https://blog.csdn.net/hu948162999/article/details/79042439 ...

2018-07-31 20:29:24

Lucene简介和索引原理

基于Lucene检索引擎我们开发了自己的全文检索系统,承担起后台PB级、万亿条数据记录的检索工作,这里向大家分享下Lucene底层原理研究和一些优化经验。   从两个方面介绍:   1.Lucene简介和索引原理   2.Lucene优化经验总结1.Lucene简介和索引原理  该部分从三方面展开:Lucene简介、索引原理、Lucene索引实现。1.1Lucene简介...

2018-07-31 20:00:59

红黑树

介绍红黑树是一个平衡的二叉树,但不是一个完美的平衡二叉树。虽然我们希望一个所有查找都能在~lgN次比较内结束,但是这样在动态插入中保持树的完美平衡代价太高,所以,我们稍微放松逛一下限制,希望找到一个能在对数时间内完成查找的数据结构。这个时候,红黑树站了出来。 阅读以下需要了解普通二叉树的插入以及删除操作。 红黑树是在普通二叉树上,对没个节点添加一个颜色属性形成的,同时整个红黑二叉树需要同时满足一下...

2018-05-31 11:27:43

美团搜索排序设计方案

一、线上篇随着业务的发展,美团的商家和团购数正在飞速增长。这一背景下,搜索排序的重要性显得更加突出:排序的优化能帮助用户更便捷地找到满足其需求的商家和团购,改进用户体验,提升转化效果。和传统网页搜索问题相比,美团的搜索排序有自身的特点——90%的交易发生在移动端。一方面,这对排序的个性化提出了更高的要求,例如在“火锅”查询下,北京五道口的火锅店A,对在五道口的用户U1来说是好的结果,对在望京的用户...

2018-05-24 16:56:14

美团旅游召回系统设计

背景美团点评作为最大的生活服务平台,有丰富的品类可供用户选择,因此搜索这个入口对各业务的重要性不言而喻,除了平台搜索外,业务搜索系统的质量和效果对用户体验、商家曝光、平台交易也有着关键作用。相对美团点评平台的O2O检索,旅游搜索系统主要面临以下几点挑战:本异地差异大。在本地生活场景中用户的搜索需求往往集中在本城市内,而在旅游场景特别是行前场景用户会先搜索异地的POI(门店),比如常驻城市为北京的用...

2018-05-24 16:54:40

如何合理的设置线程数

 一、需求缘起Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,有些业务设置为CPU核数的2倍,有些业务设置为CPU核数的8倍,有些业务设置为CPU核数的32倍。“工作线程数”的设置依据是什么,到底设置为多少能够最大化CPU性能,是本文要讨论的问题。 二、共性认知在进行进一步深入讨论之前,先以提问的方式就...

2018-04-11 14:35:55

从Elasticsearch集群及数据层架构,看分布式系统设计

分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。我们先来简单看下Elasticsearch的架构。一、Elasticsearch集群架构Elasticsearch是一个非常著名的开源搜索和分析系统,目前被广泛应用于互联网多种领域中,尤其是以下三个领域特别突...

2018-03-02 19:05:59

elasticsearch ik配置动态同义词

使用环境elasticsearch5.1.1kibana5.1.1同义词插件5.1.1安装插件下载对应的elasticsearch-analysis-dynamic-synonym-5.1.1.zip,解压到本地的elasticsearch/plugins目录下,重新启动es第一种方式本地文件说明:对于本地文件:主要通过文件的修改时间戳(Modifytime)来判断是否要重新加载在elast...

2018-03-01 18:00:25

lucene倒排索引表搜索原理

什么是正排索引?什么是倒排索引?搜索的过程是什么样的?会用到哪些算法与数据结构? 前面的内容太宏观,为了照顾大部分没有做过搜索引擎的同学,数据结构与算法部分从正排索引、倒排索引一点点开始。提问:什么是正排索引(forwardindex)?回答:由key查询实体的过程,是正排索引。用户表:t_user(uid,name,passwd,age,sex),由uid查询整行的过程,就是正排索引查...

2018-01-12 11:54:27

一致性哈希

基本场景比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache;求余算法:hash(object)%N一切都运行正常,再考虑如下的两种情况;1一个cache服务器mdown掉了(在实际

2018-01-12 11:29:57

elasticsearch总结

Elasticsearch是如何实现Master选举的?Elasticsearch的选主是ZenDiscovery模块负责的,主要包含Ping(节点之间通过这个RPC来发现彼此)和Unicast(单播模块包含一个主机列表以控制哪些节点需要ping通)这两部分;对所有可以成为master的节点(node.master:true)根据nodeId字典排序,每次选举每个节点都把自己所知道节点排

2018-01-12 08:48:41

查看更多

勋章 我的勋章
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获取