请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于入门算法工程师

这个问题和本门课程关系不大,如果方便的话希望bobo老师能回答下,如果不能回答也没事啦。
毕业有几年了,计算机专业本科学历,之前做的C++,后来换城市从头开始做Java。现在基本都是业务代码开发,感觉更像体力劳动,对通信方面的业务知识也并不感兴趣,大学期间最感兴趣的课程是数据结构,所以近段时间有了转行做算法工程师的想法。
但是算法工程师的分支太多,我对这块的了解基本空白,即使有进行部分搜索但是没有找到心中的答案,所以想请问下bobo老师,算法工程的各个分支对数学的依赖相对轻(大学数学的基础不太好),学完老师的课程能否开始尝试面试?各个分支主要用于哪些领域(这个说起来应该很多,我只是顺便加了这一问)?
-------------来自一个迷茫的想要转行的码农

正在回答

2回答

liuyubobobo 2018-12-01 02:02:23

我的课程主要是基于计算机专业的基础算法的,是计算机专业基础内容,离算法工程师还相差甚远:)


实际上,算法工程师都是领域相关的。基本上,如果你去看计算机科学的研究生专业,任何一个专业都有相关的算法工程师,因为计算机的任何一个领域,深入下去,其实都是这个领域的专有算法!操作系统,编译,网络,安全,图形,图像,数据库,人工智能,机器学习,自然语言处理,知识图谱,推荐系统,均是如此!我相信,这些领域名称已经非常好的说明他们的应用了:)


各个分支对数学的依赖是不同的,这里的不同,主要是对不同的数学的依赖,但整体上,深入到算法领域,都会对数学有更高的要求。大体分类上,可以理解成,如果这个领域处理的内容和物理世界高度相关,则对连续数学(高数,统计,概率,随机过程,等等)高度依赖,比如人工智能,图形,图像,等等。如果这个领域处理的世界和物理世界相关度不高,则对离散数学高度依赖(组合数学,图论,数论,等等),比如操作系统,编译,安全,等等。


整体上,我不建议因为要学算法,而去补数学;而是明确自己想学习哪一块儿的算法,然后去学习这个领域。学习的过程中,你会逐渐的理解自己哪部分数学知识缺失,进而去再去带着目的补相关的数学,效率更高。因为数学是一个无边无尽的海洋,漫无目的的学习数学,除非感兴趣,否则一定是痛苦的,最重要的是,很可能无效:)


如果真从就业的角度,当下最火的算法工程师,应该就是机器学习领域了。但是,讲真,从就业的角度,也是从长远发展的角度,我个人建议想转做机器学习的同学,去读一个相关的研究生甚至是博士生(其实其他领域同样)这看起来时间成本很高,但实际是效率最高且成功率最高的转行方式。同时,也确实对长远发展有好处。否则,即便真正的去做了“算法工程师”,也很有可能是“算法工程师”中的“体力劳动者”,大概率和你想象的算法工程师是不一样:)


不管怎样,转行都是要付出巨大的努力的。从自己熟悉的领域跳出来,钻进自己不熟悉的领域,本身就是痛苦的。但与此同时,进步的根源也在此:)


加油!:)

2 回复 有任何疑惑可以回复我~
  • 提问者 幻幻梨 #1
    谢谢老师这么详细的回答!看完以后触发很多,其实在工作中也多次感受到本科的不足,也有过几次考研的想法,但是因为经济因素也一直没能正式下决定。目前打算先巩固算法基础,然后接触下当下热门的领域确定自己感兴趣的方向;如果这个专业有在职研的话希望能边工作边学习,没有的话可能要先累积物质基础再做进一步的打算。再次谢谢老师,提前跟老师拜个早年^O^
    回复 有任何疑惑可以回复我~ 2018-12-01 13:37:20
  • liuyubobobo 回复 提问者 幻幻梨 #2
    加油!:)
    回复 有任何疑惑可以回复我~ 2018-12-01 14:08:53
提问者 幻幻梨 2018-12-01 08:58:50

 1111

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信