讨论两道L家的设计题# JobHunting - 待字闺中
y*s
1 楼
1. Design IP black List
- 这个题乍看一下感觉就是一个HashSet就可以解决了,最多一个HashSet放不下,就用
模除法shard到多个server,这里可以扯一下load balancer和consistent hashing啥的
。还能想到的一点改进是,如果是IPv4的话,所有的地址可以用一个1GB大小的bitmap
放下。但是在IPv6就不可以了。
不知道还有什么注意点吗?
2. Design log monitor system: 好多机器,每个都有log,内容包括exception和error
等,设计一个系统检测这些错误,然后找出之前一段时间最多的错误等。
- 这个题我觉得有点像Top K URLs。我能想到的是:在机器端,根据错误的种类,分块
LOG,比如Error_1 都放在Log_1中,Error_2都放在Log_2中。有另外的一些server,比
如Server_1从所有的机器中读取Log_1,然后汇总报告。
不知道还能改进吗?
多谢~
- 这个题乍看一下感觉就是一个HashSet就可以解决了,最多一个HashSet放不下,就用
模除法shard到多个server,这里可以扯一下load balancer和consistent hashing啥的
。还能想到的一点改进是,如果是IPv4的话,所有的地址可以用一个1GB大小的bitmap
放下。但是在IPv6就不可以了。
不知道还有什么注意点吗?
2. Design log monitor system: 好多机器,每个都有log,内容包括exception和error
等,设计一个系统检测这些错误,然后找出之前一段时间最多的错误等。
- 这个题我觉得有点像Top K URLs。我能想到的是:在机器端,根据错误的种类,分块
LOG,比如Error_1 都放在Log_1中,Error_2都放在Log_2中。有另外的一些server,比
如Server_1从所有的机器中读取Log_1,然后汇总报告。
不知道还能改进吗?
多谢~