- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章系统架构师、算法工程师、人工智能工程师需要学多少数学?由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
昨天有网友问我,他原先没有学过奥数,问能不能当系统架构师?其他也有人有疑问,是不是应该先学数学,然后在考研的时候转入计算机?
我先说一下结论,没有学过奥数,完全可以当系统架构师。如果真的喜欢数学,可以先学数学再转计算机;如果数学一般般,不如直接读计算机。当架构师,学数学并不是必须的.
数学是重要的 。
确实,数学是计算机的基础之一。计算机的先驱,图灵就是一位数学家。我们如果要看图灵奖,也就是计算机领域内的最高科技奖,计算机界的诺贝尔奖,很多获奖者都有数学背景.
比如,第一届图灵奖得主,艾伦·佩利是计算机程序语言的先驱。他本科学的是化学,硕士和博士是数学。可以说,有了数学家的参与,我们的程序语言才这么严谨、科学.
两位得图灵奖的女科学家,朗西丝·阿伦,2006年的得主,她是数学系毕业的。还有2008年得主,芭芭拉·利斯科夫也是数学专业的毕业生.
原先北大在计算机方面有位院士,王选,他的研究生很多都来自于数学系,觉得搞数学的人搞计算机灵,好.
因此,学数学再去研究计算机,那当然很好,算是降维打击.
不过,这并不是必须的.
IT公司的首席架构师并不必须要数学 。
我们看看国内几家著名IT企业的系统架构师,或者CTO的履历.
阿里巴巴的王坚。王坚是整个IT企业的第一人,被评上了工程院院士。要知道,百度的李彦宏以技术出名,也没有评上,可见王坚的水平是很不错的.
王坚是阿里巴巴的首席架构师,阿里巴巴整个集团的首席技术官,阿里云的总裁。云技术是我们快捷、便宜、大规模使用互联网的一个非常重要的支撑力量。像亚马逊老板贝佐斯当世界首富,核心竞争力是亚马逊云。而阿里云是可以跟它相竞争的,所以技术含量也很高.
那王坚是什么出身呢?王坚是学心理学的,在跳槽去互联网公司之前,是杭州大学心理学系主任,心理学教授。不过有些心理学系对数学要求也是比较高的,但再怎么高,也就是一两门数学课,不需要跟数学专业一样学.
李彦宏做的是搜索,应该说数学含量非常高了。不过李彦宏在北大学的是图书情报专业,好听点的说法是信息管理系统,到了美国,转了计算机专业.
微信创始人张小龙,是华科大的电子信息专业毕业的.
快手的创始人宿华和程一笑,分别毕业于清华大学和东北大学的软件工程.
这些技术巨佬们的简历上都没有太多的数学背景,不过,普通人干嘛非要学数学之后再来学计算机呢?
系统架构师的工作 。
先说一下系统架构的定义,这是IEEE给出的:
软件系统架构是根据具有参考意义的实践而定义出来的.主要表述了一个系统的基本组织结构、基本组成构件和相互的关系,以及构件于外部环境间的关系。同时,软件系统架构为后续的设计和架构演化提供了指导性原则.
这句话很拗口,我稍微解释几句。里面的几个关键点:系统、构件、环境、相互关系。单个小东西叫构件,这些联系起来叫系统。系统内部的构件之间有各种关系,也就是各种规则。系统跟环境还有交互功能.
这个跟建一个大楼差不多,巨大的软件可能跟建设一个建筑群差不多。大楼内部需要力学知识,对软件来说,需要数学知识。大楼的功能、外部表现需要美学、心理学、文化、社会学等知识。软件的功能也是这样.
所以,作为一位建筑师需要学一点力学知识,但并不需要使劲学力学,把力学摆在至高无上的地位。架构师也是这样,有数学知识,当然非常好,但平常计算机专业的那些数学知识也是基本够用的,大家不要过于害怕.
算法工程师和人工智能工程师 。
类似的,我再讲一下算法工程师和人工智能方面的研发人员.
在计算机的早期是没有算法工程师的,因为在编程的时候必须要考虑算法的实现,现在的开发软件做得很好,所以普通级别的码农的要求比早期的码农低了不少,不需要自己来编写这些算法,用现成的模块,调个参数就可以了.
算法工程师听着好像都是数学,其实根本来说,就是线性代数、概率论、数据结构这些内容。现在机器学习方面的比较多,机器学习的基础是统计、向量机、人工神经网络理论.
在机器学习上面的是人工智能。人工智能比机器学习的范围更宽,至少要包括语音识别、图像识别、模式识别等,这些涉及的数学不单单是离散数学,还包括了连续数学.
人工智能的数学要求看着更高,不过大家也不要害怕。我们可以看看华为的天才少年计划里的那些天才少年们。他们大部分都是搞人工智能,但基本没有数学系毕业的,基本都是计算机系、自动化系等方向.
像第二批名单中的华科大博士张霁,本科在二本,武昌理工学院,硕士在武汉邮电研究所,博士在中科大,一直是计算机专业.
所以,如果大家想要做计算机方面的工作,直接读计算机专业毫无问题,最直接、最省事的方法。读了数学转计算机,当然更好,也许会更有后劲,对某些问题的理解更深刻一些.
原文地址:https://www.toutiao.com/a6937164064967688735/ 。
最后此篇关于系统架构师、算法工程师、人工智能工程师需要学多少数学?的文章就讲到这里了,如果你想了解更多关于系统架构师、算法工程师、人工智能工程师需要学多少数学?的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试用 C 语言编写一个使用 gstreamer 的 GTK+ 应用程序。 GTK+ 需要 gtk_main() 来执行。 gstreamer 需要 g_main_loop_run() 来执行。
我已经使用 apt-get 安装了 opencv。我得到了以下版本的opencv2,它工作正常: rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ pytho
我有一个看起来像这样的 View 层次结构(基于其他答案和 Apple 的使用 UIScrollView 的高级 AutoLayout 指南): ScrollView 所需的2 个步骤是: 为 Scr
我尝试安装 udev。 udev 在 ./configure 期间给我一个错误 --exists: command not found configure: error: pkg-config and
我正在使用 SQLite 3。我有一个表,forums,有 150 行,还有一个表,posts,有大约 440 万行。每个帖子都属于一个论坛。 我想从每个论坛中选择最新帖子的时间戳。如果我使用 SEL
使用 go 和以下包: github.com/julienschmidt/httprouter github.com/shwoodard/jsonapi gopkg.in/mgo.v2/bson
The database仅包含 2 个表: 钱包(100 万行) 事务(1500 万行) CockroachDB 19.2.6 在 3 台 Ubuntu 机器上运行 每个 2vCPU 每个 8GB R
我很难理解为什么在下面的代码中直接调用 std::swap() 会导致编译错误,而使用 std::iter_swap 编译却没有任何错误. 来自 iter_swap() versus swap() -
我有一个非常简单的 SELECT *用 WHERE NOT EXISTS 查询条款。 SELECT * FROM "BMAN_TP3"."TT_SPLDR_55E63A28_59358" SELECT
我试图按部分组织我的 .css 文件,我需要从任何文件访问文件组中的任何类。在 Less 中,我可以毫无问题地创建一个包含所有文件导入的主文件,并且每个文件都导入主文件,但在 Sass 中,我收到一个
Microsoft.AspNet.SignalR.Redis 和 StackExchange.Redis.Extensions.Core 在同一个项目中使用。前者需要StackExchange.Red
这个问题在这里已经有了答案: Updating from Rails 4.0 to 4.1 gives sass-rails railties version conflicts (4 个答案) 关
我们有一些使用 Azure DevOps 发布管道部署到的现场服务器。我们已经使用这些发布管道几个月了,没有出现任何问题。今天,我们在下载该项目的工件时开始出现身份验证错误。 部署组中的节点显示在线,
Tip: instead of creating indexes here, run queries in your code – if you're missing any indexes, you
你能解释一下 Elm 下一个声明中的意思吗? (=>) = (,) 我在 Elm architecture tutorial 的例子中找到了它 最佳答案 这是中缀符号。实际上,这定义了一个函数 (=>
我需要一个 .NET 程序集查看器,它可以显示低级详细信息,例如元数据表内容等。 最佳答案 ildasm 是 IL 反汇编程序,具有低级托管元数据 token 信息。安装 Visual Studio
我有两个列表要在 Excel 中进行比较。这是一个很长的列表,我需要一个 excel 函数或 vba 代码来执行此操作。我已经没有想法了,因此转向你: **Old List** A
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想要改善这个问题吗?更新问题,以便将其作为on-topi
我正在学习 xml 和 xml 处理。我无法很好地理解命名空间的存在。 我了解到命名空间帮助我们在 xml 中分离相同命名的元素。我们不能通过具有相同名称的属性来区分元素吗?为什么命名空间很重要或需要
我搜索了 Azure 文档、各种社区论坛和 google,但没有找到关于需要在公司防火墙上打开哪些端口以允许 Azure 所有组件(blob、sql、compute、bus、publish)的简洁声明
我是一名优秀的程序员,十分优秀!