技术下午茶:产品经理是如何工作的?如何才算一份好的需求文档?如何设计一个简单的列表,它应该具备哪些基本功能?

简介: 技术下午茶:产品经理是如何工作的?如何才算一份好的需求文档?如何设计一个简单的列表,它应该具备哪些基本功能?

技术下午茶:产品经理是如何工作的?如何才算一份好的需求文档?如何设计一个简单的列表,它应该具备哪些基本功能?


前言

经常会被产品童鞋问到关于求职面试相关的问题,作为一只从业经历5年的B端产品汪,再回过头来看待这些标准的面试问题,总是有些不同的感悟。

那么今天就来分享下在产品求职面试中会被经常问到的几个问题,供刚入职不久的产品萌新,或者想要转岗的童鞋作为参考。

如有歧义,以你为准。

1、产品经理是如何工作的?

我们先来看看计算机是如何解决问题的,首先从具体的问题抽象出一个适当的数学模型,然后设计一个求解该数学模型的算法,最后用某种计算机语言编写实现该算法的程序,调试和运行程序,直至最终得到问题的解答。

产品经理的工作方式也类似,首先将具像化问题抽象出一个可以描述用户痛点的用户场景,然后设计一个最优的可以解决用户场景中的痛点的产品方案,最后编写详细产品设计方案,经由开发实现、测试、交付直至最终解决用户的痛点。

image.png

2、如何才算一份好的需求文档?

我们先来看看如何评价一个算法的好坏:能正确地实现预定的功能,满足具体问题的需要;易于阅读、理解和交流,便于调试、修改和扩充;即使输入非法数据,算法也能适当地做出反应或进行处理,不会产生预料不到的运行结果;应当考虑算法的时间性能和空间性能。

一份优秀的需求文档参考维度也类似。

首先是正确性,需求文档需要正确地描述产品的功能及其满足的用户场景;

其次是易读性,需求文档是面向于开发人员、测试人员,其书写的逻辑结构必须容易理解并且可实现,而且产品功能不能固化写死,需留出后期扩展的空间;

再次是健壮性,需求文档应该描述各种输入内容下经由产品功能处理后的输出结果,并且考虑到各种用户输入性错误处理和系统判断规则处理,简单的如非空判断,格式错误,编码不存在,编码未启用等;

最后是时空性,需求文档规划的功能需要考虑其时间复杂度和空间复杂度,即时间效率和空间效率。

时间复杂度是产品功能逻辑所带来的系统计算量,运算过程会消耗时间,示例:计算机读取数据效率为1000条/秒,假设读取的数据为组合结构,商品+颜色+尺码,则500个商品,每个商品5个颜色,每个商品20个尺码,数据量为5W,则读取该数据需要50秒。当使用并行20个POD节点,则需要2.5秒即可完成。

空间复杂度则是在系统运算时所占用的存储空间,包含程序运行占用的空间、输入的数据占用的空间,以及一些辅助运算的算法占有的空间。示例:多人同时使用系统,所带来的操作占用了系统进程,后来的操作就需要排队才能执行。

image.png

3、如何设计一个简单的列表,它应该具备哪些基本功能?

我们可以先来看看线性表的基本功能:初始化一张不包含数据元素的空表,求表长、读取表中的元素、定位表中的元素、插入一个新数据元素、删除表中的数据元素。

一个常规的列表应该包含增删改查4项基本功能。

  1. 增为增加,即用户根据列表字段规则输入内容,完成后系统在列表中插入一条数据;
  2. 删为删除,即用户首先定位列表中的数据行/列,然后删除定位的数据;
  3. 查为查找,即用户根据某一指定的数据,列表读取并筛选符合条件的数据并更新列表;
  4. 改为修改,即用户首先定位列表中的数据行/列,然后修改其内容,系统重新赋值更新数据。

