应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

腾讯微信产品经理面试题你也来答答

  小道消息的Fenng前几天发了三道产品经理的面试题,题目是关于微信的,如下:
  其中第二题是一道偏技术的问题,出现在产品经理的面试中确实有点意外,但这题不失为一道很好的产品设计与系统分析的题目。系统分析也是我们产品经理学技术系列文章规划中的一个部分,也是将我们所讲的技术进行升华的一部分内容。
  下面我们尝试回答一下这个问题,算是抛砖引玉了,大家有好的答案也可以给我们留言进行讨论。
  朋友圈的基本数据结构设计是怎样的?既能做到完美阅读权限设置,又能兼顾性能?
  关于消息的基础数据,比如文字、图片、时间、位置等这些咱就不表了。这些数据基本上与权限和性能没有多大关系,可以理解为单独存储,纯技术活。这里只讨论权限与性能相关的数据结构。
  而在权限管理上,微信采用了给用户打标签来进行分组,这个标签的分组与微信通讯录一致。在数据上,就是给每个关系增加一个标签标记。这里需要注意的是,虽然微信的关系在产品使用上给用户是双向的(即互相关注),但是在存储的时候,是给互相关的两个用户分别建立了关系数据,也就是每个人独有自己的一份通讯录。这通过删除了自己的好友之后,自己并不从别人的通讯录删除就可以看得出来。标签分组的基础数据就是这样了,这也是后面朋友圈权限管理的基础。
  对于个人朋友圈timeline所能看到的消息,按照一般的逻辑是先获取所有朋友的消息,然后剔除掉没有授权给自己看的消息、剔除掉自己屏蔽的用户消息,然后才得到自己当前看到的timeline。如果是这样的逻辑的话,等于每次刷新朋友圈,都要跑到所有的消息池里面去找到上述通讯录中朋友们的消息,还要对找到的每条消息去判断用户是否有权限阅读。这显然是效率低下的方式,更何况微信是这么大的一个访问量和数据量。所以,这种数据结构设计是行不通的了。
  一般逻辑下朋友圈每次读取的过程
  解决这种性能问题一般的思路就是把需要大计算量的过程分散到平时零散的时间去做。在这里的思路就是:平时就把每个用户需要的timeline数据按照权限设置准备好,等到用的时候(刷新朋友圈)就直接读取准备好的内容。那么答案就出来了:除了存储一份上面讲到的文字,图片等基本信息外,还需要给每个用户存储一份timeline数据,注意,是每个用户一份。当然,这里的每份不需要存储完整信息,只需要存储消息的ID和时间(可能需要)。每个人刷新自己的朋友圈时,读取自己的那份数据就行了,既不用去消息池子里面筛选,也不用判断用户权限。
  那是怎么实现权限控制呢?
  当一个用户发布一条消息时会按照上面讲的标签设置相关的权限,服务器就会给每个有权限接收这条消息的用户的timeline中写入这条消息。也就是在用户发布的这一刻,就做好了权限安排,而不是等到读取的时候。这样就自然减少了读取的时候的计算量,提高了效率。
  发布时进行权限控制(示意图,实际比这复杂)
  至于分库分表这些就不展开了,知道有这么回事就行。有时候这种技术上的设计也是会限制产品的设计。
  那怎么证明上面说的合理呢?
  感兴趣的同学可以去测试下:先发一条带阅读权限的消息,比如允许某个标签的人看。然后再给这个标签添加一个新人。结果是这个新人是看不到这条消息的,因为权限划分是在发布的时候就划分好了,新人加入标签的时间是在发布之后,所以没法获得这条消息的权限分配机会,虽然他后来在标签组中,但是仍然没有办法看到这条消息。
  这就是上面问题的答案,其实主要考察的是在产品设计时是否能够考虑到技术方案的限制。我把上面的答案贴在知乎上,有人就问了:微信产品团队是在一开始设计就考虑到了这个问题,还是经过不断的迭代成现在这样的?这是个好问题,好的产品经理应该在设计的时候就考虑到这种情况,或者至少应该有相应的预案,而不至于在出现问题或者被研发发难时束手无策。在这个案例中,微信是一开始考虑到了还是迭代过来的并不重要,对于微信朋友圈来说,本来就是一个迭代产品,最早的权限管理是单独于通讯录的,那个时候是纯插件的模式,现在才与通讯录共用了分组模式进行权限管理。
  如果对于上面的技术对产品设计的影响还不是很清晰的话,那么就再跟两个问题(好的产品经理除了能回答问题外,还要能提出问题):
  1、朋友圈的消息为啥不能编辑,只能删除?
  我理解这是产品设计和技术实现平衡的结果。编辑功能对于主要以发布照片和即时消息的朋友圈来说,并不是刚性的需求。但是在上面的技术框架下,编辑功能在技术上,就不好实现。具体来说就是:前面我们讲了,权限的控制是在发布的时候确定了,如果增加编辑功能的话,意味着一旦用户在编辑的时候调整了阅读权限的话,就需要将之前写入到有权限的用户timeline的数据删除掉,重新写入一遍,这对于技术实现来说,也是一个很大的成本,需要更新的数据很多(该条消息所有涉及到的用户的timeline数据都要更新)。所以,平衡的结果是宁愿让用户删除了重新发布,也不提供编辑的功能。你可能又要问了,删除时就不用更新相关人的timeline吗?首先删除比写入简单多了,第二个是用户timeline的数据可能还真不用删除。具体原因就不解释了,想知道的给我们留言单独解释。
  2、上述发布时的权限分配规则中会考虑屏蔽的人吗?也就是问,如果一个用户A屏蔽了某个人B的朋友圈,B发布的消息会进入A的timeline的准备数据中吗(不是指用户微信里看到的)?
  先说一下我的答案:在发布时的权限控制是不会考虑屏蔽的人的。前面我们讲了,在消息发布的时候,服务器会根据用户设置的权限信息,将消息有选择的放到有权限阅读人的timeline中。如果这个时候需要考虑屏蔽的人的话,那就还要去读取每个有权限阅读的人的屏蔽人清单,然后根据每个人的清单去决定是不是放到这个人的timeline中,显然这又会增加多大的计算量。那么有人就要问了,那怎么实现屏蔽的功能呢?两种方法实现,一种是在这个用户刷新朋友圈时,将读取到的自己的那份timeline数据(含屏蔽人的消息),在服务器端过滤掉屏蔽人的消息;另外一种则是读取的时候,服务器端按照原样下发给客户端,客户端根据存储的屏蔽清单来过滤,被屏蔽的则不显示给用户。两种方法在实现效率上几乎没有差别,通过对于微信的使用体验来看,我倾向于这个是由客户端来过滤的。实际这也可以有方法去验证,这里就不做了。这种屏蔽方案也是基于上面提到的把需要大计算量的过程分散到平时零散的时间去做。
  那么怎么验证上述关于屏蔽的逻辑是对的呢?上面我们在验证发布时进行权限分配中讲到了,后添加标签分组的人,是看不到之前发布的分组权限消息的。这里我们也可以通过类似的方法验证:把用户屏蔽后,该用户的消息全部看不到,但是取消屏蔽之后,又立即能在朋友圈中看到,包括之前发布的消息但没有看过的消息。
  最后要说的是,作为一个微信设计的旁观者,以上答案是作为一个用户从系统分析的角度去考虑的,并不代表微信确实是这样的一个设计思路,但答案中的方案已经尽可能做到了可以验证。答案中也没有涉及到具体的技术,仅仅是一个系统分析的思路。
  很高兴看到越来越多的产品经理招聘开始注重技术能力了。前段时间各大互联网公司的产品经理校招也出现了不少技术相关的试题,说明业内开始意识到技术能力对于产品设计的辅助作用。还是那句话,技术并不是产品设计必须的,但是能有的话效率会提升很多。

