17611538698
webmaster@21cto.com

中国程序员英雄传 - 百度徐海洋访谈录(下)

CTO说 0 4274 2017-03-19 11:54:57
focus1.png


  谈到网页搜索部基础架构团队,徐海洋亲历了百度Spider整个系统的架构研发,
  除了使用了Linux的文件系统,其它的全部用C自行开发,全部是面向过程开发,甚至面向对象都没有用,目标就简洁,快。

  他全程参与了百度第一代Spider系统的设计与实现。前两年,搜索引擎的问题很多,包括BUG,性能问题,属于填坑阶段。

  在这两年中,主动发现和运行中的问题,徐海洋都逐一击破,技术就是从这些bug和问题中得来,理论永远需要实践。

  下面是百度搜索引擎的基本架构,有如下模块和子系统:
  /uploads/fox/19001525_0.jpeg
 
  百度爬虫负责发现新网站,采集抓取,接下来进行Page Rank的计算,进行正排序和倒排序。
  国内的很多网站是重复的内容,有的相当于重写,百度会将抓来的网站内容,超过90%的工作都干掉,去重等反作弊工作。
  使用PageRank算法,根据文章的原创度,相似度,来计算权重,如静态权重,倒排拉链。用户在检索时,会结合拉链倒排拉链加时间因子(根据事件)进行输出。

  百度爬虫系统在开始都是非常简单的任务,能够抓取即可,所谓『大道至简』。

  没有使用其它开源工具,主要原因是如果不能通透理解源代码,出了问题会很难处理。另外开始就选择复杂的工具,会使事情更复杂。

  以此为准则,一群优秀的工程师做出了好的搜索技术、好的基础运算工具,在整个互联网里获取和分发信息。

  关于开发者的成长
  /uploads/fox/19001525_1.jpeg
  徐海洋与周利民探讨过一个问题,那就是招聘什么样的开发者。

  周利民是被李彦宏邀请放弃UCLA的计算机博士学位, 回国加盟百度,负责百度搜索产品的技术和产品开发。百度技术部系统架构师、首席系统架构师技术委员会主席,是百度技术团队的核心成员。

  周认为编程是有天资的,先天的逻辑能力,解决问题的能力。徐根据自己的情况,认为编程是可以不断的学习,实践,也能够成为优秀的开发者。

  当然有个前提,在有充分自我认知,和对编程浓厚兴趣。不断地实践,与身边的优秀的人学习。
  在那时的百度,只有3年时间,不光是网页搜索,包括贴吧,包括和robin一起创业的郭耽应用产品部、企业相关搜索的技术方案都归徐海洋来看,来管理审核。

  关于团队管理

  与徐提到团队管理和个人成长,徐海洋引用了西游记的故事。
  唐僧在常人看来是一个没什么能力的人,但他有向有目标,能够团结人。
  八戒相貌丑陋,贪财好色、好吃懒做,遇到挫折容易动摇,但是他的优点是接地气,做为团队润滑剂,让大家感觉到快乐,有人情味,而且粗中有细。

  沙僧没有什么大抱负,默默无闻,还缺乏主见,但是忠诚可靠,任劳任怨。
  这四个人,能力最强就是孙悟空,天不怕地不怕,上看不起玉皇大帝,下看不起沙僧八戒。连唐僧也不看在眼里。
  作技术的人就像孙悟空,他认为领导无能,甚至是小白,他认为身边的两个师兄弟都是猪一样的队友,看不起,看不上。
  就像苹果公司的创始人乔布斯和史蒂夫·沃兹,沃兹是整个苹果电脑的主要设计者和开发者,而乔布斯只是个产品经理或是个商人,沃兹慢慢在心里滋生出这样的念头:整个公司的产品都是他来开发的,凭什么自己占小股份。结果在后来的几年,两个人因这样的心理,合作出现间隙。
  技术男认为自己无所不能,产品市场运营,离不开技术。而大部分意义的公司,是需要一个商业链条,技术是其中一环,就算你的技术特别强,有时候公司产品运营会慢一点,不会有太多的影响。
  就像百度、网易或今日头条这样的公司——以技术产品为驱动,到了后期,商业运营甚至还要考虑到政治因素,这些,技术男们需要修行与觉察,否则是搞不定的。
  孙悟空的能力再强,也要被观音和唐僧的紧箍咒控制,功夫再大也大不过如来的手掌。

/uploads/fox/19001525_2.jpeg
  他一路除妖降魔,披荆斩棘,却遇到了它自己,与自己长的一样的六耳弥猴。纵然你有72般变化,六耳也做得与它一般无二,似它更胜于它,这就是另一个它,一个黑悟空,消极,暴躁,自我为中心的猴子,一如每个技术『高强』的人。

  徐海洋从百度拿到了股票,并由此获取了财务自由。和很多百度初期同事一样,先后离开了百度,做自己想做的事情。

  他离开百度后,在常人眼前已财务自由的它,选择了继续追寻自己的兴趣,深造技术。他选择了毕业时没能选择的软件巨头——微软亚洲研究院从事神经网络与人工智能方面的研发和管理工作。

/uploads/fox/19001525_3.jpeg
  2015年,他与几个百度同事创业成立了K12在线教育公司,在此领域,他想为教育事业做一点事情,包括使用人工智能和推荐算法,以替代老师的一些常规工作。

  谈到21CTO社区,他也希望能更多参与进来,成为一名导师,包括自己的技术沉淀,思维方式,包括搜索、人工智能技术,以帮助更多的开发者。

  仅以此文,送给所有阅读的朋友。周末愉快。
 

作者:杜江。21CTO(21cto.com)社区创始人。多年架构与管理经验。 著有《PHP5与MySQL5 Web开发技术详解》、《PHP5完全攻略》、《PHP与MySQL高性能应用开发》(机械工业出版社出版,各大电商平台和书店有售)。


评论