在这篇文章中我说道在选择工作的时候有以下的考虑:

行业>方向>领域>专业 举例来说: 行业:电商行业(淘宝),O2O(美团),直播(快手),短视频(抖音)、智慧+一切 etc 方向:算法、工程、大数据 etc 领域(工业应用):广告,搜索,推荐 【业务成熟】,量化投资,自动驾驶,语音识别 etc 专业(偏学术,学校):nlp、cv、ml、dl、asr、mmu etc

当然这个分类也是一个前辈告诉我的,我个人倒觉得方向和领域这两个的顺序,可以思考一下。Anyway,我们在学习的时候,一般是倒着来的。首先你要挑选一个专业,然后会确定自己的方向(nlp不仅仅是算法,有对应的很多工程实现,当然海量数据怎么处理,有一些工具专为nlp而生),领域上,往往是几个专业的交叉,而这些专业肯能不仅仅包括cs/ai相关的知识,例如量化投资,很明显就需要金融相关的知识。

这个专栏, 试图从自然语言的角度切入,从专业->领域->方向->行业,做一条全链路的解析,供读者参阅。

如我的专栏中所说,一个合格的算法工程师应该有一定的工程能力,系统设计先不说,基础的算法和数据结构,机器学习基础,深度学习基础,NLP的知识,都是我们应该具有的能力。

AND,SOTA的paper和技术,也是需要我们follow的。不仅仅是为了提升业务效果,而且时常更新我们的知识和眼界,学习前辈/后浪的优点,才能更好的应对遇到的问题。

最后,工业落地。不要排斥这个,NLP没有独角兽的原因(感觉google,搜狗和百度似乎可以算哈)是没有找到合适的直接落地的场景,说白了没有钱赚。视频识别直接落地到了安防,这个叫做安防领域,进一步到了这是不是也叫安防行业,我也不太明白。我会就我所知,将互联网行业的“搜光推”和大家介绍一下。其他不懂得,我会请了解的小伙伴来搀和一下。

算法的本质是在解决问题。知道自己的能力是什么,知道自己想要/擅长解决的问题是什么,match起来。这才是每一个算法从业者应该考虑的问题。

所以我总结如下,也会逐渐将每个知识点归纳在这里,不仅可以帮助大家学习整理,也可以作为大家学习和面试的一个提纲,both for interviewer and interviewee, hopefully.

一、基础算法与数据结构:一个月突破算法面试系列

二、机器学习基础:

三、自然语言处理基础:https://zhuanlan.zhihu.com/p/198892212

四、深度学习基础:

五、前沿paper解读和公开赛(例如 kaggle)的策略分析:

六、搜索?推荐?广告?MMU?:

为什么我觉得算法工程师主要是为了解决问题呢?你觉得算法就是简单的在考察你的coding,你的项目么?你的专业知识?

ok,现在有一个问题摆在你的面前:面试。你要如何应对它?嘿嘿

-------