摘要: 上一篇文章分析了互联网的总体构思,从下至上,每一层协议的设计思想。这是从设计者的角度看问题,今天我想切换到用户的角度,看看用户是如何从上至下,与这些协议互动的。==============================================================互联网协议入门(... 阅读全文
posted @ 2015-04-23 19:55 Jessica程序猿 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为”互联网协议”(Internet Protocol Su... 阅读全文
posted @ 2015-04-23 19:54 Jessica程序猿 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 题目你有10亿个url,每个url对应一个非常大的网页。你怎么检测重复的网页?解答网页大,数量多,要把它们载入内存是不现实的。 因此我们需要一个更简短的方式来表示这些网页。而hash表正是干这事的。 我们将网页内容做哈希,而不是url,这里不同url可能对应相同的网页内容。将每个网页转换为一个哈希值... 阅读全文
posted @ 2015-04-23 10:17 Jessica程序猿 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 题目有一个数组,里面的数在1到N之间,N最大为32000.数组中可能有重复的元素(即有的元素 存在2份),你并不知道N是多少。给你4KB的内存,你怎么把数组中重复的元素打印出来。解答我们有4KB的内存,一共有4 * 210* 8位,大于32000,所以我们可以用Bit Map 来做这道题目。题目很简... 阅读全文
posted @ 2015-04-23 09:42 Jessica程序猿 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 题目给你一个文件,里面包含40亿个整数,写一个算法找出该文件中不包含的一个整数, 假设你有1GB内存可用。如果你只有10MB的内存呢?解答我们先来做个算术题,40亿个整数大概有多大?40 * 10^8 * 4B = 16GB (大约值,因为不是按照2的幂来做单位换算)这个明显无法一次性装入内存中。但... 阅读全文
posted @ 2015-04-23 09:18 Jessica程序猿 阅读(308) 评论(0) 推荐(0) 编辑