秋季怎么样才能减肥呢减肥对于肥胖的人群来说是一种特别痛苦的事情,减肥同样也让爱美的女性所追求,那么在秋天的时候如何进行减肥好呢?这样的问题是好多朋友关心的,现在我们就主要针对秋季的气候如何进行减肥……温柔气质中短发发型推荐清新减龄时尚满分今天小编推荐的这几款中短发发型,尽显甜美风的森女气质,唯美动人,而且减龄效果拉满,让女生们出门拍照也能美美的。中短发比齐肩发更短一些,比齐脸短发更长,属于半长的发型,好驾……夸夸造句用夸夸造句大全91、日子平静如水,波澜不起,万华阎当初嘴上虽说等多久都满不在乎,但事实上不过夸夸其谈。92、这题目说来好做却也不好做,若如实的夸夸其谈总免不了穿凿附会,写出来不仅无味且……刘强东三招保住控制权1、1。380亿新股:京东IPO拟发行1。380亿新股,这个数字刚好与腾讯认购的股票数相等;2、3。0:京东旧股东出售的股票占上市前各自持股数量的3。0;3、20。……岭南学子三下乡为宣传国家资助和助学贷款政策【导语】在中国共产党百年华诞之际,岭南师范学院学子响应党的号召,跟党走,走进基层。由岭南师范学院教科院组成的夏知乡社会实践队前往广东省茂名市信宜市北界镇双寿小学进行为期10天的……次生盐渍化是自然形成的吗土壤盐渍化就是土壤盐碱化。土壤盐碱化包括次生盐渍化。次生盐渍化是自然形成的吗?土壤盐碱化包括自然原因和人为原因形成的盐碱化现象,而其中人为原因造成的土壤盐碱化现象叫次生盐碱化。……小卖家在接待客户的时候一定要注意这几点当一个买家进入我们的店铺,如果是老顾客的话有可能会直接购买,但是大部分买家都会选择与我们的客服进行沟通,有的人在沟通中转化了,有的人没有完成转化走了,甚至去了别人家买了,这说明……锅底烧焦用什么清洗呢我们做食物的锅具有很多,比如炒菜的铁锅,烹煮的不锈钢锅,还有各种麦饭石锅、铝锅等等的材质。用过不锈钢锅的小伙伴可能都经历过做饭的时候把锅底弄焦了,这种情况是很不好洗掉的,用清洁……仙人掌仙人掌不但长得不好看,还有刺,很多人不喜欢,我也不例外。我家的仙人掌长出三个岔,像三只手掌。上面的刺好像是保护自己的护身符,只要一靠近它,它就毫不留情地用刺扎你,好像在说……莱克吸尘器从这五方面为大家介绍莱克吸尘器m81的外观这款吸尘器全身呈现金黄色,看上去非常的时尚大气,简约而优雅,贵族气质尽显无疑,无论摆放在哪里都能起到很好的装饰效果。身体小巧,使用起来更加轻便。……喝水少长皱纹女人警惕种催老剂自己的气色越来越差,脸上不知道为什么又多了一道皱纹,或者常常一到中午就已经觉得身体疲惫不堪?也许你以为这些只是一时休息不好导致的现象,但其实,所有的小症状都在暗示你:你的身体开……辅食料理器如何选购现在商场中的辅食料理器品种繁多,如何选择一款合适的辅食料理器让很多妈妈们大为苦恼。其实,选择辅食料理器最为关键就是看材质,材质决定了是否安全。那么具体辅食料理器如何选购好呢?下……
鼓鼓的造句用鼓鼓的造句大全61、很明显,像这种方式的旅行需要三件事:有冒险精神、有组织能力,这是穿过申请签证的地雷阵所必须的,当然,还需要一个鼓鼓的钱包。62、我注意到好奇地跟在我们旁边的小孩,都……一个成功的销售人员有不怕铁打的公司,流水的销售。许多老板,最看重的是销售人员,最头疼的也是销售人员。也许,在别人眼中,销售很简单,不就是把东西卖出去吗。可偏偏越简单的工作反而越重要。要想在销售行业中长……太和殿是干什么的太和殿是皇帝上朝的地方吗受到很多影视剧的影响,很多人可能都以为,明清时期住在紫禁城里面的皇帝们,他们每天上朝的时候的场景都是,皇帝坐在金銮殿宝座上,然后文武百官在下面站着,大家一起商议事情,而这个金銮……跑步老师一声令下,大家‘呼’的一下往前跑!一开始,大家精气十足,脚上像长了风火轮,都能把旁边的人刮倒了,不时,还喊着‘一二一一二一!’像军人的气势,一副刚毅的面目,显得那么严……医生转正申请试用期表现回顾这一年来的工作,我在院领导及各位同事的支持与帮助下,严格要求自己,按照医院的要求,较好地完成了自己的本职工作。通过一年来的学习与工作,工作模式上有了新的突破,工作方式有了较……创造出造句用创造出造句大全121、同时不要忘记,不管出于何种复杂的原因,元代统治阶层允许了这种抗争情绪的存在弥漫,允许了剧作家们的各种借古讽今,指桑骂槐,也是元代文人得以创造出辉煌的新艺术新文化,构筑出……加湿器连开小时居然有这种后果冬天到了,空调使用、供暖又开始了,而在这类高温环境下,空气干燥、皮肤失水、呼吸道粘膜干燥等都会加重人体的不适,这样便催生了加湿器的使用。但是不少人会将加湿器连开24小时,那么这……高校图书馆微信公众平台服务发展对策【摘要】随着科学技术的发展,网络信息的应用涉及到现代社会各行各业,QQ、微博和微信等社交媒体为人们生活带来了诸多便利,实现了人与人之间信息交流的及时性。作为公共信息收集和传递的……韩国级女演员金花媛作品推荐朋友的妈妈最经典附剧照韩国r级高颜值女演员非常多,而金花媛必能算上是其中一位了,长相完美身材性感的她往往在影片中让人舔屏,那么你知道她说主演的r级电影有哪些吗?比较知名的便有《色即是空》、《朋友的妈……大嘴造句用大嘴造句大全六十一、辛浦生用他细巧的手摸着不可思议的大嘴巴。六十二、虽然可能最适应环境的棘鱼既苗条又有大嘴,这些相连的特征导致了这种不利的突变的进化结果。六十三、它朝卡德摩斯一……花呗还款逾期怎么办蚂蚁花呗已经成为我们日常借款的常用软件之一,然而从蚂蚁花呗上借款之后要及时还或者提前还款。那么如果花呗还款逾期怎么办呢?接下来小编就来为您介绍一下这方面的常识。花呗还款怎……支付宝更新微商的下一波红利期来了支付宝最新版更新后的新闻铺天盖地,朋友圈也被跟微信傻傻分不清楚的支付宝霸屏了,其实早在几天前支付宝的官方微信订阅号就陆续推出了一系列的神文案在暗讽目前我们在现实中那些因为钱而解……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网