校招时常遇到一些类似“洛杉矶有多少块玻璃”的问题。前年我应聘美团时遇到一些估算题,没能拿到special offer,回去以后整理策略,不敢独享。时隔一年借专栏机会和大家探讨一下。
1. 估算题需要掌握的思想和理念
1. 抛弃简单的加减法思维,而转用乘除法思维。估算题的结果都是平时接触不到的算是天文数字,稍不留意就差距几十倍甚至更多,需要相对较为精准的快速乘除(如美团要求5分钟)至少把大致范围确定下来。而采用乘除法,尤其是最终以科学计数法的方式表达出来显得较为有优势,通常只需要确定两个数字即可,即a*10^b。
2. 在上一条的基础上,这里提出一个较为难理解的点:1、3、10的关系。在加减法运算时,通常使用“四舍五入”的方法估算,比如9.35元会被收取9.4元;而9.34元会被收取9.3元。原理是折半,多进少退。同样乘除法按照折半的理念,很明显是b需要四舍五入,以0.5为界限。10^0.5取3即可。正如9.4元可能是9.35元得来的,因此算出来的100万也可能是代表30万~300万之间某一个数。并且在实际计算的时候按照10倍乘除,如果感觉有偏差可以酌情配以3的乘除,如同加减法一样。
3. 从上一条看出估算的结果可能偏差很大,因此一般应对估算题我会倾向于用多种方法估算再取一个中间值。注意,如果直接取平均可能不足以同时提现两套方案,比如100和10000取平均得出5050,很明显就极大地偏离了算出100的方案。考虑到上一条,我认为采取乘积开方的结果即1000更能同时代表两套不同方案的结果。
4. 估算题用到的思想:将一切问题尽可能地和“人数”、“钱数”扯上关系,因此通常需要提前记住一些典型的“常数”:
2. 经典估算题分析及解答
北京有多少理发师?
方案1:从人数入手
北京大约有2000w人口,姑且算每人每月理发一次,即平均每天大约有60w人理发,每位理发师一天能服务10名(注)顾客,即有6w名理发师。
方案2:从钱数入手
美团号称要在2015年做到1000亿的毛收入,考虑到理发是美团一个极其弱的需求(当然可能甚至不是美团的服务,这里只是估计),以及一般的顾客不倾向于网上订购美发服务,姑且认为国内的理发市场大约1000亿(也大致符合占据国内GDP的比例)。再按北京占国内人口2%计,同时理发师人均10w(注)年薪,估计需要2w名理发师才能支撑起北京的理发市场。
方案3:从地理入手
北京的五环接近于一个边长30km的正方形。考虑到一般理发店走路10min即1km以内可到达,可认为北京遍布非常多的理发店,最理想化的情况大致是大正方形内嵌套非常多均匀小正方形(数学建模欠考虑),因此理发店的数量应该在1000个左右(大面积除以小面积),因此理发师大约有1w名(注)。
不同方案的结果出现了差距,我个人倾向于2w名左右,并且这也大致符合1w和6w乘积开方的结果(原因前述)。
特别要注明的是,每种方案中都有“注”这个部分,可能会有一定的偏差,但是经过我的考虑认为没有达到3或0.3倍,因此不用按10倍或0.1倍计算(原因前述)。
上面三种方案由常见到少见,最后一种是我最近回家时无意发现一条路上有两家理发店才突发奇想的,以前我通常都用前两种方案。我私下练习时喜欢用第二种,感觉最少见、最匪夷所思、不可思议却又往往可以得出正确结果,算是一个相对比较“炫技、装逼”的方法。
3. 结合多方面的较高难度估算题留给大家思考。
“金九银十招聘季”能否成立?为什么?(包括校招、社招)
windows phone一直半死不活的原因是什么?如果想靠砸钱给开发者打造一个比肩android的生态系统,大约需要多少钱?微软能否有足够财力支撑?
我的个人资产和周鸿祎相比,中间可能差了多少个罗永浩?
另外估算题在整个产品笔试面试中份量很轻,不必过多纠缠。
本文感觉还是有些地方不能描述清楚,欢迎讨论~