天天看点

成为一名顶尖程序员,你需要多少数学知识?|极客时间

每当我想深入学习一下算法相关的内容时,其中涉及的一些复杂数学知识有时候就会成为“拦路虎”。

我承认自己的数学确实没学好,但也不至于很糟糕。不过,这种“不上不下”的数学水平,完全无法应对业界 Big Tech 公司(亚马逊、苹果、谷歌、Facebook 和微软)的面试,尤其是面试被问到算法的一些问题,比如某个算法的时间和空间复杂度,或者具体的排序和搜索算法之间的比较等。

因此,我要学习所有这些知识点。在搜索和学习过程中,我搜集了几篇有关编程所需的数学知识的文章。

在编程方面,最为知名的数学支持者是史蒂夫·耶格(Steve Yegge)。关于编程所需的数学,我列举了以下内容供你参考:

数学笔记

《Math for Programmers》

成为一名黑客需要多少数学

谈数学

《数学黑客》

《关于 C 语言实现的斐波那契数示例》

如果你还没读过以上内容,那么你可能会错过我写这篇博客所要表达的意图。按照史蒂夫·萨米特(Steve Summit)、埃里克·雷蒙德(Eric Raymond)以及保罗·格雷厄姆(Paul Graham)的观点,你无需过多地关注数学就可以成为一名出色的程序员或者黑客(此处黑客泛指维基百科中对黑客的定义以及埃里克·雷蒙德(Eric Raymond)对黑客的定义)。

史蒂芬·诺布尔(Steven Noble)认为,程序员应该懂一些数学;埃文·米勒(Evan Miller)似乎在某种程度上也同意这一观点。我本人只是出于热爱而开始踏上编程之路的。

从 2009 年以来,我主要使用 C 语言进行编程,有时候还会用 C++,并且大部分时候是在 Linux 和 UNIX 环境下工作。我对编程充满热情,有时候需要使用多种不同的语言进行编程,因此我必须学习用不同的思维方式工作。编写代码不是很难,但是,使用特定的编程语言并按照一定的范式寻找思路且建立模型,才是最难最耗时的工作。

市面上的数学资料我看了不少,不是太难就是太抽象,能深入浅出的确实不多,《程序员的数学基础课》就是其中一个。跟着学下来,让我把算法和数学模型都串联起来,还理清了之前的一些盲点,有时间一定二三刷。

这门课非常适合想扎实数学基础的程序员和准程序员,课程里的学习路径既能让你巩固基础知识,又可以深入理解这些内容对计算机编程和算法究竟意味着什么。通过“数学概念 - 数学模型 - 数据结构 - 基础算法 / 机器学习算法 - 编码实现”这几个关键步骤,让你深刻理解编程中的数学。

要把一门学了十几年的课重新拾起,还是得“耗点功夫”的。一个好老师可以将复杂的问题简单化,把晦涩的知识点讲得通俗易懂,这门课的作者黄申,就是这么个人。

关于这哥们:

LinkedIn 资深数据科学家和微软学者,IBM ExtremeBlue 天才计划成员。

长期专注于大数据相关的搜索、推荐、自然语言处理、广告以及用户精准化领域;

在微软亚洲研究院、IBM 美国研究院、eBay 中国、1 号店和大润发飞牛网都曾担任要职,带队完成了若干个公司级的战略项目;

著有 20 多篇国际论文和 10 多项国际专利;

这种资历的人开专栏讲课,说真的,挺难得。专栏已有近6 W人订阅,截了点评价给你们参考:

成为一名顶尖程序员,你需要多少数学知识?|极客时间

这个专栏除了内容过硬,还有 3 点不得不提:

第一,专栏图文并茂,我发现,手绘图片是真挺好看,数学书里面可没有这些,算是给程序员的专属福利了;

第二,每一章末尾,老师都会针对这一讲的内容总结「学习笔记」,方便大家记忆,可以保存下来,随时查看;

第三,每篇文章老师都会留个难度适中的思考题,并在评论区跟大家耐心互动,解答大家提出的问题。

成为一名顶尖程序员,你需要多少数学知识?|极客时间

课程原价 199 元,限时优惠仅需119 元,该门课程也加入超级会员体系,开通会员,能一次性拿下平台 190 多门课程。

成为一名顶尖程序员,你需要多少数学知识?|极客时间

如果把 APP 内的这 190 多门课程和专栏全部加起来,按照以往单价,总价达到了 3 万多。而现在,一个会员只要 499,一次性拿下课程和专栏。

说实话,这个方案算是很良心的。毕竟 499 可能以前只能买几个专栏

极客时间这个平台的课程主要是涉及IT、产品和职业技能,非常适合互联网的同学。

在学习这件事儿上,回报大于投入,冲!

继续阅读