知识规划与职业问答

知识规划与职业问答

老师,算法岗的话,除了这个体系课程之外,还需要学习其他的课程吗?现在算法刚这么卷,真的心累!

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
liuyubobobo 2022-10-18 05:19:07

关于算法岗,可以先看一下这个问答:https://class.imooc.com/course/qadetail/282937


整体而言:


1)


必须要澄清一个非常重要的概念:算法不是一个领域。而深入到一个具体的领域,有很多算法。


比如你要成为一名编译专家,要深入学习编译原理,那么编译原理这个领域内部,就有各种各样的算法,来处理编译过程中的各种问题;


比如你要成为一名操作系统专家,那么要深入学习操作系统,那么在操作系统内部,就有各种各样的算法,来处理操作系统中的各种问题(更进一步,有很多 CPU 调度算法,文件系统中使用的算法和数据结构,等等);


比如你要成为一名数据库专家,那么要深入数据库,那么在数据库内部,就有各种各样的算法,来处理数据库中的各种问题;


比如你要成为一名图像工程师,专注于图像领域,那么深入学习图像学和计算机视觉,就会遇到各种各样的算法。(PS 中的每一个功能,背后都是一个算法或者多个算法的组合。)


这个课程的内容不专注于任何一个具体领域,而是任何一个具体领域深入学习的基础。


原则上,如果你只做业务型的工作,学习算法并非必须。事实上,10 年前或者 15 年前,在计算机行业爆发大量缺人的时代,大量中专生大专生转专业学习上个半年三个月的培训班就能找到工作,就是这个原因;


但是,

1)现在计算机专业在逐渐饱和,所以从面试的角度,对算法的考察有所增加。所以即使你面试的岗位是业务性岗位,为了应付面试,也需要掌握这些最基础的算法;

2)从技术的长远发展来看,学会这些基础的算法,才能帮助你在技术上更上一层楼



2)


在这个时代,说到“算法岗”,其实大多是指“人工智能相关领域”。如果你真的对“算法岗”感兴趣,还需要学习人工智能相关的内容。但人工智能也是一个很大的领域,在不同场景中的应用相关的技术是非常不同的。


但我还是必须要补充一下:如果有志于从事于人工智能相关领域的化,相关的技术知识当然要学,但是在现代,相关的学历(硕士甚至博士)其实是很重要的。


(我不知道你的背景,或许你本身是人工智能相关的研究生或者博士生。)



3)


对于大部分同学来说(没有专注于人工智能的某一个方向),如果不想自己的工作过于“业务”,一个好的方向是各个大厂的基础架构部门。你可以研究一下。


在大厂的基础架构组,不管是各个方面,不会比做“算法岗”差(甚至很多时候更好)。当然,大厂的基础架构组竞争也会比普通的岗位更激烈一些。


另外,我其实看过很多例子,在职场上从普通岗逐渐转型到了比较核心的技术岗。



4)


总结一下:


学习算法,不一定是为了工作一定要找“算法岗”;


但如果真的对算法感兴趣,在学习这些基础的算法之后,你需要找到一个更细分的领域做切入点。去做领域专家。



继续加油!:)



  • 提问者 段鑫杰 #1

    是的,深有体会啊波波老师,今天面试nlp算法实习生,面试官上来就问我,如果有一个论坛,里面用户发的动态文字中有敏感词,现在老板给了你一个敏感词库,怎么识别那些有敏感词的文字,要求速度要快。我说分词然后用if else语句?他说太慢,最后给我说知不知道“前缀树”,我说不知道。。。感觉要学的东西还有好多。还有一个问题就是8位无符号整数,判断转成二进制后,里面有多少个1,我说这简单啊,转成字符串然后找就行了。他说不行,为啥不用移位?我说移位也行。后面又问我,把这个功能部署在云端,用什么方式能让他速度至少快10倍?我说不知道,他说你往计算机组成原理那边想,我心想都还给老师了。。我就想着是不是要加个缓存啥的,后来实在想不到了,人家说,8位二进制数中有多少个1,总共有256种情况,可以保存成一个字典,然后查表,一步到位。这些都是算法的思想,看来我之前太局限于模型了,实际情况里面还要学很多东西,接下来重点就放在算法这块了。

    2022-10-20 18:00:13
  • liuyubobobo 回复 提问者 段鑫杰 #2

    你举的这三个例子还都挺好,考察的内容本身并不偏,但都没有用“算法题”的形式给出来,而是给出了比较合理的应用背景。


    第一个问题前缀树本身这个课程有介绍,感兴趣参考这里 Trie 一章:https://class.imooc.com/course/1587


    第二个问题位运算这个课程不涉及。如果你刷一些题肯定会触及基本的位运算,通常对于面试也足够了。如果想更“系统”地学习了解和位运算相关的内容和应用,数字逻辑,体系结构,组成原理,汇编等课程都会更多地使用位运算。


    第三个问题,本质其实是哈希的思想。顺便一提,对于第一个问题,即使你不知道前缀树,也应该往哈希上靠。if else 肯定不行。敏感词列表如果有 1 亿个怎么办?写一亿个 if else 吗?就算你能写一亿个 if else,敏感词列表如果是动态变化的怎么办?所以我在这个课程中一直强调,还是一种思想。


    继续加油!:)

    2022-10-21 02:00:04
  • bobo老师偶然看到这个回复,敏感词问题,用户的一段话词语有可能三个字有可能四个字,如果用哈希 我的思路是这样的(第一反应)。 找出敏感词的最大长度 x 和最小长度 y 然后用滚动哈希配合动态伸缩 从[0,y)匹配到[0,x) 接着从[0+1,y+1)匹配到[0+1,x+1)  我这么考虑是因为敏感词字数不固定如果按照固定的长度进行hash匹配那么肯定会漏掉一些,不知道我这个思路有没有问题同时bobo老师有没有更好的想法,我没做过这种功能。

    2022-11-17 10:39:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
算法与数据结构
  • 参与学习       2583    人
  • 解答问题       1082    个

慕课网算法名师Liuyubobobo,5年集大成之作 从0到工作5年,算法与数据结构系统解决方案

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师