一道系统设计面试题
10922
一道系统设计面试题
给一些文本文件 (csv format), 里面存的信息是:
Paper, Year, Authors
paper_name_1, 1990, John, Tom, Alice
paper_name_2, 1998, Bob, Alice
paper_name_3, 2001, John, Tom,
paper_name_4, 2010, Tom, Bob
备注 :
paper_name_x 是一个只有英文字母和空格的字符串。
每个文件大小 1GB., 总共有 1000 个这样的文件。
请问, 如何得到下面的输出:
Author, papers
John: paper_name_1 | paper_name_3
Alice: paper_name_1 | paper_name_2
Tom: paper_name_1| paper_name_3|paper_name_4
Bob: paper_name_2|paper_name_4
假设计算机内存很小, 每次只能 处理一个文件。
如果需要用多台计算机处理, 如何设计这个系统 ?
follow up :
如果需要经常运行下面的 query:
Given a person's name, find the papers with him or her as one of the authors
应该如何设计 ?
谢谢
给一些文本文件 (csv format), 里面存的信息是:
Paper, Year, Authors
paper_name_1, 1990, John, Tom, Alice
paper_name_2, 1998, Bob, Alice
paper_name_3, 2001, John, Tom,
paper_name_4, 2010, Tom, Bob
备注 :
paper_name_x 是一个只有英文字母和空格的字符串。
每个文件大小 1GB., 总共有 1000 个这样的文件。
请问, 如何得到下面的输出:
Author, papers
John: paper_name_1 | paper_name_3
Alice: paper_name_1 | paper_name_2
Tom: paper_name_1| paper_name_3|paper_name_4
Bob: paper_name_2|paper_name_4
假设计算机内存很小, 每次只能 处理一个文件。
如果需要用多台计算机处理, 如何设计这个系统 ?
follow up :
如果需要经常运行下面的 query:
Given a person's name, find the papers with him or her as one of the authors
应该如何设计 ?
谢谢
- 8
2条回复