状态:已经填好的行数,每一行填在了哪些位置
选择: 最多N种选择
路径:放置了Queue的位置的列表;
结果集:列表的列表
结束条件: 已经把所有的行数填写完;
1 | class Solution { |
状态:已经填好的行数,每一行填在了哪些位置
选择: 最多N种选择
路径:放置了Queue的位置的列表;
结果集:列表的列表
结束条件: 已经把所有的行数填写完;
1 | class Solution { |

outplace的都是稳定的;
outplace的需要一定的memory, inplace中的qsort由于是递归的,所有需要lgn的mem,其他的都不要额外的内存
inplace大多数都不稳定,除了冒泡排序、插入排序
| 算法 | 思想 | 衍生问题 |
|---|---|---|
| quick sort | 分治思想,借助双指针在$O(n)$时间内完成partition | 线性第k大,线性求中位数 |
| merge sort | 分治思想,双指针(稳定的) | 逆序数 |
| heap sort | 借助容器来实现排序,还有类似的BST中序遍历 | topK问题 |
| counting sort | 空间换时间,非比较;通过扫描min/max来支持负数,通过累加和+倒序遍历来保持稳定 | |
| bucket sort | 抽屉原理,稳定排序,适合元素值集合较小的情况,特别适合外部排序 | 排序后最大间隔问题、大整数文件取中位数问题 |
| radix sort | 稳定子排序算法(计数排序、桶排序来实现)对数字进行k遍排序 | |
| shell sort | 分块思想,缩小增量排序,一种特殊的插入排序;递减序列的选择很重要 | 适用于基本有序序列 |
| insertion sort | 减治思想,扑克牌 | 适用于基本有序序列 |
| Bubble sort | 稳定 |
归并排序,是一种特别有用的排序算法;
它背后的算法思想是 分治。
归并排序同时也是一种思想,可以解决归并排序思想解决很多问题。
例如,计算逆序数。
1 | //归并排序算法模板 |
1、corePoolSize:线程池中的常驻核心线程数
2、maximumPoolSize:线程池能容纳同时执行的最大线程数,此值必须>=1
3、keepAliveTime:多余的空闲线程的存活时间
当前线程池数量超过corePoolSize时,当空闲的时间达到keepAliveTime值时,多余的空闲线程会被直接销毁直到只剩下corePoolSize个线程为止
4、timeUtile:keepAliveTime的单位
5、workQueue:任务队列,被提交但未被执行的任务
6、threadFactory:表示生成线程池中工作线程的线程工厂,用于创建线程一般用默认的即可。
7、handler:拒绝策略,表示当队列满了并且工作线程大于等于线程池的最大线程数
线程池内部是通过队列+线程实现的,当我们利⽤线程池执⾏任务时:
CPU密集型:CPU核数+1个线程的线程池
IO密集型:a)CPU核数*2;b)CPU核数/(1-阻塞系数)。(阻塞系数:0.8~0.9)
第一种拒绝策略是 AbortPolicy,这种拒绝策略在拒绝任务时,会直接抛出异常 RejectedExecutionException (属于RuntimeException),让你感知到任务被拒绝了,于是你便可以根据业务逻辑选择重试或者放弃提交等策略。
第二种拒绝策略是 DiscardPolicy,这种拒绝策略正如它的名字所描述的一样,当新任务被提交后直接被丢弃掉,也不会给你任何的通知,相对而言存在一定的风险,因为我们提交的时候根本不知道这个任务会被丢弃,可能造成数据丢失。
第三种拒绝策略是 DiscardOldestPolicy,如果线程池没被关闭且没有能力执行,则会丢弃任务队列中的头结点,通常是存活时间最长的任务,这种策略与第二种不同之处在于它丢弃的不是最新提交的,而是队列中存活时间最长的,这样就可以腾出空间给新提交的任务,但同理它也存在一定的数据丢失风险。
第四种拒绝策略是 CallerRunsPolicy,相对而言它就比较完善了,当有新任务提交后,如果线程池没被关闭且没有能力执行,则把这个任务交于提交任务的线程执行,也就是谁提交任务,谁就负责执行任务。这样做主要有两点好处。
第一点新提交的任务不会被丢弃,这样也就不会造成业务损失。
第二点好处是,由于谁提交任务谁就要负责执行任务,这样提交任务的线程就得负责执行任务,而执行任务又是比较耗时的,在这段期间,提交任务的线程被占用,也就不会再提交新的任务,减缓了任务提交的速度,相当于是一个负反馈。在此期间,线程池中的线程也可以充分利用这段时间来执行掉一部分任务,腾出一定的空间,相当于是给了线程池一定的缓冲期。
用户增长的前提是你的产品是满足需求的,且与市场是匹配的(用户来了之后才能够留得住),但到达用户存在阻碍。
所以用户增长的主要工作就是:要减少阻碍,降低交易成本(比如认知成本、信任成本、分享成本等等)。
开始前,先问问自己 7 个与增长相关的基础问题,带着问题思考更高效。
(1)XX公司的商业模式是什么?
(2)XX公司所在的社会环境是什么?
(3)XX公司处在企业生命周期的什么阶段?
(4)XX公司的增长战略、增长策略、增长战术是什么?
(5)XX公司的用户是谁?
(6)XX公司当前是怎么做用户增长?
(7)XX公司的北极星指标是什么?
(因为)不同商业模式、不同阶段,则有不同的增长侧重。所以谈用户增长不能不谈商业模式、社会大环境、企业生命周期。
时间轮
逻辑形式:时间轮
实际结构:链表数组
实现原理:
最小轮子走一圈,它的上层轮子走一格。
假设图中每层轮子为20个格子,第一层轮子最小时间间隔为1ms,第二层为20ms,第三层为400ms,此时添加5ms后执行的任务,此时应该添加到第一层的第5格子中。
如果此时添加445ms后执行的任务,则第一层表示的时间跨度不够,第二层表示的时间跨度也不够,第三层表示的时间跨度足够,该任务应该放到第三层轮子第二格子中,该轮子指针指到第二格子中时,计算离任务启动时间还有多长时间,慢慢将该任务移动到底层轮子上,最终任务到期执行。
HashedWheelTimer时间轮是一个高性能,低消耗的数据结构,它适合用非准实时,延迟的短平快任务,例如心跳检测。
1 |
|
设dp[i][j]为从i到j的字符串,回文子序列的最大长度
IF d[i] == d[j];
dp[i][j] = dp[i + 1][j - 1] + 2
ELSE
dp[i][j] = max(dp[i + 1][j], dp[i][j - 1])
如何遍历,通过图示法可以得知,首先沿着对角线,然后斜向上。
!(图示)[https://pic3.zhimg.com/80/v2-1988e6664d09383c479fc879dcc419fa_1440w.webp]
作为一个时不时需要跟产品同学打交道的非专业人士(一介码农),有必要掌握一些一些关于产品的入门知识。
下面的这几个问题,我觉得是最基础的。本文就结合梁宁老师的《产品思维30讲》来尝试着回答一下。
作为一个时不时需要跟产品同学打交道的非专业人士(一介码农),有必要掌握一些一些关于产品的入门知识。
下面的这几个问题,我觉得是最基础的。本文就结合梁宁老师的《产品思维30讲》来尝试着回答一下。
第一个问题,产品的本质是什么?
我们首先考虑下你用过有哪些产品:
产品,有时候是一项服务,例如理发。
产品,有时候是一个实体,例如手机。
产品,有时候是一个网站,例如 www.baidu.com
产品,有时候是一个app,例如大众点评app
等等,某一个能产生现金流的债权也有可能被证券化,打包成一款产品,供其他人来购买。
让我们看一下百度百科上产品的定义:
产品是指作为商品提供给市场,被人们使用和消费,并能满足人们某种需求的任何东西,包括有形的物品、无形的服务、组织、观念或它们的组合。
从上面的定义可以看出,关于产品最重要的一点就是:它需要能够满足用户的某种需求。
用户需要被满足的需求有很多。例如,我老婆在购物时发现有一个商品一下买两个的话价格会便宜50%,可是呢?两个她又用不了。这时候,他就产生了一个需求:“如果有一个人跟我一起买就好了!”
还有一点,好多时候用户在出现某一款产品来满足他的“需求“之前根本就没有需求。Jobs就说过,用户根本不知道自己想要什么。例如,在汽车出来之前,人们出行都是靠马车的。那个时候,用户能够说出自己的真正需求吗?
说这么多,回答刚才的问题。产品的本质是什么? 在我看来,产品就是用来满足用户需求的东西。这句话的重点不是主语,而是定语。好的产品与坏的产品的差别就在于:
所以,做好一款产品,最重要的是就是围绕着用户去思考,我可以解决哪些用户的哪些需求,给这些使用我产品的用户带来什么价值。
用一个公式来表示: 产品价值 = 细分用户 * 用户需求
为什么要细分用户呢? 因为不同的用户有不同的需求,而一个产品不可能满足所有用户的需求。
如何准确洞察用户的需求?
了解人有哪些
产品能力,就是这样训练一个人:
判断信息,抓住要点,整合有限的资源,把自己的价值打包成一个产品向世界交付,并且获得收获。

微观视角
同理心 人性 心理学

用户体验,对人或者产品做一个体检:
任何产品的5个层次,从表到里:
【表层】感知层(让人直接感知到的外在)
【表层】角色框架层(集体赋予你的人格,通过教育习得,角色化)
资源结构层(一个人的财富、人脉、甚至精神资源,也就是一个人的历程)
【内核】能力圈(扩充能力圈,极其痛苦)
【内核】存在感(正是由于存在感不能被满足,才会去扩大自己的能力圈
现在,我们再把一个人从外而内的五层再拎一遍:
最外层是感知层,是你看到的一个人的样子,他的相貌、举止、着装。
其实当你看到这个人的时候,你要知道有一部分是天生的,有一部分其实是角色化的产物。
在感知层之内的第二层是角色框架层。
在角色框架层的再往里的第三层是资源结构层,资源不只是大家一般都会认为的人脉和财产,还包括了一个人的精神结构和他的精神资源。
在这个资源结构层再往后的一层就是能力圈,在能力圈的里面就是这个人对自己存在感的感知。
所以,如果你明确知道自己想成为一个什么样的存在,你就会不断地改变自己的能力圈,改变自己的资源,然后甚至改变自己外在的样子。
学会读懂用户的情绪
用户不会分层次的表达自己的体验,只会表达自己的情绪。
四种最基本的生物性情绪
愉悦、不爽、愤怒、恐惧
满足
愉悦,就是自己的个层面的需求被满足
一个蹦了很久侧需求,突然被满足,就叫爽
上瘾:(微小的愉悦感 + 突然被满足的爽感)= 确定性的满足
不爽:就是不满足
做产品:就是通过产品建立你与人之间的关系,通过产品来服务人,本质就是用户是否通过你的服务得到了满足。
这就是上帝给你初始化的操作系统的密码,你不厌其烦的地方,就是你的天分所在。
满足是度量产品、人与人关系的度量
被侵犯,因为侵入者的体量不同,而出现不同的情绪:愤怒、恐惧
愤怒:就是感觉到自己的边界被侵犯
恐惧:就是感觉到自己的边界被侵犯,而无可奈何
愤怒,就是一种恐惧,一种对自己无能的恐惧;羞耻感也是一种恐惧,一种对社会评论的恐惧;忧郁也是一种恐惧,来自无法逃避的想象的恐惧,一种持续的恐惧,内化为忧郁。
恐惧
恐惧是边界,看到了一个人怕什么,就看到了他的边界。
恐惧是动力,害怕失去现在的好生活,害怕给不了家人更好的生活,所以采取努力。
恐惧是痛点,做产品,要么满足人们让他爽,要么帮他们抵御恐惧。例如化妆产品可以抵御对青春逝去的恐惧,罗辑思维可以抵御人们对认知焦虑的恐惧。
因为人会基于自身所处的角色、所在的场景和个人的认知判断,选择性地说一些他觉得正确的话。
优秀的销售人员(打破防御)与 优秀的产品经理(根本不让用户启动防御)
基于意识清醒的交流,达成交易的唯一方式:“让对方感觉占了便宜” —-打破防御
而好的产品经理,在于不让用户启动防御,顺应用户的潜意识。意识即防御。
潜意识:1)童年 2)催眠(本质就是绕过防御)-重复(手段)/集体人格
集体人格 / 角色
集体,一堆角色,集体人格
集体人格的形成,角色化行为,就是一个人被教育的过程:
确定目标:给人们树立什么的观念
建立恐惧的边界(明确角色不可以做什么,如果违反了,就惩罚)
放入清晰的标的(明确角色只能做什么)
给予红利,然后让他产生路径依赖
不断重复
为什么通过教育让人形成集体人格呢? 为了便于管理。所以,教育是违反人性的。
教育是按照人类对社会的美好期望来教育你,换句话来讲教育是理想化的
有经验的将军其实能够通过训练与管理,让一个集体的集体人格短时间压倒个体的脆弱。老大一声喊,大家就冲上去了,但是这是不得已才会发生的情况。
自然(自发,符合人性) 与 应该(被教育,反人性)
人们只有在压力非常大的情况下,才会去扮演角色。除非你给他的压力非常到位,否则就不要对他做角色化预期。
角色化生存,角色化生存就是我们真实的生存处境。产品经理应该去角色化得认识、沟通、交互,才能得到真正的感情。
自律 VS 自我,哪一个更贴近产品精神。
做产品经理的人善于感知,在已有的结论上建立新观点。而做其他管理的人更善于逻辑推理和总结归纳。
自律:靠恐惧驱动、规则边界,控制力是自律的延伸
被认为算“左脑思维”的人:
逻辑推理能力强、时间观念强,同时感受力差
因为感受力差,所以没那么敏感和情绪化,整个人体现为情绪稳定,甚至刻板;
更容易根据规则调适自己,更自律,更容易角色化。
自我:靠愉悦驱动,创造力是自我的延伸。
感受力强;
能在别人已经有结论的地方,建立自己的新观察,并且不太喜欢听已有的逻辑;
难以控制自己的情绪,能激情地表达自己,具有人格魅力。
看到自己的愉悦和恐惧,看清自己的天分,看到别人的愉悦和恐惧,了解他们的潜意识与集体人格,不要触发他们的防御。
中观视角 日常产品工作视角
机会判断(一套底层思维,三个具体方法)发现机会

