微信產(chǎn)品經(jīng)理面試題
丁香園CTO馮大輝曾發(fā)過三道產(chǎn)品經(jīng)理的面試題,題目是關(guān)于微信的,如下:
其中第二題是一道偏技術(shù)的問題,出現(xiàn)在產(chǎn)品經(jīng)理的面試中確實有點意外,但這題不失為一道很好的產(chǎn)品設(shè)計與系統(tǒng)分析的題目。系統(tǒng)分析也是我們“產(chǎn)品經(jīng)理學技術(shù)”系列文章規(guī)劃中的一個部分,也是將我們所講的技術(shù)進行“升華”的一部分內(nèi)容。
下面我們嘗試回答一下這個問題,算是拋磚引玉了,大家有好的答案也可以給我們留言進行討論。
朋友圈的基本數(shù)據(jù)結(jié)構(gòu)設(shè)計是怎樣的?既能做到完美閱讀權(quán)限設(shè)置,又能兼顧性能?
關(guān)于消息的基礎(chǔ)數(shù)據(jù),比如文字、圖片、時間、位置等這些咱就不表了。這些數(shù)據(jù)基本上與權(quán)限和性能沒有多大關(guān)系,可以理解為單獨存儲,純技術(shù)活。這里只討論權(quán)限與性能相關(guān)的數(shù)據(jù)結(jié)構(gòu)。
而在權(quán)限管理上,微信采用了給用戶打“標簽”來進行分組,這個標簽的分組與微信通訊錄一致。在數(shù)據(jù)上,就是給每個關(guān)系增加一個“標簽”標記。
這里需要注意的是,雖然微信的關(guān)系在產(chǎn)品使用上給用戶是雙向的(即互相關(guān)注),但是在存儲的時候,是給互相關(guān)的兩個用戶分別建立了關(guān)系數(shù)據(jù),也就是每個人獨有自己的一份“通訊錄”。
這通過刪除了自己的好友之后,自己并不從別人的通訊錄刪除就可以看得出來。標簽分組的基礎(chǔ)數(shù)據(jù)就是這樣了,這也是后面朋友圈權(quán)限管理的基礎(chǔ)。
對于個人朋友圈timeline所能看到的消息,按照一般的邏輯是先獲取所有朋友的消息,然后剔除掉沒有授權(quán)給自己看的消息、剔除掉自己屏蔽的用戶消息,然后才得到自己當前看到的timeline。
如果是這樣的邏輯的話,等于每次刷新朋友圈,都要跑到所有的消息池里面去找到上述通訊錄中朋友們的消息,還要對找到的每條消息去判斷用戶是否有權(quán)限閱讀。
這顯然是效率低下的方式,更何況微信是這么大的一個訪問量和數(shù)據(jù)量。所以,這種數(shù)據(jù)結(jié)構(gòu)設(shè)計是行不通的了。
【微信產(chǎn)品經(jīng)理面試題】相關(guān)文章:
最新騰訊微信產(chǎn)品經(jīng)理面試題08-30
Google產(chǎn)品經(jīng)理筆試題&面試題10-26
產(chǎn)品類面試題07-16
產(chǎn)品經(jīng)理辭職信08-08
銷售經(jīng)理面試題06-24