首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >估算题:费米问题的终极破题之道

估算题:费米问题的终极破题之道

作者头像
葆宁
发布于 2019-12-10 09:47:12
发布于 2019-12-10 09:47:12
1.1K0
举报
文章被收录于专栏:FREE SOLOFREE SOLO

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_43258908/article/details/103444911

费米问题是在科学研究中用来做量纲分析、估算和清晰地验证一个假设的估算问题。命名来自美国科学家恩利克·费米。这类问题通常包括关于给定限定信息的有可能计算的数量的猜想的验证。

1.请估算北京有多少个加油站

2.你楼下的便利店一天能卖出多少盒牛奶

3.北京市有多少辆共享单车

4.在某周一14:00,预估多少人在刷微信朋友圈(流体网络线下笔试真题)

5.预估深圳市一年租房数量(OnePlus线上笔试真题)

以上这类问题最大的特点就是题目不长,已知信息特别少,需要被考察者在有限的时间,有限的资源的情况下,对问题进行分析,最终得出一个答案。费米问题的特点为初次听到这种问题的提问时,会觉得已知条件太少,离答案差距甚远。但当变通改变分析对象之后,所有这类问题都会迎刃而解,不需要求助专家书本,就可以出乎意料地接近确切的答案。

费米给大家提供了一个解决难题的对策、思路,是什么对策思路呢?当领导者、管理者面对一个大的目标,你要善于把它分解成若干个次一级的目标,当我们领导者、管理者从次一级目标入手的时候,很快就会找到次一级问题的正确答案,可能无需求助于专家,无需求助于书本知识,可能很快根据你管理的经验和知识,就能找到解决次一级目的的正确答案,这时候你已经在逐渐接近整体问题的正确答案了。

比如,你想知道地球周围的大气质量是多少,这个问题处理起来好像无从下手,但是稍有物理知识的人都知道一个标准大气压约为1.01×105帕,大气有压强完全是因为大气有重力,而地球的半径约为6400千米是我们熟悉的物理量,求出地球的表面积后再乘以大气压强的值,我们就顺利地得到地球周围大气的总重力,进而顺利地得到地球上空气的总质量。

所以这类问题关键在于拆解问题的思路和框架,数学建模,并对可能的影响因素做合理的假设最终推导出一个经得起推敲的答案,非常考察一个人的综合素质。我们都知道做产品需要面对各种各样大大小小的问题和需求,有的问题很大无从下手,因此将复杂的问题进行拆解并且合理假设得出解决方法就是很关键的能力了。

Q:在芝加哥有多少钢琴调琴师?

大约有9,000,000 人生活在芝加哥。

在芝加哥平均每个家庭有2个人。

大约在20个家庭中有1个家庭有定期地需要调钢琴。

定期调琴的钢琴每年需要调整一次。

每个调琴师大约需要2小时调琴,包括路上时间。

每个调琴师每天工作8小时,一周5天,一年50周。

通过这些假设我们可以计算出每年在芝加哥需要调整的钢琴数量是

(9,000,000 人在芝加哥) / (2 人/家) × (1 架钢琴/20 家) × (1 架钢琴调整/1年) = 225,000 架钢琴在芝加哥每年被调整。

类似地计算出平均每个调琴师

(50 周/年)×(5 天/周)×(8 小时/天)/(1 架钢琴/2小时) = 1000 架钢琴每年/1调琴师。

做÷法得到

(225,000 架钢琴在芝加哥每年被调整) / ( 1000 架钢琴每年/1调琴师) = 225 个调琴师在芝加哥。

事实上, 一共有大约290名调琴师在芝加哥。