机会判断
点线面体思考框架
穷人-点的努力
中产-至少要获得一次线性周期的收益
富人-借助面和体的崛起(国家、经济体、经济周期、产业、行业、领域)
做一个产品的时候,入手只能是一个点;但是:
这个点,是附着在哪个面(你在哪个公司上班)上?这个面是在和谁竞争,他能如何展开?
这个面,是附着在那个经济体上?这个经济体是在崛起还是在沉没?
1.描述一下,你现在的职业是什么样的一个点?
2.你所在的公司或者业务肯定是需要串联很多点的一条线,那你的这个点是在公司这条线的什么位置上?
3.这个公司附着在什么样的一个面上,谁在给你或你的公司赋能?这个面又是附着在哪个经济体上?
就好像在地球仪上,找到自己的位置点一样,请你用点线面体的框架,尝试标一下自己的位置。
孙子兵法:
胜与不胜在于彼,败与不败在于己。(《孙子兵法》的全篇核心就是这个概念,意思就是说:我能不能赢了你,其实我做不了主,这是你的问题;但是我会不会输,会不会打光所有的牌,会不会下桌走人,那是我自己的问题。)
求之于势,不责于人。(一个人要做成一件事情,其本质上不在于你有多强,而是你要顺势而为,于万仞之上推千钧之石)
作为领导者,要自己去寻找有势能的面,而不能寄希望于员工的点。反过来你要想,大家把自己最好的“点“都给了你。在一个时间周期之后,你会回报给大家什么样的线性收益呢?
离开你情绪的点,去看线的方向,去预测这条线的周期,并且明确自己在周期的哪个位置,是哪个面再给你赋能。
你在一条正弦曲线的哪个位置? 这个曲线是往下的还是向上的?
人生的选择远比努力更重要。
你的个人努力,只是在点、线、面、体的既定框架内,作为一个点的挣扎而已。
从点开始:痛点、爽点、痒点都是产品机会
表象之下:
为什么?因为自我实现其实是一条漫长而痛苦的路。人的本性是懒惰的。你看到一个人展现出了勤奋、规整、自律,其实这是被一系列的恐惧(痛点)、集体人格、潜意识压迫,才会呈现出那个样子。
痛点:就是恐惧,打中人的恐惧
爽点:就是即时满足,用户有什么需求,你能够即时满足他
痒点:就是满足虚拟自我,要满足用户想象中的自己。例如,网红产品的流行。
用户:两套经典的用户画像(其实两套用户画像系统)
第一套:羊群与草地
草地:你提供的产品,我们提供的草地,一定要让“第一只羊”爽,能够满足他们;
第一只羊(关键角色):你的首批用户,羊死了,或者羊在草地上玩的不爽
你找到了这个用户,他可以在你这里得到即时满足玩得很开心,那么针对这只羊,针对这个用户的同类用户去做推广,你的产品就可以被快速地推开。
头羊(关键角色):核心用户,自组织,具备网络效应;头羊的数量决定了你的网络效应有多大。
当你要评估一个产品或者一家公司的网络效应有多大时,一个非常简单的评估方式就是数一数它有多少头羊(比如说论坛的版主、Y公会的老大、微博的大V、重度用户、淘宝的店主,这些都是头羊。)
狼:变现用户
基本上所有玩互联网网络效应的、玩社区都是这一套用户画像。
例子:摄影网站的版主、BBS天涯的版主、百度贴吧的版主、淘宝的买家
第二套:大明、笨笨、小闲
大明用户需要的是搜索,因为他们对自动主动要找的东西是非常明确的。
最早的互联网电商:找到自己想要的,然后比价格。京东的成功,源于强大的体量,对供应链的挤压能力越来越强,能够越来越好的服务好大明用户。
用户特点:需求清晰明了(价格、帮我搞定事情)、没有忠诚度
女人买裙子,小红书,逛。
笨笨变大明:逛到要买的东西后,开始追求最便宜的。但是,如果笨笨决定了要买什么产品,那么下一秒有70%-80%的概率,笨笨就会变成大明,然后开始去追求价格。
一个经典场景是我在豆瓣东西上找买东西的灵感,接着到淘宝上去找最便宜的一件购买。
百度、京东服务小明,淘宝服务笨笨,那么腾讯就是服务小闲的。
QQ、微信朋友圈、游戏、看视频
腾讯用户往游戏、视频的转换率会很高,但是往电商转化却很低,源于场景不对。
两套画像的关系 + 痛点、痒点、爽点
不管是小明、笨笨还是小闲,他们都是羊;你想服务哪种羊,就要按照三种不同的羊的需求,来管理你的草地,来制作你的产品。
具体到 痛点、痒点、爽点,你得让三种羊按照他们的心理预期,来吃一口你的草,如果吃得开心就再也不离开了。具体就是:解决了他的痛点、让他开心让他爽了。
狼:
腾讯像用户收费,剪羊毛
京东、淘宝向商家收费
场景-设计产品时要包括产品的场景
什么是场景
场:一个场就是时间加空间,用户必须在这个空间里停留和消费(不停留,不是场景)
景:情景和互动。
当用户停留在这个空间的时间里,要有情景和互动让用户的情绪出发,并且裹挟用户的意见,这就是场景
新场景的出现,其实也是一个“体”,比如碎片时间就是一个新场景。
罗辑思维:碎片时间(一个新的场景) + 认知焦虑(用户痛点)
场景的核心就是在时间加空间的点上触发别人的情绪。
人的理智和意识都是把人往回拉的,而所有的情绪都是推动人的行动的。所以人会做某一个动作,会往前走,是被情绪所推动的。
只有能触发用户情绪的场景才是真正的流量入口。
互联网商业其实就三个核心词:产品、流量、转化率,也就是产品的比拼、流量的争夺、转化率的优化。这就是互联网竞争的全部。
当你规划一个产品时,要问自己七个问题:
(1)我的产品解决了什么问题?是痛点、痒点还是爽点?
(2)我是在为谁解决这个问题?他得到即时满足了嘛?这是用户画像的问题
(3)有多少人需要解决这个问题?这个是市场规模的问题
(4)目前人们是如何解决这个问题的?这个是竞争分析的问题
(5)我的竞争方案为什么能够在市场竞争中胜出?你不要简单的看单点的竞争力,而是要看点线面体,谁给你赋能
(6)用户会在怎样的场景触发情绪?需要马上去解决问题,这是场景问题。
(7)当用户遇到问题的时候,他会想到哪个名字?
系统能力(四个步骤,打造个人、公司核心能力)

