关于入门算法工程师
来源:10-1 总结,算法思想,大家加油
幻幻梨
2018-11-30
这个问题和本门课程关系不大,如果方便的话希望bobo老师能回答下,如果不能回答也没事啦。
毕业有几年了,计算机专业本科学历,之前做的C++,后来换城市从头开始做Java。现在基本都是业务代码开发,感觉更像体力劳动,对通信方面的业务知识也并不感兴趣,大学期间最感兴趣的课程是数据结构,所以近段时间有了转行做算法工程师的想法。
但是算法工程师的分支太多,我对这块的了解基本空白,即使有进行部分搜索但是没有找到心中的答案,所以想请问下bobo老师,算法工程的各个分支对数学的依赖相对轻(大学数学的基础不太好),学完老师的课程能否开始尝试面试?各个分支主要用于哪些领域(这个说起来应该很多,我只是顺便加了这一问)?
-------------来自一个迷茫的想要转行的码农
2回答
-
我的课程主要是基于计算机专业的基础算法的,是计算机专业基础内容,离算法工程师还相差甚远:)
实际上,算法工程师都是领域相关的。基本上,如果你去看计算机科学的研究生专业,任何一个专业都有相关的算法工程师,因为计算机的任何一个领域,深入下去,其实都是这个领域的专有算法!操作系统,编译,网络,安全,图形,图像,数据库,人工智能,机器学习,自然语言处理,知识图谱,推荐系统,均是如此!我相信,这些领域名称已经非常好的说明他们的应用了:)
各个分支对数学的依赖是不同的,这里的不同,主要是对不同的数学的依赖,但整体上,深入到算法领域,都会对数学有更高的要求。大体分类上,可以理解成,如果这个领域处理的内容和物理世界高度相关,则对连续数学(高数,统计,概率,随机过程,等等)高度依赖,比如人工智能,图形,图像,等等。如果这个领域处理的世界和物理世界相关度不高,则对离散数学高度依赖(组合数学,图论,数论,等等),比如操作系统,编译,安全,等等。
整体上,我不建议因为要学算法,而去补数学;而是明确自己想学习哪一块儿的算法,然后去学习这个领域。学习的过程中,你会逐渐的理解自己哪部分数学知识缺失,进而去再去带着目的补相关的数学,效率更高。因为数学是一个无边无尽的海洋,漫无目的的学习数学,除非感兴趣,否则一定是痛苦的,最重要的是,很可能无效:)
如果真从就业的角度,当下最火的算法工程师,应该就是机器学习领域了。但是,讲真,从就业的角度,也是从长远发展的角度,我个人建议想转做机器学习的同学,去读一个相关的研究生甚至是博士生(其实其他领域同样)这看起来时间成本很高,但实际是效率最高且成功率最高的转行方式。同时,也确实对长远发展有好处。否则,即便真正的去做了“算法工程师”,也很有可能是“算法工程师”中的“体力劳动者”,大概率和你想象的算法工程师是不一样:)
不管怎样,转行都是要付出巨大的努力的。从自己熟悉的领域跳出来,钻进自己不熟悉的领域,本身就是痛苦的。但与此同时,进步的根源也在此:)
加油!:)
222018-12-01 -
幻幻梨
提问者
2018-12-01
1111
00
相似问题