以下是小编帮大家整理的微信的成功 产品经理,本文共7篇,仅供参考,希望能够帮助到大家。本文原稿由网友“一颗白糖”提供。
篇1:微信的成功 产品经理
微信的成功-产品经理:
我也是微信广大用户的一员,我也有经常刷朋友圈的习惯,微信有这种让你时刻想查看的欲望,微信的成功是完美的。微信的成功也让张小龙成为了另一位小马哥马化腾的功臣。
需求分析:可以说对于需求,有两种,一种是将需求的产品做到极致,另一种就是创造需求的产品。微信无疑是前一种,而后者的例子就是苹果,乔布斯是最佳代言人。
转回微信,很多人有一个误区认为微信的成功是源于QQ的普及,其实微信和QQ的需求是完全不同的,所以说微信的成功不能说是因为QQ的富二代,QQ的服务是陌生人交友,而微信是朋友,每个人都希望在朋友中获得存在感,还有附近的人,张小龙也说过,附近的人是出于人类对周围的好奇心,你对附近人行为的好奇,同时附近的人对你的好奇(张小龙不仅做出了一个好的产品,同时也是一个非常好的心理分析家,将人类的贪嗔很好的利用)。
市场分析:当今社会每个人已经平均多余1台手机,手机的随身性,更加促使了掌上APP的需求,微信在满足需求的手机APP上可以说是最成功之一。
功能分析:在进行产品经理准备中,我刚开始有个困惑,功能是不是越丰富越好,因为这样可以满足越多的人,其实这本身就是个错误,产品是用来满足需求的,丰富的功能并不能改变产品的应求性,根据网络上一系列的产品语录,添加功能的时候应该反复问自己“这个功能是必要的吗”“加入这个功能后,用户有什么想法”“不添加这个功能,对产品有没有影响,影响多大”,有时候化繁为简更是一种能力,微信下部有四个TAB键已经将需求分类,实用不繁琐。还有微信的摇一摇是将需求做到极致的最好例子。
产品经理宝典:微信为什么会成功?
1、理解用户内在的需求需要洞察人性
佛说人的本性是贪嗔痴,佛说所有的人是瞎子,是无名的,那么睁开了眼的人就看到了光明的人,觉悟了的人就是佛。
普通的人,他认为有三个基本的约束力,使得人不是佛,而是普通的人,就是贪嗔痴。
贪是贪婪,嗔是嫉妒,痴是执着。
那我们要洞察这一点,是因为我们的产品对用户产生黏性,就是让用户对你的产品产生贪,产生嗔,产生痴。
我们给大家各种钻,钻体现了什么心理?其实都体现了人性的这几个弱点,各种黄钻、绿钻,他会贪,他要升级;他会嗔,他会跟人比较,说你的钻比我的等级高,所以我也要升上去;他会痴,觉得我一定要把所有的钻给收齐。我们这里不是说所有的东西都要去做钻之类的东西,即使是一个体验好的产品,就像苹果的手机,它同样的会对用户产生这样的吸引力,因为这是人性本身的一个共同的弱点。
所以当我们在做一个产品的时候,我们在研究人性,而不是说在研究一个产品的逻辑。逻辑本身没有什么好研究的,开发的同事可能更懂一些。技术是满足需求,产品要提升体验。
最重要的是你的产品为什么是这样子,而不是那样子,最后是对于人性的分析。这个人性不是说我们一些产品需要,我们摇一摇需要有人性,其它产品就不需要了?不是这样的,所有的产品都需要有人性的研究。为什么要有白色的iPhone,为什么iPhone只有两种颜色?你可以对每一个好的产品都提出来问题,那么它背后肯定都是从人性的角度来说的,而不是从别的理由来说的。所以乔布斯曾经说过一句话,记者问他:你们推出新产品的背后是做了很多的用户调研吗?还是别的一些方式来知道我们应该做什么产品?乔布斯说我们不需要去做调研,我们也不需要去看统计数据,但是我们知道用户心里面需要什么样的东西。这个知道并不是说你去问一万个用户,而是你对于人心的洞察或者人在内心里面的一些渴望的洞察,那你就会知道了。
2、上帝创造这个世界时制定的规则很简单
上帝是一个建立了简单的规则,然后让这个世界演化。为什么我们喜欢简单?因为上帝创造宇宙的时候,他定下来的规则也非常的简单。就如爱因斯坦在建立质能方程的时候,用了一个很简单的公式表示了一个复杂的理论,简单而且美!很多物理学家会说我们发现宇宙的规律是很简单的,既然宇宙的规律都这么简单,我为什么要把很多事情搞复杂化?为什么说产品经理是站在上帝身边的人?因为我们也在制定产品的规则,上帝创造这个世界时制定的规则很简单,产品经理在做产品的时候制定的规则也需要很简单。
首先你要了解用户内在的需要,然后你要通过你的产品去满足,并且他们在使用的过程里面是按照你的预期来的,你知道他们会怎么样自己去演化,然后你就在旁边看热闹就行了。
就像我们微信做了摇一摇,一个很小的功能,然后每天有几千万上亿次摇动在发生。我们知道这耗费了很多能量,所以我们下一步的计划是在摇动的时候做一个能量收集器,能够把摇动产生的动能收集起来用来发电,然后我们把它慈善的捐出去。为什么大家如此乐此不疲?男人为何每天都浪费这么多生物能在这事儿上,而且很多人还是在做无用功?其实他并没有找到女孩子。我们后台的数据看过这种搭讪的成功率是很低的,我们理所当然地以为有无数的男性在那里拼命的摇啊摇,其实还有很多女性在那里摇,你们知道她们为什么会摇吗?如果你们对女性的心理研究不透彻的话,你就损失了一半的用户。所以我们的产品经理现在都在看一本书叫《女性的源起》,我推荐你们也看一下。我们有一半的用户是女性。
女性为什么会摇呢?其实在座的很多女同学,她们不愿意说而已,有没有哪位女同学敢于说一下?
(台下回答:检验魅力值。)
小龙:说得非常对,这里说一个小插曲,可以体现出产品经理对于女性的无知。当时做附近的人总以为我们会让女性用户受到骚扰了,我们很对不起她们,我们会有这种负疚感,我们为了让这个功能用起来,我们真的对不起这些女用户。
然后发布的第二天,我就赶紧给我们的那些女同事说,是不是有很多人骚扰你们,给你们打招呼过来了?然后跟我想的相反,她们说我们每个人都在底下看谁收到的打招呼多一些。
所以我们对我们的用户,每一个人千万不要说对我们的用户很了解了,其实不是这样子的。在座的是不是有这种虚荣心的体现?当然我们的隐私做得非常好,她会收到打招呼,但是她不会被骚扰,这些是我们做得好的地方。
在座的产品经理,怎么样能够做到这一点?就是你必须了解上帝的规则,并且学习像上帝那样思考,摸清楚用户的心理,并且设计一个规则去引导他。并且要知道上帝的法则是很简单的,看看《圣经》创世纪第一章就知道了。我们在做产品的时候也要用简单的规则,只有简单的规则才可以演化出一个非常复杂的事件出来。
所以我经常很不认同说,在很多做产品里面,一开始就做一个复杂的规则出来,最后没有任何演化的空间。我们看到很多的产品,像Twitter之类的产品都非常简单,它的规则简单到你们都瞧不起它,但是这样的东西是最有生命力的。如果谁一上来给我拿一个产品计划的逻辑,我都要花一个小时才能看懂,那一定不是一个好的产品。
我们再回来看,第一点是说乔布斯的理念,当然也不是乔布斯发明的,是之前的一个美国的嬉皮士说的这一句话。我们用另外一个角度来解读它,我在它前面加了一句,意思是我们要让用户保持饥饿,让他们保持愚蠢。看起来是在嘲弄用户,对吗?
但是如果你在做一个产品里面,你没有这种信心说你把握住了用户的需求,你没有办法去控制他的每一步所要做的方向,那你就控制不住这个产品,这个产品就已经在失控之中了。作为产品经理来说,一方面是自身要保持饥渴,保持一个觉得自己很无知的状态。但是对我们的用户来说,我们是要想办法知道他们的饥渴在哪里,清楚用户的内在需求在哪里?
3、产品体验的核心
产品体验是什么?我们常常思考这个问题!说到底,一个字,是什么?爽!两个字?好玩!
事实上在微信,如果我们问一下用户为什么喜欢用微信?没有一个人会给你说它可以帮我省钱,或者是帮我很方便的发短信,他们反而不会这么说。他们会告诉你这个东西挺好玩的,或者用起来挺爽的。这个会超出你的预期,你们会觉得我们本来是做一个功能,做一个通讯工具,但是用户不是这么看的。用户看的重点和你看到的是不一样的,你在拼命的给他说我帮你解决了通讯问题,用户说其实这不是我关心的。如果出现这种很大层面上的偏差,就很麻烦了。每一个功能需求的背后都有一个内心的呼唤。总之,做好产品一定要懂得洞察人性!
有一次我在一个聚会里面,这个聚会里面来了好几个女生,我跟这个女生说你们装一个微信吧,她们说装微信干什么?我说装微信可以免费发短信,可以发图片,都省了彩信的钱,还可以直接说话,连打字都不需要了。这几个女孩子没有一个人有兴趣,很奇怪的看着我,我为什么要用这个东西。然后我现场给她们演示了一下,你看我附近有很多美女,我可以跟她们直接打招呼,这些人立马两眼放光,一个个拿出手机让我帮她们装。我当时都很震撼,这两个差别会这么大。我承认我当时对人了解太少了,但是真实的结果就是这样子的。
4、微博的用户动力学
所以我们做产品要找到用户心理诉求的本质,这个本质是什么?
我们再以微博为例,再分析一下吧。用户上微博干什么?用户上微博的原因是为了炫耀,是因为害怕孤独,不是利群而离群,是用它有追感。前面大家可能明白,后面这个“有追感”会比较难理解。想一下你们在微博上干什么?
很少有人能做到这一点,你写一句话的时候,你脑袋里面想到哪些听众会看到,你会为他们写东西,你会构筑一个自己的形象,你会想我写了这句话以后,别人看了我的形象是不是又朝我想要的方向变了一点。你会看到一个人爱上你了,或者给你发私信了,马上第一时间去看一下,你会很在意。
实际上微博是一个构筑另一个自我的地方,构筑一个自我。就像我们平时在生活里面,通过各种行为来构建一个自我一样的,或者是自我形象。那里面爆出来很多人心的缺陷在里面,一个内心强大的人是不需要写微博的。现在想想你们玩微博的时候心态是怎么样的?粉丝增加了吗?发的消息被多少人转发了?评论对你有利还是不利?
微博是一个很有意思的主题,我们自己写微博的时候,你观察一下自己的动静也发现挺有意思的。自言自语为什么做不到?因为没有人会写日记写那么多,那个才是自言自语,一旦有人群的地方就不是自言自语了,那挺难的。
如果做微博的人对于用户为什么写微博的心理不能够分析得很透彻的话,那我们就是在一个很肤浅的层面来做产品。同样,无论做什么产品,如果我们不深入到用户内心,看清楚本质,做出来的产品一定是肤浅的,你们再想想……
5、看了360口信我就窃喜
所以当我们的竞争对手360做了一个“口信”,他们的定位很清晰,因为他们很善于做这种用户的需求把握,觉得越实在的产品,对用户有实惠的产品,用户就会越喜欢。事实上很多产品之前也是这么成功的,所以他们做口信也是按照这个思路,说我帮你省了短信费,可以集成到一起。我看了以后就窃喜,此处省略N个字……
篇2:微信产品经理面试题
丁香园CTO冯大辉曾发过三道产品经理的面试题,题目是关于微信的,如下:
其中第二题是一道偏技术的问题,出现在产品经理的面试中确实有点意外,但这题不失为一道很好的产品设计与系统分析的题目。系统分析也是我们“产品经理学技术”系列文章规划中的一个部分,也是将我们所讲的技术进行“升华”的一部分内容。
下面我们尝试回答一下这个问题,算是抛砖引玉了,大家有好的答案也可以给我们留言进行讨论。
朋友圈的基本数据结构设计是怎样的?既能做到完美阅读权限设置,又能兼顾性能?
关于消息的基础数据,比如文字、图片、时间、位置等这些咱就不表了。这些数据基本上与权限和性能没有多大关系,可以理解为单独存储,纯技术活。这里只讨论权限与性能相关的数据结构。
而在权限管理上,微信采用了给用户打“标签”来进行分组,这个标签的分组与微信通讯录一致。在数据上,就是给每个关系增加一个“标签”标记。
这里需要注意的是,虽然微信的关系在产品使用上给用户是双向的(即互相关注),但是在存储的时候,是给互相关的两个用户分别建立了关系数据,也就是每个人独有自己的一份“通讯录”。
这通过删除了自己的好友之后,自己并不从别人的通讯录删除就可以看得出来。标签分组的基础数据就是这样了,这也是后面朋友圈权限管理的基础。
对于个人朋友圈timeline所能看到的消息,按照一般的逻辑是先获取所有朋友的消息,然后剔除掉没有授权给自己看的消息、剔除掉自己屏蔽的用户消息,然后才得到自己当前看到的timeline。
如果是这样的逻辑的话,等于每次刷新朋友圈,都要跑到所有的消息池里面去找到上述通讯录中朋友们的消息,还要对找到的每条消息去判断用户是否有权限阅读。
这显然是效率低下的方式,更何况微信是这么大的一个访问量和数据量。所以,这种数据结构设计是行不通的了。
篇3:微信产品经理的面试题
1.朋友圈为什么不调整到首屏,为什么路径这么深?
了解产品,首先要了解产品的战略意图和方向,要不然会走不少弯路的。
我们来看一下微信(产品)的定位。
#1.1. 微信是面向熟人的重通讯的社交应用。
说到通讯,大家都会想到,手机的短信和联系人在整个手机通讯中的作用。人们在长时间的移动通讯的场景下,意识上也潜移默化了传统手机通讯中的用户习惯。所以微信中,聊天(传统的短信)模块放在首页。通讯录(传统的联系人)放在次要的位置。也符合社交通讯的高效率和便捷性。这也印证了微信的底栏导航布局的原则。
微信、通讯录、发现、我
#1.2. 微信的战略方向,连接一切。
发现版块是连接其他渠道的实验室。“朋友圈”只是其中一条探索的渠道。不是唯一的渠道。
微信并不是纯粹的社交通讯应用。腾讯这么大体量的用户基数+,也为微信的拓展创造了得天独厚的优势。微信提出链接一切的战略方向也不会变。朋友圈只是链接用户的沟通的一种途径。这条道路也是对腾讯用户体量的继承和发展。朋友圈在形式上继承和延续了用户的习惯和沟通方式。在前期也许用户觉得比较重要,应该摆在举足轻重的位置。但是从整个战略上来讲,路径深也是微信战略布局的考量。在用户频繁用到的朋友圈功能页,不停的实验性的添加“附近的人”“购物”“游戏”“扫一扫”“摇一摇”来利用巨大的流量入口来带动“连接一起”的战略实验和探索。
2.第二题个人不加评论
3.如果你是微信的产品经理,你会最优先做哪一个功能的改进?简述理由。
朋友圈提出来一层:在保障战略方向和不影响架构的前提下,我会把朋友圈提出来。
从三个方面考量(1.操作频率2.操作步骤3.商业引流)
#3.1 .从操作频率上考虑。
朋友圈的动态和互动性,在发现页面的权重是很高的。这也是朋友圈在最顶端的原因,方便查找和操作。
#3.2.从操作步骤上减少操作步骤:
点击进入朋友圈需要点击进入“发现”页面,随后进入“朋友圈”。需要两步。提高一个层级,只需在“发现”页面直接查找“朋友圈”动态。
#3.3.从引流方面考量:
朋友圈提高一层并不会,减少用户引流。进入“发现”页面还是会先看到,其他项。在目标上,没有多大关系,就是在视觉上。不是很高大上。
其实,对这个面试题目。鄙人自我感觉:题目是对产品的思考维度上的考量。做产品,不单单是做产品,还有很多维度上的考虑。
了解战略层
划分范围层
分析结构层
实现框架层
体验表现层
这些也就是前人总结 的产品要素,但是随着社会意识形态的变化。产品人很难再循规蹈矩的利用这些规矩来规划产品。大方向是不会错的,中间的变化也是丰富多彩的,要不然也不会有很多意外火起来的产品。
对于用户来说,产品只要有这三样就足以:
1、好用(结构)
2、好看(表现)
3、好玩(体验)
理解好战略层才能更好的结合用户期待做出成功的商业产品
这也就是我对,这两道题目的思考。不足之处还敬请谅解。
有什么想法和建议欢迎跟我交流
篇4:腾讯微信产品经理面试题
其中第二题是一道偏技术的问题,出现在产品经理的面试中确实有点意外,但这题不失为一道很好的产品设计与系统分析的题目。系统分析也是我们“产品经理学技术”系列文章规划中的一个部分,也是将我们所讲的技术进行“升华”的一部分内容。
下面我们尝试回答一下这个问题,算是抛砖引玉了,大家有好的答案也可以给我们留言进行讨论。
朋友圈的基本数据结构设计是怎样的?既能做到完美阅读权限设置,又能兼顾性能?
关于消息的基础数据,比如文字、图片、时间、位置等这些咱就不表了。这些数据基本上与权限和性能没有多大关系,可以理解为单独存储,纯技术活。这里只讨论权限与性能相关的数据结构。
而在权限管理上,微信采用了给用户打“标签”来进行分组,这个标签的分组与微信通讯录一致。在数据上,就是给每个关系增加一个“标签”标记。这里需要注意的是,虽然微信的关系在产品使用上给用户是双向的(即互相关注),但是在存储的时候,是给互相关的两个用户分别建立了关系数据,也就是每个人独有自己的一份“通讯录”。这通过删除了自己的好友之后,自己并不从别人的通讯录删除就可以看得出来。标签分组的基础数据就是这样了,这也是后面朋友圈权限管理的基础。
对于个人朋友圈timeline所能看到的消息,按照一般的逻辑是先获取所有朋友的消息,然后剔除掉没有授权给自己看的消息、剔除掉自己屏蔽的用户消息,然后才得到自己当前看到的timeline。如果是这样的逻辑的话,等于每次刷新朋友圈,都要跑到所有的消息池里面去找到上述通讯录中朋友们的消息,还要对找到的每条消息去判断用户是否有权限阅读。这显然是效率低下的方式,更何况微信是这么大的一个访问量和数据量。所以,这种数据结构设计是行不通的了。
一般逻辑下朋友圈每次读取的过程
解决这种性能问题一般的思路就是把需要大计算量的过程分散到平时零散的时间去做。在这里的思路就是:平时就把每个用户需要的timeline数据按照权限设置准备好,等到用的时候(刷新朋友圈)就直接读取准备好的内容。那么答案就出来了:除了存储一份上面讲到的文字,图片等基本信息外,还需要给每个用户存储一份timeline数据,注意,是每个用户一份。当然,这里的“每份”不需要存储完整信息,只需要存储消息的ID和时间(可能需要)。每个人刷新自己的朋友圈时,读取自己的那份数据就行了,既不用去消息池子里面筛选,也不用判断用户权限。
那是怎么实现权限控制呢?
当一个用户发布一条消息时会按照上面讲的标签设置相关的权限,服务器就会给每个有权限接收这条消息的用户的timeline中写入这条消息。也就是在用户发布的这一刻,就做好了权限安排,而不是等到读取的时候。这样就自然减少了读取的时候的计算量,提高了效率。
发布时进行权限控制(示意图,实际比这复杂)
至于分库分表这些就不展开了,知道有这么回事就行。有时候这种技术上的设计也是会限制产品的设计。
那怎么证明上面说的合理呢?
感兴趣的同学可以去测试下:先发一条带阅读权限的消息,比如允许某个标签的人看。然后再给这个标签添加一个新人。结果是这个新人是看不到这条消息的,因为权限划分是在发布的时候就划分好了,新人加入标签的时间是在发布之后,所以没法获得这条消息的权限分配机会,虽然他后来在标签组中,但是仍然没有办法看到这条消息。
这就是上面问题的答案,其实主要考察的是在产品设计时是否能够考虑到技术方案的限制。我把上面的答案贴在知乎上,有人就问了:微信产品团队是在一开始设计就考虑到了这个问题,还是经过不断的迭代成现在这样的?这是个好问题,好的产品经理应该在设计的时候就考虑到这种情况,或者至少应该有相应的预案,而不至于在出现问题或者被研发发难时束手无策。在这个案例中,微信是一开始考虑到了还是迭代过来的并不重要,对于微信“朋友圈”来说,本来就是一个迭代产品,最早的权限管理是单独于通讯录的,那个时候是纯插件的模式,现在才与通讯录共用了分组模式进行权限管理。
如果对于上面的技术对产品设计的影响还不是很清晰的话,那么就再跟两个问题(好的产品经理除了能回答问题外,还要能提出问题^_^):
1、朋友圈的消息为啥不能编辑,只能删除?
我理解这是产品设计和技术实现平衡的结果。编辑功能对于主要以发布照片和即时消息的朋友圈来说,并不是刚性的需求。但是在上面的技术框架下,编辑功能在技术上,就不好实现。具体来说就是:前面我们讲了,权限的控制是在发布的时候确定了,如果增加编辑功能的话,意味着一旦用户在编辑的时候调整了阅读权限的话,就需要将之前写入到有权限的用户timeline的数据删除掉,重新写入一遍,这对于技术实现来说,也是一个很大的成本,需要更新的数据很多(该条消息所有涉及到的用户的timeline数据都要更新)。所以,平衡的结果是宁愿让用户删除了重新发布,也不提供编辑的功能。你可能又要问了,删除时就不用更新相关人的timeline吗?首先删除比写入简单多了,第二个是用户timeline的数据可能还真不用删除。具体原因就不解释了,想知道的给我们留言单独解释。
2、上述发布时的权限分配规则中会考虑屏蔽的人吗?也就是问,如果一个用户A屏蔽了某个人B的朋友圈,B发布的消息会进入A的timeline的准备数据中吗(不是指用户微信里看到的)?
先说一下我的答案:在发布时的权限控制是不会考虑屏蔽的人的。前面我们讲了,在消息发布的时候,服务器会根据用户设置的权限信息,将消息有选择的放到有权限阅读人的timeline中。如果这个时候需要考虑屏蔽的人的话,那就还要去读取每个有权限阅读的人的屏蔽人清单,然后根据每个人的清单去决定是不是放到这个人的timeline中,显然这又会增加多大的计算量。那么有人就要问了,那怎么实现屏蔽的功能呢?两种方法实现,一种是在这个用户刷新朋友圈时,将读取到的自己的那份timeline数据(含屏蔽人的消息),在服务器端过滤掉屏蔽人的消息;另外一种则是读取的时候,服务器端按照原样下发给客户端,客户端根据存储的屏蔽清单来过滤,被屏蔽的则不显示给用户。两种方法在实现效率上几乎没有差别,通过对于微信的使用体验来看,我倾向于这个是由客户端来过滤的。实际这也可以有方法去验证,这里就不做了。这种屏蔽方案也是基于上面提到的“把需要大计算量的过程分散到平时零散的时间去做”。
那么怎么验证上述关于屏蔽的逻辑是对的呢?上面我们在验证“发布时进行权限分配”中讲到了,后添加标签分组的人,是看不到之前发布的分组权限消息的。这里我们也可以通过类似的方法验证:把用户屏蔽后,该用户的消息全部看不到,但是取消屏蔽之后,又立即能在朋友圈中看到,包括之前发布的消息但没有看过的消息。
最后要说的是,作为一个微信设计的旁观者,以上答案是作为一个用户从系统分析的角度去考虑的,并不代表微信确实是这样的一个设计思路,但答案中的方案已经尽可能做到了可以验证。答案中也没有涉及到具体的技术,仅仅是一个系统分析的思路。
很高兴看到越来越多的产品经理招聘开始注重技术能力了。前段时间各大互联网公司的产品经理校招也出现了不少“技术”相关的试题,说明业内开始意识到技术能力对于产品设计的辅助作用。还是那句话,技术并不是产品设计必须的,但是能有的话效率会提升很多。
篇5:腾讯微信产品经理笔试面试题
腾讯微信产品经理笔试面试题
其中第二题是一道偏技术的问题,出现在产品经理的面试中确实有点意外,但这题不失为一道很好的产品设计与系统分析的题目,系统分析也是我们“产品经理学技术”系列文章规划中的一个部分,也是将我们所讲的技术进行“升华”的一部分内容。
下面我们尝试回答一下这个问题,算是抛砖引玉了,大家有好的答案也可以给我们留言进行讨论。
朋友圈的基本数据结构设计是怎样的?既能做到完美阅读权限设置,又能兼顾性能?
关于消息的基础数据,比如文字、图片、时间、位置等这些咱就不表了。这些数据基本上与权限和性能没有多大关系,可以理解为单独存储,纯技术活。这里只讨论权限与性能相关的数据结构。
而在权限管理上,微信采用了给用户打“标签”来进行分组,这个标签的分组与微信通讯录一致。在数据上,就是给每个关系增加一个“标签”标记。这里需要注意的是,虽然微信的关系在产品使用上给用户是双向的(即互相关注),但是在存储的时候,是给互相关的两个用户分别建立了关系数据,也就是每个人独有自己的一份“通讯录”。这通过删除了自己的好友之后,自己并不从别人的通讯录删除就可以看得出来。标签分组的基础数据就是这样了,这也是后面朋友圈权限管理的基础。
对于个人朋友圈timeline所能看到的消息,按照一般的逻辑是先获取所有朋友的消息,然后剔除掉没有授权给自己看的消息、剔除掉自己屏蔽的用户消息,然后才得到自己当前看到的timeline。如果是这样的逻辑的话,等于每次刷新朋友圈,都要跑到所有的消息池里面去找到上述通讯录中朋友们的消息,还要对找到的每条消息去判断用户是否有权限阅读。这显然是效率低下的方式,更何况微信是这么大的一个访问量和数据量。所以,这种数据结构设计是行不通的了。
一般逻辑下朋友圈每次读取的过程
解决这种性能问题一般的思路就是把需要大计算量的过程分散到平时零散的时间去做,
在这里的思路就是:平时就把每个用户需要的 timeline数据按照权限设置准备好,等到用的时候(刷新朋友圈)就直接读取准备好的内容。那么答案就出来了:除了存储一份上面讲到的文字,图片等基本信息外,还需要给每个用户存储一份timeline数据,注意,是每个用户一份。当然,这里的“每份”不需要存储完整信息,只需要存储消息的ID和时间 (可能需要)。每个人刷新自己的朋友圈时,读取自己的那份数据就行了,既不用去消息池子里面筛选,也不用判断用户权限。
那是怎么实现权限控制呢?
当一个用户发布一条消息时会按照上面讲的标签设置相关的权限,服务器就会给每个有权限接收这条消息的用户的.timeline中写入这条消息。也就是在用户发布的这一刻,就做好了权限安排,而不是等到读取的时候。这样就自然减少了读取的时候的计算量,提高了效率。
发布时进行权限控制(示意图,实际比这复杂)
至于分库分表这些就不展开了,知道有这么回事就行。有时候这种技术上的设计也是会限制产品的设计。
那怎么证明上面说的合理呢?
感兴趣的同学可以去测试下:先发一条带阅读权限的消息,比如允许某个标签的人看。然后再给这个标签添加一个新人。结果是这个新人是看不到这条消息的,因为权限划分是在发布的时候就划分好了,新人加入标签的时间是在发布之后,所以没法获得这条消息的权限分配机会,虽然他后来在标签组中,但是仍然没有办法看到这条消息。
这就是上面问题的答案,其实主要考察的是在产品设计时是否能够考虑到技术方案的限制。我把上面的答案贴在知乎上,有人就问了:微信产品团队是在一开始设计就考虑到了这个问题,还是经过不断的迭代成现在这样的?这是个好问题,好的产品经理应该在设计的时候就考虑到这种情况,或者至少应该有相应的预案,而不至于在出现问题或者被研发发难时束手无策。在这个案例中,微信是一开始考虑到了还是迭代过来的并不重要,对于微信“朋友圈”来说,本来就是一个迭代产品,最早的权限管理是单独于通讯录的,那个时候是纯插件的模式,现在才与通讯录共用了分组模式进行权限管理。
如果对于上面的技术对产品设计的影响还不是很清晰的话,那么就再跟两个问题(好的产品经理除了能回答问题外,还要能提出问题^_^):
篇6:腾讯微信产品经理笔试题
腾讯微信产品经理笔试题
其中第二题是一道偏技术的问题,出现在产品经理的面试中确实有点意外,但这题不失为一道很好的产品设计与系统分析的题目,系统分析也是我们“产品经理学技术”系列文章规划中的一个部分,也是将我们所讲的技术进行“升华”的一部分内容。
下面我们尝试回答一下这个问题,算是抛砖引玉了,大家有好的答案也可以给我们留言进行讨论。
朋友圈的基本数据结构设计是怎样的?既能做到完美阅读权限设置,又能兼顾性能?
关于消息的基础数据,比如文字、图片、时间、位置等这些咱就不表了。这些数据基本上与权限和性能没有多大关系,可以理解为单独存储,纯技术活。这里只讨论权限与性能相关的数据结构。
而在权限管理上,微信采用了给用户打“标签”来进行分组,这个标签的分组与微信通讯录一致。在数据上,就是给每个关系增加一个“标签”标记。这里需要注意的是,虽然微信的关系在产品使用上给用户是双向的(即互相关注),但是在存储的时候,是给互相关的两个用户分别建立了关系数据,也就是每个人独有自己的.一份“通讯录”,
这通过删除了自己的好友之后,自己并不从别人的通讯录删除就可以看得出来。标签分组的基础数据就是这样了,这也是后面朋友圈权限管理的基础。
对于个人朋友圈timeline所能看到的消息,按照一般的逻辑是先获取所有朋友的消息,然后剔除掉没有授权给自己看的消息、剔除掉自己屏蔽的用户消息,然后才得到自己当前看到的timeline。如果是这样的逻辑的话,等于每次刷新朋友圈,都要跑到所有的消息池里面去找到上述通讯录中朋友们的消息,还要对找到的每条消息去判断用户是否有权限阅读。这显然是效率低下的方式,更何况微信是这么大的一个访问量和数据量。所以,这种数据结构设计是行不通的了。
一般逻辑下朋友圈每次读取的过程
解决这种性能问题一般的思路就是把需要大计算量的过程分散到平时零散的时间去做。在这里的思路就是:平时就把每个用户需要的 timeline数据按照权限设置准备好,等到用的时候(刷新朋友圈)就直接读取准备好的内容。那么答案就出来了:除了存储一份上面讲到的文字,图片等基本信息外,还需要给每个用户存储一份timeline数据,注意,是每个用户一份。当然,这里的“每份”不需要存储完整信息,只需要存储消息的ID和时间 (可能需要)。每个人刷新自己的朋友圈时,读取自己的那份数据就行了,既不用去消息池子里面筛选,也不用判断用户权限。
篇7:微信产品推广方案精选
(一)方案主旨
由主办方商学院文化部运营的微信平台XX《XX》(微信号:XX),通过线上与粉丝的互动活动,将酒产品作为奖品,对《XX》以及酒产品进行双向推广,同时又能吸引更多的粉丝。
力求让《XX》的平台品牌化,在酒行业营销杂志,及新媒体领域具有更高影响力。
(二)活动方案设计
- 产品经理简历2024-09-25
- 产品信格式2024-09-22
- 杜蕾斯是如何在微信成功营销2023-07-15
- 关于成功心态的励志微信语录2025-01-25
- 产品经理简历模板2023-01-17
- 我理解的产品经理2022-12-11
- 产品经理年度总结2022-12-11
- 产品经理求职信范文2024-03-31
- 产品经理就要“眼高手低”2024-09-08
- 产品经理如何自我介绍2025-01-03