最新公告
  • 欢迎您光临【壹流源码】,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • B端产品面试技巧:业务调度设计的逻辑测验及分析


    编辑导读:为了提高我们的思维能力,需要有意识地观察生活,并做一些产品思考。本文作者将以一道产品的笔试题为例,谈谈业务调度设计的逻辑测验及分析,希望对你有帮助。

    个人一直觉得产品面试是一件非常有挑战的事情,今天选择从一个角度分享B端产品的面试技巧。

    这是一道笔试的面试题,这道源自于老狗某日在等电梯时的突发奇想。

    一栋楼内有N部互相关联的电梯,当任一楼层内的用户,按下呼叫键(上/下)后,系统对接载乘客需求的响应逻辑该如何设计,目标是让电梯实现高效且合乎我们日常使用体验。

    这个问题,通常情况下,请作为笔试题,并给候选人至少30分钟以上思考时间。

    老狗当初冒出这个想法的时候,自己考自己,花了几天时间才把逻辑给抽象出来,从我实际面试经验来看,如果这个问题在当面沟通时抛给候选人的话,实时能够描绘出逻辑的人,基本为零。

    但这绝对是一个值得去琢磨的问题,对于提升自己的逻辑性有非常大的帮助。

    这个问题的本质是什么?

    这个问题本质上,我把它定义为“业务调度设计能力”。

    在B端产品经理的专业能力树中,业务调度的逻辑抽象能力,我认为是极其重要的一项基本能力,带大家一起分析下这个问题。

    最熟悉的场景,却不曾思考过的复杂逻辑。

    问题中,包含了非常多的变量:

    1. 楼层数是变量;
    2. 电梯数是变量;
    3. 呼叫电梯的人,所处的楼层是变量;
    4. 呼叫电梯的人,往上/往下的需求是变量;
    5. 呼叫电梯的人,与电梯轿箱的相对位置是变量;
    6. 呼叫电梯的人,往上/往下的需求,与电梯运行的相对方向,也是变量;

    目标是高效的接载逻辑,高效背后代表了以下诉求:

    1. 较低的使用能耗;
    2. 运行过程中尽可能多的进行接载送达;
    3. 满足整体的快速接载及送达;

    在逻辑高效的基础上,确保逻辑架构的合理,便于扩展其他分支逻辑,比如:

    1. 考虑轿箱内乘客的体验,当前楼层距离呼叫楼层过近时,不能瞬间停靠,需要排除;
    2. 某一轿箱故障/检修时,需要排除;
    3. 某一轿箱满载时,需要排除;
    4. 某一轿箱长时间停滞时(被人卡门),是否要排除候选;
    5. 更多;

    所以,如果你是电梯软件系统的产品经理,你认为接载的业务调度逻辑该如何设计呢?

    一、如何设计?

    业务调度的逻辑思考:

    依据效率优先原则,优先考虑优先条件全部满足的场景。其背后的逻辑,与我们赶火车时的逻辑非常类似:当我们要从杭州去上海的时候,假设每趟火车的时长都一致的情况下,我们应该如何选择火车?

    赶火车时的常理思维:

    • 选择当前所有已发列车中,最快到达杭州站的火车且往上海去的,然后顺路上车是最快的。
    • 相对我而言,虽然发车但反向开走的火车,我都会排除掉。
    • 如果没有向杭州来且往上海去的运行中的火车,则我会考虑未发车的火车。

    电梯场景下的业务调度设计:

    电梯按下呼叫按钮瞬间,我们需要选出一个目标电梯来接载。在触发按钮的状态下,电梯可以分成“运行状态”,和“静止状态”两个分类:

    • 为了节能,我们优先考虑运行中的电梯;
    • 为了考虑具备接载的可能,选择距离最近,且顺向的电梯即为目标,若逆向直接纳入排除列表,再选择下一个距离最近的继续判断是否顺向……
    • 若运行中的电梯,没有找到顺向者,则考虑静止状态的电梯;
    • 为了节能,优先考虑距离最近的电梯且未被排除的电梯,即为目标;
    • 若都没有合适的电梯,则系统等待当前电梯任务结束后,再重新判断;

    核心解决思路:抽象出最关键的调度核心逻辑,同时考虑逻辑扩展的可能性。

    二、供参考的个人答案

    1. 选出当前距离任务楼层最近,且,未被排除的电梯(被排除的可以状态很多:如满载超重、故障代码、人为卡门超时、维修暂停、节能暂停等……),判断是否有可选电梯;
    2. 若有电梯,则判断该电梯是否正在执行运输任务;
    3. 若是(执行中),则判断是否执行顺向任务;
    4. 若是(顺向),则将任务插入该电梯运行队列,实现接载(此处可以有扩展逻辑,如顺向,但距离过近则排除等);
    5. 若否(反向),则列为“排除电梯”,并重新执行逻辑1;
    6. 若否(未执行),则将任务插入该电梯运行队列,实现接载;
    7. 若无电梯,则等待空余电梯通知,通知发生时,清空排除电梯清单,重新执行逻辑

    *所谓“顺向”的判断逻辑:呼叫指令的发起楼层,位于电梯当前楼层至行驶方向终点间的楼层间隔内(即避免方向相同,但“已过站”的问题)。

    三、延展思考

    业务调度设计过程中,高效判断逻辑,严谨的闭环设计是核心重点。

    其实除了电梯,还有其他很有意思的调度设计思考题。比如火车的车票,应该如何进行售卖及控制(多个站点停靠,多位置,需求只占中间的某一程),系统应该如何设计调度规则,才能实现合理的需求与供给匹配?

    当然这个题太复杂,根本不适合做面试题,但是建议B端的产品,可以在各种碎片时间进行一些调度逻辑的设计,练练脑。:)

     

    本文由 @十六年产品老狗 原创发布于人人都是产品经理,未经作者许可,禁止转载。

    题图来自Unsplash,基于CC0协议。

    壹流源码,分享互联网优质资源,常用破解版软件、开源源码、技术教程等装机必备工具,以及各种行业应用、媒体处理、编程开发、Mac应用系统工具。
    壹流源码 » B端产品面试技巧:业务调度设计的逻辑测验及分析

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    壹流源码
    一个高级程序员模板开发平台

    Leave a Reply

    • 607会员总数(位)
    • 5373资源总数(个)
    • 29本周发布(个)
    • 0 今日发布(个)
    • 402稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情