哪些网站需要大量资深工程师开发

先出一道题考考你:下列哪个网站目前不需要大量顶尖高手开发A.淘宝网B.FacebookC.何问起D.百度答案:http://hovertree.com/tiku/bjaf/861yt2f7.ht

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

先出一道题考考你:

 










 

你觉得怎么样呢?这道题是不是很简单。

那么问题来了,为什么很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发?

就拿淘宝来说说,当作给新人一些科普。

想看看何问起网站的请访问:http://hovertree.com/

先说你看到的页面上,最重要的几个:
【搜索商品】——这个功能,如果你有几千条商品,完全可以用select * from tableXX where title like %XX%这样的操作来搞定。但是——当你有10000000000(一百亿)条商品的时候,任何一个数据库都无法存放了,请问你怎么搜索?这里需要用到分布式的数据存储方案,另外这个搜索也不可能直接从数据库里来取数据,必然要用到搜索引擎(简单来说搜索引擎更快)。好,能搜出商品了,是否大功告成可以啵一个了呢?早着呢,谁家的商品出现在第一页?这里需要用到巨复杂的排序算法。要是再根据你的购买行为做一些个性化的推荐——这够一帮牛叉的算法工程师奋斗终生了。

【商品详情】——就是搜索完毕,看到你感兴趣的,点击查看商品的页面,这个页面有商品的属性、详细描述、评价、卖家信息等等,这个页面的每天展示次数在30亿以上,同样的道理,如果你做一个网站每天有10个人访问,你丝毫感觉不到服务器的压力,但是30亿,要解决的问题就多了去了。首先,这些请求不能直接压到数据库上,任何单机或分布式的数据库,承受30亿每天的压力,都将崩溃到完全没有幸福感,这种情况下要用到的技术就是大规模的分布式缓存,所有的卖家信息、评价信息、商品描述都是从缓存里面来取到的,甚至更加极致的一点“商品的浏览量”这个信息,每打开页面一次都要刷新,你猜能够从缓存里面来取吗?淘宝做到了,整个商品的详情都在缓存里面。

【商品图片】——一个商品有5个图片,商品描述里面有更多图片,你猜淘宝有多少张图片要存储?100亿以上。这么多图片要是在你的硬盘里面,你怎么去查找其中的一张?要是你的同学想拷贝你的图片,你需要他准备多少块硬盘?你需要配置多少大的带宽?你们的网卡是否能够承受?你需要多长时间拷贝给他?这样的规模,很不幸市面上已经没有任何商业的解决方案,最终我们必须自己来开发一套存储系统,如果你听说过google的GFS,我们跟他类似,叫TFS。顺便说一下,腾讯也有这样的一套,也叫TFS。

【广告系统】——淘宝上有很多广告,什么,你不知道?那说明我们的广告做的还不错,居然很多人不认为它是广告,卖家怎么出价去买淘宝的广告位?广告怎么展示?怎么查看广告效果?这又是一套算法精奇的系统。

【BOSS系统】——淘宝的工作人员怎么去管理这么庞大的一个系统,例如某时刻突然宣布某位作家的作品全部从淘宝消失,从数据库到搜索引擎到广告系统,里面的相关数据在几分钟内全部消失,这又需要一个牛叉的后台支撑系统。

【运维体系】——支持这么庞大的一个网站,你猜需要多少台服务器?几千台?那是零头。这么多服务器,上面部署什么操作系统,操作系统的内核能否优化?Java虚拟机能否优化?通信模块有没有榨取性能的空间?软件怎么部署上去?出了问题怎么回滚?你装过操作系统吧,优化过吧,被360坑过没,崩溃过没?这里面又有很多门道。

不再多写了,除了上面提到的这些,还有很多很多需要做的技术,当然并不是这些东西有多么高不可攀,任何复杂的庞大的东西都是从小到大做起来的,里面需要牛叉到不行的大犇,也需要充满好奇心的菜鸟,最后这一句,你当我是别有用心好了。

 转自:http://hovertree.com/h/bjaf/webfuzadu.htm

推荐:http://www.cnblogs.com/roucheng/p/chengxuyuan.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120422.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月25日 下午8:00
下一篇 2021年12月25日 下午9:00


相关推荐

  • 机器人slam技术_激光二维扫描仪

    机器人slam技术_激光二维扫描仪机器人开发–二维激光SLAM介绍1SLAM简介1.1概述1.2应用1.3历史发展2SLAM中3个模块2.1前端里程计模块实现原理实现方法2.2后端优化模块2.3回环检测模块参考1SLAM简介1.1概述SLAM本质就是确定自己在哪里的哪里,如在苏州中心的正东边66米处。SLAM(SimultaneousLocalizationandMapping),也称为CML(ConcurrentMappingandLocalization),即时定位与地图构建,或并发

    2022年8月23日
    8
  • 特征值分解、奇异值分解、PCA概念整理

    特征值分解、奇异值分解、PCA概念整理本文将分别介绍特征值分解 奇异值分解 及 PCA 的相关理论概念 文章末尾将给出 Householder 矩阵变换 QR 算法求解特征值 特征向量的代码其中 特征值分解 奇异值分解的相关内容 转载自 http www cnblogs com LeftNotEasy archive 2011 01 19 svd and applications html 考虑到本文 50 以上的部分不是那个哥

    2026年3月16日
    2
  • C Enumerable 类

    C Enumerable 类Enumerable 类命名空间 nbsp System Linq 提供一组用于查询实现 IEnumerable 的对象的 static 在 VisualBasic 中为 Shared 方法 nbsp 该类中的方法提供标准查询运算符的实现 该运算符用于查询实现 IEnumerable 的数据源 nbsp 标准查询运算符是通用方法 它们遵循 LINQ LINQ 语言集成查询 Langu

    2026年3月18日
    2
  • Windows常用快捷键和常用的cmd命令(亲测用了办公效率提升明显)

    Windows常用快捷键和常用的cmd命令(亲测用了办公效率提升明显)Widows常用快捷键常用的运行窗口命令大全常用的cmd命令

    2022年7月21日
    22
  • debounce实现 js_javascript防抖函数debounce详解「建议收藏」

    debounce实现 js_javascript防抖函数debounce详解「建议收藏」定义及解读防抖函数debounce指的是某个函数在某段时间内,无论触发了多少次回调,都只执行最后一次。假如我们设置了一个等待时间3秒的函数,在这3秒内如果遇到函数调用请求就重新计时3秒,直至新的3秒内没有函数调用请求,此时执行函数,不然就以此类推重新计时。举一个小例子:假定在做公交车时,司机需等待最后一个人进入后再关门,每次新进一个人,司机就会把计时器清零并重新开始计时,重新等…

    2022年6月20日
    56
  • 数据库的简单建模

    数据库的简单建模本文关键字 数据库 建模 概念模型 逻辑模型 物理模型 使用数据库时 通常是为了支撑一个应用或一个业务场景 第一步需要做的就是要对数据库的表结构进行设计 一个完善的设计方案包括 表名 列名 数据类型 备注信息 字符编码 主键设计 表间关系 其他约束条件等 其中的难点在于如何使用数据表以及表间关系来描述出相应的功能场景 能够应对以后的各种查询需要 这对刚接触数据库的使用者来说是有些困难的 但是只要认真思考 按照步骤来操作相信最后的结果不会差

    2025年11月13日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号