2013-04-18 67 views
-2

這是我的一個java面試問題...什麼樣的數據結構被用來實現Facebook的帖子和評論?

我被問到你將使用哪種數據結構來實現Facebook發佈內容和評論?

我很想聽聽所有成員的觀點....

+0

點擊[這裏](http://stackoverflow.com/questions/7487476/facebook-like-data-structure) – Hemanth

+0

這篇文章主要討論如何將數據存儲在數據庫中......我更關心如何以編程方式你可以代表數據,以便它可以更優化.... – user1631651

回答

0

這的確是更多的數據庫的任務(注意是多麼複雜的下方,相比於this(因爲所有的下面是照顧與正確的索引適當的數據庫)),但...

注意我假設只有帖子可以被喜歡和評論是一個職位。

帖子:

帖子大概可以一個地圖後ID的發佈對象

如果您想查看用戶創建的帖子列表,您還需要a用戶ID映射到一組帖子ID

喜歡:

你想快速得到平均每個職位喜歡的數量,看看用戶是否喜歡一個帖子,所以一個地圖後ID給一組用戶ID的那些誰喜歡的它。

如果您還想快速查看用戶喜歡哪些內容,則需要另一個數據結構 - a將用戶ID映射到一組帖子ID已贊。

評論:

評論或許可以一個地圖註釋ID的評論對象。連接的職位ID將存儲在評論對象中。

您想快速獲得每條信息的評論,所以a將帖子ID映射到一組評論ID

如果您還想快速查看用戶發表的評論列表,您需要另一個數據結構 - a用戶標識映射到一組評論標識

相關問題