码迷,mamicode.com
首页 > 其他好文 > 详细

【好书推介】《How Will You Measure Your Life》

时间:2015-10-24 22:03:25      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

引用知乎:

Cat Chen上知乎,求欢乐

治标和治本的答案,你想要听哪一个?治标的答案就如 @赵劼 说的那样,去 LeetCode 刷题。治本的答案就是找一个 Googler,看他是怎样工作的,模仿他解决问题的方式。(当然你会问不加入 Google 如何能够观察一个 Googler 工作的方式。你可能在别的公司碰到 ex-Googler 啊,也可能在开源项目碰到 Googler 啊。)

有一个常见的误区是,你觉得现在自己的能力在 X 轴上是 x1,并且获得了对应价值的 offer,因此要获得价值更高的 offer 必须要让自己的能力达到 x2,且 x2 > x1。你有没有想过其实价值更高的那个 offer 要求你在 W 轴上有所改变,而你作为三位世界的生物从来只知道 X-Y-Z 三轴,从来没有意识到 W 轴的存在。这所为的 W 轴其实就是 unknown unknown——你不知道自己不知道什么。如果你知道自己不知道什么,你刻意去准备了,让掌握了那部分知识了,问题不就解决了咯?真正的问题在于你不知道自己不知道什么,所以你解决不了问题。

最近读了一本书叫做《How Will You Measure Your Life?》,作者是一个 MBA 教授,讲述如何通过 MBA 管理商业的思维模式来指导人生。其中一个很有趣的观点是,很多企业在做资产评估时只会考虑有形资产,而会忽略掉无形资产,例如流程和优先级。给你一家伟大的公司,然后把它的有形资产都复制一份,你就能得到一家同样伟大的公司吗?显然不是的,因为这家克隆公司的员工缺少了原公司的流程,高管在做抉择时的优先级也不一样,几个错误的决定就能让整家公司完蛋。

同理,人的资产也一样分作资源、流程和优先级三个类别。资源包括你有多少钱,认识谁,掌握哪些知识。你遇到问题当然可以通过资源来解决,但这不是重点,重点在后面。

流程决定了你如何解决问题。为什么有些人只能解决他知识面覆盖到的问题,而无法解决开放性问题?为什么三流学校在忙于填鸭式教育的时候一流学校在强调「学会学习」?这些都是流程。举一个简单的例子来说,一个函数单元测试失败了,实际输出与预期输出不一致,你从哪里开始调试?有人从输入端开始调试,有人从中间开始调试,有人从输出端开始调试……显然二分查找是效率最高的,这纯粹是个习惯问题。记住有本书叫做《高效能人士的 7 个习惯》,不叫做《高效能人士的 7 个知识点》。

资源决定了你能不能解决问题,流程决定了你解决问题的效率有多高,优先级是用来决定你到底要不要解决问题的。无论你的资源和流程如何优化,你的吞吐量都是有限的,世间有无穷无尽的问题可以去解决,哪些才是真正值得你去解决的?假设你今晚时间有限,必须在吃饭、洗澡、打游戏、做作业和做爱之间放弃两样,你选择放弃什么?这看起来是个小问题。但当你产品必须在 1 个月内 launch 而修复所有 bug 估计仍需 3 个月时,这就不是个小问题。

站在面试官的角度来说,其实我们不光考察你的知识,我们还会观察你解决问题的方式,以及面对两难问题时的取舍。因此一个好的面试应该同时覆盖到资源、流程和优先级。应试教育让很多人变得只在乎知识,结果方法和取舍变成了大家都不敏感的 W 轴。真正治本的方法就是找一个方方面面都很优秀的人,去观察他是如何解决现实当中的真实问题的。这时候你显然不会去问这个人「你解决这个问题的知识是从哪本书上看来的啊」,你只会去问「为什么你要这样解决而不是那样解决啊」以及「为什么你先解决这个问题而不是那个问题啊」。

至于说为什么 LeetCode 是治标的方法,正所为「fake it till you make it」……虽然流程和优先级并不那么容易从书本中获得,但还是有人能够把这两者归纳成简单的模式匹配的。虽然这些模式匹配并不总是正确,但能在相当多的场合里面有效,那就已经足够了。正常的应届生算法题应该是更类似于 OI 的题目构造,而非 ACM 的题目构造。OI 的题目构造就是,这道题目一定有一个已知基础算法能够解决,但题目描述和这个基础算法的常见使用场景很不一样,所以你要灵活变通一下。这个灵活变通的部分考察的就是你有没有正确的解决问题方式。实际上你只需要实现一个基础算法,实现不了你就不配说自己是应届生那种。

至于所谓的模式匹配,就类似当年有人总结说「OI 必然有一题 DP,如果你有一题不会同时你会的题目都不是 DP,那你就想办法用 DP 解决你不会的那题吧」。这也就是我觉得问 ACM 学生算法题很无聊的原因之一,因为他们展示的流程和实际工程环境所需要的流程是脱节的。他们展示的不是创造性解决问题的能力,而是对问题和算法进行快速模式匹配的能力。他们能够瞬间给你一个完美的答案,但其实整个过程无法表明他们有优秀的工程问题解决能力。我很难给一个完美答案 no-hire,但其实我也不可能证明这是个很好的 hire。有很多面试官懒得纠结会直接给 hire。

当然治标不治本的事情总是事后有代价的。你可能能拿到 offer,但事后如果你不能解决问题创造价值的话,要求高的公司会直接把你 fire 掉(达不到最高要求立即 fire 如 Netflix 或因长期无法晋升被 fire 如 Facebook),要求低的公司(据说 Google 几乎从不因为 performance 而 fire 工程师)估计会慢慢把你养废。编辑于 2014-10-27
关注问题 37 条评论 取消感谢 
分享
 收藏 • 没有帮助 • 
举报
 • 作者保留权利

【好书推介】《How Will You Measure Your Life》

标签:

原文地址:http://www.cnblogs.com/heanqing/p/4907676.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!