想要了解算法工程师需要掌握的技能,我觉得最直接有效的方式就是去看看各公司对于算法岗社招的要求。本篇只做一些简单的整理和罗列。

某大厂,推荐算法工程师的要求:

  1. 熟练掌握C/C++和python语言编程,熟悉linux开发环境,有扎实的数据结构和算法设计功底;
  2. 熟悉推荐业务常用理论和算法,在多个领域(如排序模型,召回模型,用户画像,深度学习等)有三年以上实际工作经验;
  3. 有优秀的逻辑思维能力和数据分析能力,善于分析和解决问题;
  4. 良好的沟通能力与团队协作能力;有推荐系统,广告系统,搜索引擎等开发经验;
  5. 熟练掌握机器学习、深度学习的基础理论和方法,并在自然语言处理任务中有实际应用经验者优先;
  6. 熟练使用一种或几种深度学习框架(如tensorflow、caffe、mxnet、pytorch等),或者熟悉spark、hadoop分布式计算编程者优先。

计算机视觉算法工程师的要求,来自某视觉公司:

  1. 过硬的科研背景:深度学习/机器学习;计算机视觉(包括分类,检测,分割,跟踪,SLAM和三维重建);图像或信号处理;计算摄影学和计算机图形学。
  2. 扎实的编程基础;
  3. 熟悉本研究领域的最新研究成果,公开数据集,和相关的开源系统;
  4. 有很强的自学能力和独立思考能力,善于思考和表达自己的想法;同时又具备良好的团队合作精神;
  5. 熟悉 Python 等至少一门脚本语言,使用过 Theano, Caffe, Torch, TensorFlow 等开源深度学习框架优先;
  6. 有深度模型训练,图像分类.物体检测与分割.视频分析.三维建模.计算机图形学等相关科研经历者(例如会议作者)优先。

NLP算法工程师的要求,来自某中厂:

  1. 正直诚信,有责任感,有激情,对技术落地创造影响力感到兴奋。
  2. 模式识别/人工智能/数学/计算机相关专业,硕士以上学历。
  3. 熟悉NLP的基础能力,包括分词、词性标注、命名实体识别、依存句法分析、文本分类、文本检索等,能使用传统统计模型和最新的深度学习方法构建以上能力。
  4. 在人工智能领域有一定的积累,能够从复杂的业务场景中进行算法选型、算法优化以及不断提升效果,并且能够真正应用在商业环境,从技术角度造风,创造新的商业机会,成为商业智能的驱动者。
  5. 具有较强编程能力(特别是Python和Java),熟练使用Linux环境进行NLP研发,有实际大型复杂系统构建的经历。
  6. AI领域相关英文资料的快读阅读能力,学习能力强,能独立分析并解决问题。
  7. 团队协作意识,具备和工程,测试,产品团队同学对话的能力。