了解了基本功能后再考虑基本的交互逻辑,设想下用户常用的操作场景,首先点击菜单入口打开一个列表页面,查看列表数据或是通过筛选条件查看指定数据,找到某条信息后修改或者删除数据,若没有符合的数据,则通过新增数据的方式插入信息。

除了基本的增删改查外,还可以引入批量操作的功能,对某些具有相同业务场景的数据进行批量修改。

另外,列表页面可以有2种设计方式,一是展示一个缺省图,即空白列表,需要用户输入指定筛选条件才能查询数据,常用于数据报表等列表设计。由于其数据量大,查询效率低下且不具有一定业务查询确定性,则可以让用户先提供条件,再根据条件进行查询。

另一种则是页面初始加载指定数据,系统已经按照用户常用使用场景预设好一定的条件规则,并且在页面打开时便展示列表数据供用户查看。这一种列表设计方式常用于数据量少,且具有高频业务场景使用的情况。

image.png

未完待续

以上观点仅为个人闲暇之余对于一些面试题的思考。想起以前做面试官的时候,开场来来回回问的也就这些,也没有什么新意,后面问具体做过什么项目以及项目细节才是核心。

在此写下了并分享,算是有做了一次个人复盘,对比以前的回答也有了些许的不同,这应该算得上是一种进步吧~

相关文章
|
26天前
|
机器学习/深度学习 数据采集 监控
数据分析师的主要工作内容涉及哪些方面?
【4月更文挑战第4天】数据分析师的主要工作内容涉及哪些方面?
20 8
|
2月前
|
小程序 开发者
【社区每周】小程序商品能力两项接口变动(11月第三期)
【社区每周】小程序商品能力两项接口变动(11月第三期)
39 0
|
8月前
|
关系型数据库 MySQL 数据库
MinDoc:针对IT团队的文档、笔记系统
作为一名IT从业者,无论是在公司团队中,还是在平时自己写一些笔记、博客等文档,我都习惯使用markdown来进行书写。在使用过许多支持markdown语法的系统或软件(如Typora、未知、我来、思源、觅道等)后,我总觉得它们不能满足我的需求。直到我发现了MinDoc这款针对IT团队开发的简单好用的开源文档管理系统。我们下面将介绍一下这个项目及如何使用docker-compose 快速部署。
172 1
MinDoc:针对IT团队的文档、笔记系统
|
开发工具 git
【开发随记】【提效】工作习惯那些事系列之三——邮件管理
【开发随记】【提效】工作习惯那些事系列之三——邮件管理
【开发随记】【提效】工作习惯那些事系列之四——任务管理
【开发随记】【提效】工作习惯那些事系列之四——任务管理
【开发随记】【提效】工作习惯那些事系列之四——任务管理
|
开发者
氚云丨开发课— 08 流程操作及组织机构管理| 学习笔记
快速学习氚云丨开发课— 08 流程操作及组织机构管理。
279 0
|
监控 前端开发 JavaScript
内部系统产品经理手册
近几年来随着内部系统这一概念的兴起,与内部系统相关的产品管理工作也得到了长足发展。
432 0
内部系统产品经理手册
|
测试技术 Python
测试圈相亲平台开发流程(17):删除功能
测试圈相亲平台开发流程(17):删除功能
测试圈相亲平台开发流程(17):删除功能
|
敏捷开发 前端开发 数据库
测试圈相亲平台开发流程(16):保存修改
测试圈相亲平台开发流程(16):保存修改
测试圈相亲平台开发流程(16):保存修改
|
存储 Python
热饭的测开成果盘点第二十二期:wqrfnium自动维护库
本期介绍的是一个组件,身为python的第三方库,已经被pypi收录,且国内镜像源也早已复制。也就是说可以通过pip install 来下载。这个组件包括:wqrfnium 和 wqrfnium_app 。他们都是基于python/selenium/appium的一个可以自动维护ui元素,抵抗ui元素定位变化的组件。
热饭的测开成果盘点第二十二期:wqrfnium自动维护库

热门文章

最新文章