摘要:
2014-04-24 23:15题目:你有一段程序,运行了十次每次都在不同的地方崩掉了。已知这段程序只用了标准C或C++库函数,请问有什么思路来找出问题所在。解法:1. 时间戳每次都不同。2. 随机变量每次都不同。3. 局部变量的初值,每次可能不同,不过就算没初始化,很多时候那个无效值其实也是固定的... 阅读全文
posted @ 2014-04-24 23:26
zhuli19901106
阅读(192)
评论(0)
推荐(0)
摘要:
2014-04-24 23:10题目:找出下面代码里的错误。解法:请看下面。代码: 1 // 12.1 What's wrong with the following code segment? 2 #include 3 using namespace std; 4 5 // unsigned ... 阅读全文
posted @ 2014-04-24 23:14
zhuli19901106
阅读(182)
评论(0)
推荐(0)
摘要:
2014-04-24 22:06题目:搜索引擎问题,如果有一列100台服务器的集群,用来响应查询请求,你要如何设计query分发和cache策略?解法:query分发可以用计算数字签名并对机器数取模来确定分发到的目标机器。当然这个和hash一样,会存在冲突和故障的情况,需要额外处理。至于cache策... 阅读全文
posted @ 2014-04-24 22:12
zhuli19901106
阅读(183)
评论(0)
推荐(0)
摘要:
2014-04-24 22:01题目:你有10亿条url,怎么检测其中时候有重复呢?解法:Hash,算签名,然后用K-V数据库保存数据查重。代码:1 // 10.6 You have 10 billion URLs, how would you do to detect duplicates in ... 阅读全文
posted @ 2014-04-24 22:04
zhuli19901106
阅读(162)
评论(0)
推荐(0)
摘要:
2014-04-24 21:52题目:如果你要设计一个网络爬虫,如何避免进入抓取死循环?解法:对网址做格式归一化,重复检测。设计一个碰撞率尽量低的签名算法,对每次抓取了的网址计算签名并保存入库。一个正常网站中的超链接会有大量有向的环路(没有环路就代表你无法通过点击链接的方式回到之前访问过的地方,这肯... 阅读全文
posted @ 2014-04-24 21:59
zhuli19901106
阅读(203)
评论(0)
推荐(0)
摘要:
2014-04-24 21:26题目:有一列数,范围全部在1~N之间,保证所有1~N之间的数字都会出现。如果你有4KB的内存,并且知道N最多是32000。请设计方法,找出N,并打印出所有有重复的数字。解法:既然是“重复”,那就可以用位向量了。再考察N的范围,4KB内存有32768个位,足以容下至多3... 阅读全文
posted @ 2014-04-24 21:51
zhuli19901106
阅读(153)
评论(0)
推荐(0)
摘要:
2014-04-24 21:06题目:假设你有40亿个不重复的非负整数存在一个文件里,1GB的内存。你要如何找出一个文件中不包含的整数呢?如果是10亿个整数,10MB内存又该如何?解法:前者内存充足,可以直接用一个位向量来标记整数的出现情况,然后顺序扫描找出第一个没出现过的数字。后者内存不足,可以把... 阅读全文
posted @ 2014-04-24 21:26
zhuli19901106
阅读(217)
评论(0)
推荐(0)
摘要:
2014-04-24 20:44题目:对于Facebook、Linkedin这样的社交网站,你要如何设计一个数据结构来表示用户之间的关系呢?比如两个用户互为2nd-degree connection。你要如何设计算法来找出他们之间的联系路径呢?解法:显然,社交网络的数据是平方级别的,因为任何人的联系... 阅读全文
posted @ 2014-04-24 21:06
zhuli19901106
阅读(190)
评论(0)
推荐(0)
摘要:
2014-04-24 00:38题目:加入你要设计一个服务,供至多1000个client查询每日股票的最高、最低、开盘、收盘价,请描述你要如何设计这个服务。解法:可以用SQL数据库组织,也可以用K-V数据库来提供更高性能。如果股票数量相对不大,还可以用XML文件组织数据。在百度里搜“BIDU”,或在... 阅读全文
posted @ 2014-04-24 05:04
zhuli19901106
阅读(194)
评论(0)
推荐(0)
摘要:
2014-04-24 00:05题目:用拉链法设计一个哈希表。解法:一个简单的哈希表,就看成一个数组就好了,每个元素是一个桶,用来放入元素。当有多个元素落入同一个桶的时候,就用链表把它们连起来。由元素值到哈希值的映射就是哈希函数了。代码: 1 // 8.10 Design a hash table... 阅读全文
posted @ 2014-04-24 00:15
zhuli19901106
阅读(278)
评论(0)
推荐(0)
摘要:
2014-04-23 23:57题目:如何设计一个内存文件系统,如果可以的话,附上一些代码示例。解法:很遗憾,对我来说不可以。完全没有相关经验,所以实在无从入手。这题目应该和工作经验相关吧?代码:1 // 8.9 How would you design an in-memory file syst... 阅读全文
posted @ 2014-04-24 00:05
zhuli19901106
阅读(169)
评论(0)
推荐(0)


浙公网安备 33010602011771号