用系统能力给人提供确定性
我们看到的所有结果,都是系统能力的产物。你可以回到《机会判断:点线面体的战略选择》一课里,思考为什么一个“点”没那么重要?因为任何一个“点”都附着在一条“线”上,每一个“点”其实都是一条“线”的截面。
这也是为什么结婚教练建议以结婚为目的的相亲,第
一次见面正常平淡即可,没有必要专门地表现自己,因为每个人的自然呈现都是系统能力的结果。
比如一个人好的身材,其实是长期自律的结果;一个人得体而有美感的着装,其实是长期的审美陶冶的产物;一个人的神情和谈吐,其实是学识和性情的产物。所以一个人很自然地展现的一切,是层层叠加、长期积累的系统能力的产物。
当你说你要做一个产品,你需要的是建设一套系统能力。
就好像你想拥有好的身材,就必须得有控制饮食和保持运动的系统能力一样。
整体流程和确定性
以用户得到一个洞为目的去提供服务,而不是想着把要做一个打孔机,卖给卖出去,这就是产品与服务的区别。
如果总谈产品,容易以产品经理为中心,想着通过一款产品去改变世界。但
是如果出发点是服务,就会以用户获得和用户满足为中心来设计。
这两种方式的目的和实现途径完全不一样。
产品:ATM
服务:取现金
系统能力(确定性):验证ID后,问你需要多少钱,然后吐钱给你。
人们生来惧怕不确定性,所以当我们提供了某种确定性,其实就是解决了用户的某一个痛点。
你现在急需用钱,可是ATM能不能取到钱是不确定的,你害怕吗?
不确定性的东西是没有办法让你投入时间或者持续依赖的。
围绕ATM系统能力的设计和建设,所做的一切都是为了确保确定性。
(当你提供核心服务时,也分流了系统的核心资源)
从存在感 到 能力圈层,再到资源层。
当你提供核心服务的时候,也分流了企业的核心资源。
基于服务的本质,我们需要的几个流程:
(1)战略判断:战略部门需要做一个决策,为什么要提供这个服务?提供服务对于企业、对于用户的价值是什么?可能的价值点~
(2)运营部门要对每一台ATM有没有实现战略诉求来做价值评估(看看取款机有没有人用)
(3)运营不闷对每个点的战略价值做完数据分析和价值评估后,需要哪个点存在,我就要保证它的服务可用(确保它能够吐出钱)
(4)维护ATM还需要更多事情,比如硬件管理
(5)客服管理
当你准备做一个产品时,基于系统能力,你需要考虑:
(1)你的产品在“点线面体”的什么位置?
(2)你提供的是一个什么样子的确定性
(3)为了确保确定性的稳定提供,你需要的系统能力需要包括哪些环节?你有足够的资本和能力来支撑所有的环节吗?
产品是系统能力的产物;而企业则是效率分工的产物。
做产品就是在建设一套系统能力,提供并保障确定性,而效率则是这个系统能力的一个核心指标。
互联网思维最关键的两个点:一个是用户体验,一个是效率。小米的护城河:效率。 —-雷军
效率就是快
当你决定要做一个产品,准备搭建自己的系统能力时,你先问自己一句“我应该从哪个点来建立我系统性的效率优势?”因为没有效率优势,这个系统是一个没有竞争力的系统。
小米:集中力量打造一款手机;小米之家(逆袭);小米小店
迭代就是小步快跑,把最内核的部分先放出来,不断优化,小范围试错。
版本规划能力,产品就是要直指人心!
判断产品经理是否牛B,很重要的一条就在于判断他设计的产品第一个版本有多简单、直接、切中要害,能不能直指人心。
不自信,才附加更多功能,寻找心理依靠。
所以产品的核心功能点有效比什么都重要,基于核心功能附加的其他功能点没有那么重要,可以一步步来。
圈层 (B站的二次元圈层)
圈层壁垒(B站的破圈之路)
互联网核心用户 460w (很长时间,微信红包很长一段时间内活跃用户数))
微信红包 =》 春晚
从400万用户到一亿用户,靠春节这样一个核心场景
的触发完成。支付宝积累一亿用户用了多久呢?大概是8年,而微信支付是一天。
用户体验(五个具体方法,优化你的表达界面与产品体验)
带领大家找到关键任务,穿越生死的能力,就是领导力。
普通员工:明确知晓有风险
项目经理:具备风险规避意识。
总监:有风控能力,有风险规避意识,明知有长线风险。无法避过时,知道如何组织大家做好突发预案。
总经理,能操作有风险的执行—-非生即死,富贵险中求
面对生死考验,依靠的不是管理能力,而是领导力。甄别关键任务,动员大家穿越生死。
所有的产品都是系统能力的结果;我们要做的不是一个产品,而是建设一种能力,然后为你的用户提供确定性。
系统能力的效率优势、系统的迭代能力,都不是最后你呈现的产品表面能看得出来的,但是你的系统能力是你的产品能否存在的本质。
只要你在创业,终有一天会面临跨越生死。那个时候,副总裁、总监通通都帮不了你。这时能够支撑你的,是你对关键任务的甄别,你内心的确认感和你真正的兄弟。
![用户体验]](http://cdn.b5mang.com/202121910397.png)
情绪纠偏,认知纠偏,不再只从原生感受上来看问题。从用户的潜意识层面考虑,从用户的情绪出发,通过场景reach到用户的痛点、爽点、痒点。
不仅要仅仅考虑用户,用户的需求可能随着时间带来的趋势发生变化甚至消失,所以我们要顺势而为,“于万仞之上推千钧之石”,预测趋势,顺应趋势,抓住趋势。
【承上启下】厚积薄发,厚积在于建设系统能力,薄发在于提升用户体验。
用户体验有哪5个层次:
明确的回答两个问题:
围绕着清晰的战略,我们需要明确回答:
能力圈朝着战略的方向变化、拓展。
资源:毛泽东一句话定义了“资源”,就是“谁是我们的敌人,谁是我们的朋友”。
建设资源与能力有关,更与战略有关。
用于网站是框架,用于用户是角色。
例如你跟空姐或者银行职员对话,她的反馈方式即是角色框定的。
精美的网站、简洁、体验
baidu 胜出 google,胜出在了资源层、能力圈层
google 胜出 yahoo,胜出在了框架层
用户体验地图就是通过画一张图,用一种讲故事的方式,从一个特定用户的角度出发,记录下他与产品或者服务进行接触、进入、互动的完整过程。
如何画用户体验地图
一个好产品,是从一个好故事开始的。要讲好用户故事,而不要过分关注数据。
CEO核心工作:定义战略、建设能力圈
服务设计蓝图:解决资源结构和角色框架的问题
用户体验地图,是以用户情绪为中心的,讲的是第一只羊如何才能玩得开心,具体在哪个点爽、哪个点不爽
而服务蓝图,则是以服务流程为中心的。你提供的产品,不可能满足用户所有的预期。资源有限,控制成本
服务蓝图到底要做什么:一眼,一条路、三个点
一眼:产品要第一时间让用户“一眼”看到自己的目标
一条路:产品要有一个清晰的路径,让用户能够知道如何使用你的服务,用来达到或者接近自己的目标。服务崩溃点
三个点:峰值、终值、忍耐底线
成本控制是本分,但是不能挑战用户的忍耐底线
峰终定律:体验最高峰(正面、负面)以及结束时的体验,难以忘记。

设计服务蓝图的核心在于:让你在资源有限的情况下,配置你的资源,在关节点上安排角色,保证整体服务路径不崩溃,尽量不要压倒用户的忍耐底线。然后,尽量集中资源,打造体验的峰值,最后在做一个体验终值的美好小尾巴。
激励:完成预定动作,就能得到满足。
不确定的爽点 与 确定的爽点,就是用户体验地图情绪曲线。
游戏的动力,就是压力感突然被满足,压力释放的爽感、确定性的获得、激励的满足感和在一起,让一个人成瘾。
确定就是依赖;不确定就是伤害;一个确定性的丧失,无论大小都是非常难受的。
宏观视角
创新模式(五个创新模式,洞悉顶级公司的创新战略)

一个复杂的应用程序可能会有更多的中间层次,比如基于API的API,不过基本思想仍然是一样的:
每个层都通过提供一个明确的数据模型来隐藏更低层次中的复杂性。
这些抽象允许不同的人群有效地协作(例如数据库厂商的工程师和使用数据库的应用程序开发人员)。
以上采用七层逻辑架构,第一层客户层,第二层前端优化层,第三层应用层,第四层服务层,第五层数据存储层,第六层大数据存储层,第七层大数据处理层。
客户层:减少Http请求数,浏览器缓存,启用压缩,Js异步,减少Cookie传输;
前端层:DNS负载均衡,CDN本地加速,反向代理服务;
应用层:业务拆分;负载均衡,分级管理,应用缓存,服务集群,快速失败,异步调用,服务降级,消息队列,幂等设计等。
服务层:提供公用服务,比如用户服务,订单服务,支付服务等;
数据层:分布式, 数据库集群,读写分离,NOSQL集群,文件系统集群;分布式缓存;冗余备份(冷,热备[同步,异步],温备),失效转移(确认,转移,恢复)。CAP理论,一致性算法。
大数据存储层:支持应用层和服务层的日志数据收集,关系数据库和NOSQL数据库的结构化和半结构化数据收集;
大数据处理层:通过Mapreduce进行离线数据分析或Storm实时数据分析,并将处理后的数据存入关系型数据库。(实际使用中,离线数据和实时数据会按照业务要求进行分类处理,并存入不同的数据库中,供应用层或服务层使用)。