产品设计类面试题,如何回答?

简介:

在求职面试中,经常会考察这种问题:

1)设计一个聊天软件
2)设计一个订餐软件
3)设计一个打车软件
​4)设计一个语音机器人
5)如何设计一份调查问卷

这问题叫作“产品设计问题”。无论你面试的职位是运营、产品经理、数据分析师、工程师,还是设计师等其他职位,都会遇到这类问题。

为什么面试会问这种问题呢?

这类问题可以全面考察一名应试者的逻辑能力、分析能力。

如何回答“产品设计问题”?

用圆圈方法(circles),这个方法最早是由前微软产品总监、谷歌产品经理 LEWIS C.LIN 在他的畅销书《Decode and Conquer》中提出的。

circles其实是7个步骤的首字母缩写,这几个步骤其实就是我之前说过的数据分析步骤:明确问题、分析问题和解决问题。

1)明确问题(Comprehend the situation)
2)分析问题
指明受众(Identify customers)
汇报需求(Report customer needs)
优化次序(Cut,through prioritization)
3)决策(解决问题)
罗列方案(List solutions)
平衡优劣(Evaluate tradeoffs)
总结建议(Summarize recommendations)

下面我们看下如何用这个方法回答“产品设计类问题”。

一、明确问题

记得上学的时候,我经常会做错题。通过分析这些错题,我发现大部分是因为没看清楚题目要求。

所以,在回答问题前,不要急着说如何去设计产品。而是向面试官问清楚所有细节,避免你和心里想的不一样。

这时候可以用5w2h分析方法来明确问题:
what(做什么):这是什么产品?
when(何时):什么时候需要上线?
where(何地):在哪里发布这些产品?
why(为什么):用户为什么需要它?
who(是谁):这是给谁设计的?
how (怎么做):这个产品需要怎么运作?
how much(多少钱):这个产品里有付费功能吗?价格是多少?

二、分析问题

圆圈方法建议通过以下3步来逐步拆解和分析问题:指明受众、汇报需求以及优化次序。

1.指明受众,汇报需求

“指明受众”是说要明确这个产品是设给谁设计的?理解了是谁在使用产品,才能根据用户需求去设计。

汇报需求是指对不同的用户分别总结需求。

比如,设计一个聊天软件,用户可以分为:年轻人、老年人等。他们的需求不一样,这就会影响后面的设计方案。

年轻人正常的字体就可以,而老年人的需求可能需要较大的字体聊天才能看清楚。

2.优化次序

在实际工作中,由于资源有限(时间、人力、资金等),不是不是所以需求都能同时去开展。

所以,在前面分析了受众和需求以后,我们需要对任务评定优先级。这可以考察面试者的统筹规划能力。

如何评定优先级呢?

我们可以用“时间管理四象限方法”,如果把时间从不紧急到紧急画出横轴,,把事情从不重要到重要画成纵轴。这样就把整个空间划分成四个象限了。

第一象限包含的是一些紧急而重要的事情,必须首先处理优先解决,先去做这一象限里的需求。

比如,设计聊天软件,有上百个需求要完成。那么,最重要的是去完成最基本的聊天需求,并且满足用户量最大的那个群体的使用需求。

三、决策(解决问题)

到这一步,圆圈方法建议通过以下3步来解决问题:罗列方案、平衡优劣、总结建议。

在实际工作中,只有一种解决方案的情况很少见,通常会有多个方案可以选择。这时候就需要把不同的设计方案罗列出来,说出每个方案的优劣(平衡优劣),最后给出建议(总结建议)。

比如,对应一个app,如何做用户增长呢?

可以有下面几种方案:
1)邀请头部大v入住,通过大v带来新用户
2)在app里给新用户发红包来推广

这些方案都可以,但是各有优劣。需要你能够平衡优劣,总结提出建议。

四、总结

如何回答“产品设计类问题”?

用圆圈方法(circles),这个方法其实是7个步骤的首字母缩写,这几个步骤其实就是我之前说过的数据分析步骤:明确问题、分析问题和解决问题。

1)明确问题
2)分析问题
指明受众、汇报需求、优化次序
3)决策(解决问题)
罗列方案、平衡优劣、总结建议

留一个思考题:如何设计一个打车软件?可以在下面留言区写出你的回答。

推荐:人工智能时代,你必须要学会这个通用技能

相关文章
|
9月前
|
安全 Java 容器
【Java集合类面试二十七】、谈谈CopyOnWriteArrayList的原理
CopyOnWriteArrayList是一种线程安全的ArrayList,通过在写操作时复制新数组来保证线程安全,适用于读多写少的场景,但可能因内存占用和无法保证实时性而有性能问题。
|
9月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
9月前
|
Java
【Java集合类面试二十八】、说一说TreeSet和HashSet的区别
HashSet基于哈希表实现,无序且可以有一个null元素;TreeSet基于红黑树实现,支持排序,不允许null元素。
|
9月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
9月前
|
Java
【Java集合类面试二十六】、介绍一下ArrayList的数据结构?
ArrayList是基于可动态扩展的数组实现的,支持快速随机访问,但在插入和删除操作时可能需要数组复制而性能较差。
|
9月前
|
存储 Java 索引
【Java集合类面试二十四】、ArrayList和LinkedList有什么区别?
ArrayList基于动态数组实现,支持快速随机访问;LinkedList基于双向链表实现,插入和删除操作更高效,但占用更多内存。
|
8月前
|
安全 Java 应用服务中间件
JVM常见面试题(三):类加载器,双亲委派模型,类装载的执行过程
什么是类加载器,类加载器有哪些;什么是双亲委派模型,JVM为什么采用双亲委派机制,打破双亲委派机制;类装载的执行过程
186 35
JVM常见面试题(三):类加载器,双亲委派模型,类装载的执行过程
|
6月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
213 4
|
7月前
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
131 1
|
9月前
|
存储 安全 Java
Java集合类面试十七】、介绍一下ConcurrentHashMap是怎么实现的?
ConcurrentHashMap在JDK 1.7中通过分段锁实现线程安全,在JDK 1.8中则采用Node数组配合链表和红黑树,并使用Synchronized和CAS操作提高并发性能。
Java集合类面试十七】、介绍一下ConcurrentHashMap是怎么实现的?

热门文章

最新文章

下一篇
oss创建bucket