答案误差多少不重要,关键是主次框架和拆分逻辑。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
七天学会NodeJS——第一天
Node.js 是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。Node.js采用Google开发的V8内核运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于数据密集的即时应用程序。
葡萄城控件
2019/08/14
7.3K0
一篇文章构建你的 NodeJS 知识体系(W字长文)
最近读《重学前端》,开篇就是让你拥有自己的知识体系图谱,后续学的东西补充到相应的模块,既可以加深对原有知识的理解,又可以强化记忆,很不错的学习方案。
coder_koala
2020/08/27
2.1K0
Node.js快速入门
下载最新版源码:https://nodejs.org/dist/v6.9.5/node-v6.9.5.tar.gz
程裕强
2022/05/06
12K0
NodeJs进阶指南指性能优化
相信对于前端同学而言,我们去开发一个自己的简单后端程序可以借助很多的nodeJs的框架去进行快速搭建,但是从前端面向后端之后,我们会在很多方面会稍显的有些陌生,比如性能分析,性能测试,内存管理,内存查看,使用C++插件,子进程,多线程,Cluster模块,进程守护管理等等NodeJs后端的知识,在这里为大家来分析一下这些场景与具体实现。
Snine
2022/05/11
1.1K0
NodeJs进阶指南指性能优化
Nodejs进阶:如何玩转子进程(child_process)
在node中,child_process这个模块非常重要。掌握了它,等于在node的世界开启了一扇新的大门。熟悉shell脚本的同学,可以用它来完成很多有意思的事情,比如文件压缩、增量部署等,感兴趣的同学,看文本文后可以尝试下。
IMWeb前端团队
2019/12/05
3.5K0
Node.js中的进程与线程
1. 回顾进程和线程的定义 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 2. Node.js的单线程 Node特点主线程是单线程的 一个进程只开一个主线程,基于事件驱动的、异步非阻塞I/O,可以应用于高并发场景。 Nodejs中没有多线程,为了充分利用多核cpu,可以使用子进程实现内核的负载均衡,那我们就要解决以下问题: Node.js 做耗
用户1097444
2022/06/29
1.4K0
Node.js中的进程与线程
Nodejs进阶:如何玩转子进程(child_process)
本文作者:IMWeb 陈映平 原文出处:IMWeb社区 未经同意,禁止转载 模块概览 在node中,child_process这个模块非常重要。掌握了它,等于在node的世界开启了一扇新的大
IMWeb前端团队
2018/01/08
4.5K0
在nodejs中创建child process
nodejs的main event loop是单线程的,nodejs本身也维护着Worker Pool用来处理一些耗时的操作,我们还可以通过使用nodejs提供的worker_threads来手动创建新的线程来执行自己的任务。
程序那些事
2021/01/28
4.5K0
NodeJS模块研究 - child_process
掌握 nodejs 的 child_process 模块能够极大提高 nodejs 的开发能力,例如主从进程来优化 CPU 计算的问题,多进程开发等等。本文从以下几个方面介绍 child_process 模块的使用:
心谭博客
2020/04/21
1.3K0
深入理解Node.js的进程与子进程
process 模块是 nodejs 提供给开发者用来和当前进程交互的工具,它的提供了很多实用的 API。从文档出发,管中窥豹,进一步认识和学习 process 模块:
coder2028
2022/10/03
2.3K0
JavaScript 权威指南第七版(GPT 重译)(七)
Node 是 JavaScript 与底层操作系统的绑定,使得编写 JavaScript 程序读写文件、执行子进程和在网络上通信成为可能。这使得 Node 作为以下用途变得有用:
ApacheCN_飞龙
2024/03/23
6390
浅入vue脚手架 手把手教你撸一个简单脚手架
整个vue init大致流程如我上图所示,应该还是比较好理解的。这里我大致阐述一下大致的流程。
饼干_
2022/08/07
1.5K0
浅入vue脚手架 手把手教你撸一个简单脚手架
简单分析下 Node.js 关于集群的那些事
nodejs 原有版本中没有实现多线程,为了充分利用多核 cpu,可以使用子进程实现内核的负载均衡。
coder_koala
2020/11/19
7180
分享 10 道 Nodejs 进程相关面试题
关于线程和进程是服务端一个很基础的概念,在文章 Node.js进阶之进程与线程 中介绍了进程与线程的概念之后又给出了在 Node.js 中的进程和线程的实际应用,对于这块不是很理解的建议先看下。
五月君
2019/07/12
1.2K0
分享 10 道 Nodejs 进程相关面试题
在 Node.js 中通过子进程操作标准输入/输出 [每日前端夜话0x2A]
在本中,我们在 Node.js 中把 shell 命令作为子进程运行。然后异步读取这些进程的 stdout 并写入其 stdin。
疯狂的技术宅
2019/03/27
3.6K0
在 Node.js 中通过子进程操作标准输入/输出 [每日前端夜话0x2A]
分享 10 道 Nodejs 进程相关面试题
关于线程和进程是服务端一个很基础的概念,在文章 Node.js进阶之进程与线程 中介绍了进程与线程的概念之后又给出了在 Node.js 中的进程和线程的实际应用,对于这块不是很理解的建议先看下。
胡哥有话说
2019/08/29
1.4K0
分享 10 道 Nodejs 进程相关面试题
Node.js进阶之进程与线程
进程与线程在服务端研发中是一个非常重要的概念,如果您在学习的时候对这一块感到混乱或者不是太理解,可以阅读下本篇内容,本篇在介绍进程和线程的概念之外,列举了很多 Demo 希望能从实战角度帮助您更好的去理解。
五月君
2019/07/12
1.3K0
Node.js进阶之进程与线程
node中子进程同步输出
管道 通过“child_process”模块fork出来的子进程都是返回一个ChildProcess对象实例,ChildProcess类比较特殊无法手动创建该对象实例,只能使用fork或者spawn,而且与process对象不同的是,ChildProcess实例的stdin为可写流,stdout和stderr为可读流。因此通过childprocess.stdin可以输入数据,通过childprocess.stdout可将子进程的数据数据输出到父进程中。 具体实现 var child = require('c
欲休
2018/03/15
1.3K0
Week4-脚手架命令注册和执行过程开发
本节的主要内容为添加第一个comman操作:‘init’,并在commands文件夹下创建新的init包
六个周
2022/10/28
1K0
Week4-脚手架命令注册和执行过程开发
深入了解 Node 的多进程服务
我们现在已经知道了Node是单线程运行的,这表示潜在的错误有可能导致线程崩溃,然后进程也会随着退出,无法做到企业追求的稳定性;另一方面,单进程也无法充分多核CPU,这是对硬件本身的浪费。Node社区本身也意识到了这一问题,于是从0.1版本就提供了child_process模块,用来提供多进程的支持。
用户8921923
2022/10/24
8460
相关推荐
七天学会NodeJS——第一天
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档