本科生如何从零开始成为算法工程师

我本科生,拿到了算法岗实习offer。在此总结一下经验,此文仅用来记录经历,市场行情千变万化,不敢说绝对,内容只有参考价值。

首先说一下结论,大厂本科生基本上无机会,简历关都过不了,大概率会被甩出去,没有面试机会。创业公司蕴含着本科生的发展机会,本科生最好寻找一个没有上市但快要上市的创业公司,或者其他有技术有潜力的公司。这些公司并不完全看面试者的学历,招聘要求上往往也写明了本科生可以,对于拥有丰富实战经验的本科生绝对是有机会的。

接下来就说说想要通过面试,需要的技能:

  • 编程语言:最好会Python和C++。
  • 基础算法要熟悉,除了本科数据结构学的线性表,栈队列,二叉树,图, 各种排序查找算法等以外,还要求能手撕动态规划。不一定要处理很复杂的动态规划,简单的动态规划,有相关思想即可。
  • 传统机器学习算法要懂,最好能手撕各种机器学习算法(线性回归,逻辑回归,KNN,KMeans,决策树等),即使不能手撕也要求知道算法的执行过程和算法的思想,这些思想最重要,必须掌握,最好有你自己的独特理解。
  • 深度学习算法也是必须问的,MLP,CNN,RNN,LSTM这些基础的算法内容,执行过程,用到的公式,能推导最好,不能推导也要背下来。
  • attention机制也是一大考点,transformer,bert这样的新模型,面试官往往很关心,上次遇到一个让我用tf1.x手写self-attention的面试官,着实把我吓到了,当然我直接给跪了。

以上是基础,基本上是每个面试官都会问的,接下来面试官会关心你的项目经历。我一直觉得项目这个词很迷,什么叫项目?我发现项目这个词界定是最模糊的,你搞个商业化的大工程叫项目,你搞个小demo,也有人敢把这叫项目。

其实这都不是重要的,重要的是体现你的工程能力,至于搞的是demo还是大工程那都不重要。

其实搞AI这块,你做的东西包含了数据的收集和预处理,模型的建立和训练,调参,评估,反复迭代,最后上线部署,其实就差不多了,因为这个流程是一般的AI项目的完整流程,要做的事情都在里面,你要是做的多的话,就积累了很多书本上学习不到的经验,但是你跟面试官交流的时候却能体现的东西。

面试官不仅关心项目内容还会对项目用的模型,和你阅读过的论文感兴趣,论文也是要阅读的,至少那些经典的论文,像AlexNet,ResNet的论文你要真正研读过。要对论文是什么,做了什么,为什么提出这个模型,这个模型解决了什么问题有认识。仅仅学基础知识,做一些项目还不够,你还要有对一个具体的小方向有自己的研究。这个方向不是指计算机视觉,自然语言处理这样的大方向,而是指大方向中的具体方向,拿计算机视觉举例子,视觉任务包括图像分类,目标检测,图像分割等具体的任务,每个具体任务都有自己的经典论文和模型,这些你要具体去了解。就比如搞图像分割的必须知道FCN,目标检测的必须知道YOLO。你要真的看过相关论文,真的对这个方向有自己的见解。

需要会的库和框架:

  • numpy
  • pandas
  • matplotlib
  • scikit-learn
  • tensorflow(与pytorch二选一,最好都会)
  • pytorch
  • OpenCV(可选,视觉相关必须要会)
  • xgboost(可选,有些公司业务需求)

我个人觉得缺人的方向:

推荐系统

推荐这几年比较火,短期加入可能比其他方向较轻松入职。

强化学习

国内搞强化学习的不多,学习曲线也相对较陡,近年来强化学习也开始落地,缺的不只是算法工程师而且缺编写仿真模拟环境的人才,这种人才招不到。

声明,以上个人经验,仅供参考。

  • 13
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值