本文阅读时间约16分钟

最近两年,人工智能(AI)就像一个点石成金的神器,所有的行业,创业公司,或是求职,只要沾着这个词,多少有点脚踩五彩祥云的感觉,故事来了,融资来了,高薪来了。

于是,越来越多的人开始往AI方向涌。我曾经参加一个群面,12个人,其中一半以上做人工智能方向的,可见现在AI有多热。可是,问题就在于,这条路就一定靠谱吗?这个方向前景如何呢?我们究竟怎样才能找到一份算法工程师的工作呢?相信不少同学都有这些疑问。下面权且从个人经验结合一些资料,进行深度剖析。由于个人经验可能存在局限性,不一定正确供大家参考。

本文会写到以下小话题:

  • 1、什么是人工智能
  • 2、为什么现在人工智能这么火
  • 3、为什么要学习人工智能
  • 4、找工作的经验
  • 4.1、工作要求分析
  • 4.2、如何找一个自己满意的工作

前三部分,作为一个铺垫,如果你已经跨过小白阶段,可以直接跳到最后一部分,观看精华部分。

1、什么是人工智能

其实对于什么是人工智能,目前还没有一个统一的定义。对于我们目前常说的人工智能其实,可以用一张图来解释。

那么用一句话总结就是:人工智能是为了让机器拥有类人的智能,其中机器学习是一种实现人工智能的方法,而深度学习是一种机器学习的技术。

2、为什么现在人工智能这么火

那为什么人工智能火起来了,其实之前人工智能曾火了两次,但都因为各种问题而没有发展起来。而这次又重新火起来很大程度是因为近年来互联网高速发展所产生的数据,这些数据极其庞大,需要处理和加工提炼,数据过于庞大人工处理非常困难,这时,数据处理的需求一定程度上催生了人工智能的迅速发展。同时,计算机的硬件的发展也提供了基础。

而2016年的一场人机大战举行,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界。所有的互联网公司,尤其是 Google、 微软、百度、阿里、腾讯等巨头,无不在布局人工智能技术和市场。前有百度深度学习研究院,腾讯的AILab,后有阿里的“达摩院”。并且国家不断的鼓励与布局下更加促进了人工智能的发展。

人工智能已经慢慢的进入平常百姓的生活,可以说人工智能的发展前景非常广,通过一个图看一下人工智能在生活中有哪些应用呢。应用场景广泛,其实也是人工智能火起来的原因之一。

那么以后人工智能还会一直这么火么?其实,从面试了解的大部分公司,其实最关心的是如何落地算法,一般都会问你这个项目有没有用到实际。其实侧面反映出人工智能方向难得是落地,现在很多公司纷纷踏入,其实大部分公司没什么技术积累,随着时间的发展,市场会趋于冷静。就像之前p2p、共享单车、比特币一样,资本快速催生出的市场,冷静下来会出现一地鸡毛啊。但不妨碍人工智能有广阔的前景,毕竟解放人类生产力啊。同时,最近的cai yuan潮一样给大家提个醒,尽量进入大厂或者核心部门,风险相对较小。

3、为什么要学习人工智能

我认为在做任何重要决定之前,比起搞清楚该怎么做(HOW),追问自己为什么要做出这个选择要重要得多(WHY)。方向大于努力。你在一条错误的路上越努力,你离目标越远。

==更多?更喜欢?更擅长?==

任何一条理由都没问题,但为了增加你求职的成功率和工作的发展前景,应该尽量去寻找这三条职场优势公共的交集

一开始,很难有人一击命中既钱多又喜欢还擅长的工作,但这并不妨碍你先从已经同时具备了两个职场优势的选项(钱多、擅长、喜欢)出发,并把三大优势的交集作为自己职业规划的终极目标

除此之外,每个人或许还有些个人限制条件,比如经验和教育水平不同。

如何利用以上理论来分析自己适不适学习人工智能?我就拿自己来举例分析分析——

首先我大学是一个普通的不能在普通的一本,学的还是万金油的自动化专业,其实跟编程关系不大。以至于去招聘的时候别人都问,你会不会硬件。这时候内心简直想怼他“学自动化就得做硬件么?”,还是要面带微笑耐心的,说之前确实做PLC,但后面,做的是深度学习。

目标1:考研

另一方面由于学校很普通,又不想安心的考个公务员就算了(内心还是有个搞技术的心,皮一下),毅然选择考研,第一年复试被刷,只能调剂,但是调剂的话,还是不能上985或者211,并不能改变我第一学历出身不好,所以选择二战。(ps:有目标后千万不要轻易放弃)

目标2:选择喜欢的方向

当考上研究生后,其实,由于“散养”自己玩了一年,荒废了这一年宝贵时光。当选择方向时,实验室有两个方向,一个图像处理,一个雷达。由于个人对雷达实在提不起兴趣,又比较喜欢图像处理,觉得很有意思,想选择图像,但是这个项目不需要这么多人,导师不想让选。我就提前准备,询问了师兄师姐,还有其他老师,带着自己想法,跟导师谈,最终说服导师让做试试看。(这真的需要技巧,不能跟导师硬碰硬,说我就不想做,想做啥。还是总体要听导师的。如果实在有自己想法,就要带着想法与导师谈)你对一个东西感兴趣,真的很重要,事半功倍的感觉。更愿意付出去学习去奋斗。

目标3:算法工程师

其实入门学习真的不简单,因为我之前是做PLC的,编程基础真的几乎为零,就从头开始学。后来通过招聘发现自己不足,接着学习不足的地方。(其实这可以看做一个反馈,发现不足,弥补不足。)

找工作的时候,我仔细思考了自己的工作反向觉得对算法更有兴趣,决定去找算法岗,虽然道路不是特别顺利,但终有一个好结果。(虽然,自己拿到过几家软开的职位,但,觉得自己还是想做自己喜欢的工作,身边很多同学并没能坚持去找算法职位,可能去了软开,测试。并不是说这些岗位不好,而是,你最好找到一个自己喜欢的,这样你才有兴趣持续学习。如果你喜欢软开,当然一样有钱途)

4、找工作的经验

可能有小伙伴纳闷,怎么不介绍怎么学习?==主要是每个人的基础不一样,实在很难一概而论,大家可以自行,知乎,如何入门机器学习。==有很多推荐,最主要找到一种适合自己的情况的学习方法。但有两个要注意的地方,我觉得是入门时很容易出现的情况,也是一定要避免的,大家需要注意。

  • 放弃海量资料!

    没错,就是放弃海量资料!在我们想要入门机器学习的时候,往往会搜集很多资料,什么 xx学院机器学习内部资源、机器学习从入门到进阶百 G 资源、xx 人工智能教程,等等。很多时候我们拿着十几 G、几百 G 的学习资源,然后踏踏实实地放到了某云盘里存着,等着日后慢慢学习。殊不知,有 90% 的人仅仅只是搜集资料、保存资料而已,放在云盘里一年半载也忘了打开学习。(看了一眼自己的云盘,莫名感觉打脸,好呗,捂着脸接着写)躺在云盘的资料很多时候只是大多数人“以后好好学习”的自我安慰和“自我”安全感而已。而且,面对海量的学习资料,很容易陷入到一种迷茫的状态,最直接的感觉就是:天啊,有这么多东西要学!天啊,还有这么多东西没学!简单来说,就是选择越多,越容易让人陷入无从选择的困境。

    所以,第一步就是要放弃海量资料!而是选择一份真正适合自己的资料,好好研读下去!

  • 千万别先从头学数学!千万别先从头学数学!千万别先从头学数学!(重要的事情多说几遍)

    说到入门,很多人会想着那就要从最基础的知识开始学起!机器学习是一门融合概率论、线性代数、凸优化、计算机、神经科学等多方面的复杂技术。学好机器学习需要的理论知识很多,有些人可能基础不是特别扎实,就想着从最底层的知识开始学起,概率论、线性代数、机器学习凸优化公式推导,等等。千万不要这样,极有可能你都看不完一本数学理论的书,就放弃了。当然,不是说不需要钻研基础知识,基础理论知识非常重要!只是说,在入门的时候,最好先从顶层框架上有个系统的认识,然后再从实践到理论,有的放矢的查缺补漏机器学习知识点。而且从学习的积极性来说,也起到了“正反馈”的作用。

4.1工作要求分析

因为,大部分人学习的目的,是为了求职去找一个好工作,我觉得有必要首先对这份工作的行情和要求做个大概的了解。俗话说知己知彼百战百胜嘛。

本人爬了智联招聘上的关于算法工程师的将近6000个职位,进行分析。具有一定参考价值,如图所示:

1.我们来探索一下算法工程师岗位在全国各城市的需求情况:

如上图所示,北京、上海和深圳对算法工程师的需求最多,尤其是北京,需求量甚至超过了上海、深圳的总和。所以如果想找算法工作北京机会最多,其次是上海、深圳。所以,如果想更容易的去找工作,上面的城市要更容易。

2.薪资水平的探索

如上图所示,对于算法工程师的岗位而言,绝大多数岗位的薪资在1K-2.6K之前,薪资其实相对较高。是不是突然有学习的动力。

3.学历要求

4.学历与工资的关系

基本上可以反映学历与工资成正比,如果想获得高收入,提高学历同样是个办法。

5.企业的类型分布

6.算法工程师所需要的技能(非常的重要哦)

1.学历:本科及以上学历,数学,计算机,自动化等相关专业(有些大厂提高到硕士及以上,所有学历有时候是个门槛);

2.编程能力:C/C++、Python、java任意两种;常用数据结构和算法;熟悉linux系统

3.算法能力:熟练掌握计算机视觉&机器学习的基本方法(这里所说的是可以手推公式,例如:决策树、临近取样、支持向量机、神经网络算法、回归、聚类等。同时要熟练掌握TensorFlow、Keras、PyTorch等框架)

4.经验:有项目经历;比赛经历;实习经历

5.团队合作能力:良好的沟通能力和团队合作能力。

6.加分项:有博客或者公众号;github;顶级会议论文;各种比赛奖项

7.针对细分领域可能还有一些,其他的要求,比如图像处理方向可能会要求opencv。数据分析可能要求会数据可视化。

4.2 如何找一个自己满意的工作

4.2.1 简历

简历是你求职的第一步,也是很重要的部分,因为他是你与应聘公司沟通的桥梁。那该如何制作一份合格的简历?(推荐:简历就得这么做才行https://www.bilibili.com/video/av12771675)简历的第一个字就突出简,简单美观就好,千万不要弄得特别花哨,反而没有什么好效果。简历最好一页,将最能代表自己能力的写清楚,最好简洁扼要。要针对投递公司的职位要求,去写自己的简历。例如:你去应聘一个公司,可以打开他们的招聘网站,查看一下岗位要求和公司文化是什么。对应着要求去写。但是千万不要写一些自己根本讲不出的东西,比如你写了熟悉什么算法,问你一个问题,就答不出,这样还不如不写。关于如何写工作经验或者项目经验,推荐给大家“ STAR ” 法则。

情境(Stuation):写出你的工作背景

任务(Task):我负责做什么

行动(Action):我做了什么

结果(Result):我的工作取得了什么样的结果

举例:某某公司的算法岗实习,参与人脸识别的项目,负责算法的实现与改进,最终结果提高了多少多少。

千万不要写一堆,甚至,有同学简历好多页,HR没时间去细看,不知道你的重点是什么。而且简历最好有量化的数字,比如提高了多少,写了多少代码,这样让人更直观。最后,一个小贴士,如果需要自带简历,请不要舍不得花钱,找一家好一点打印店,彩打厚纸,这样给人感觉更舒服一些。下面我们就该针对,求职要求去丰富自己的简历。

4.2.2 学历

一些大厂的起步要求确实是硕士说明门槛逐渐在提高,如果真的想深造,读书不失一个办法,尤其现在应届生与往届生的工资出现,应届生工资更高的情况。当然,还得结合自身实际选择。

4.2.3 coding能力

算法的同学coding能力是在面试中必须要考察的。虽然可能比软开要求要低,但并不是就不要求,只会python肯定是会被鄙视的。所以自己的coding能力必须多练练,推荐在牛客网或者LeetCode的在线编程多多敲代码。掌握类似leetcode medium程度的题目就可以了,hard程度的可以不用掌握。面试中一般会出几道题目,要求手写,能顺利写出的都是加分项。语言要掌握一大两小三门语言,大语言是Java或者C++,小语言掌握python,SQL。有时间精力可以将常见的算法用python实现一下。语言不必掌握很深,但是要做到能熟练用Python或者SQL处理数据,算法用Python也要掌握差不多。对于大语言来说基本语法和一些基本概念都要熟练掌握。同时对基本的计算机原理要熟悉,面试同样会问。

资料请自取哦:

python面试知识点总结:https://github.com/taizilongxu/interview_python

c\c++面试知识点总结:https://github.com/huihut/interview#cc

java面试知识点总结:https://github.com/guanzhenxing/java_interview_manual

4.2.4 算法能力

熟练掌握计算机视觉&机器学习的基本方法(这里所说的是可以手推公式,例如:决策树、临近取样、支持向量机、神经网络算法、回归、聚类等。同时要熟练掌握TensorFlow、Keras、PyTorch等框架,TensorFlow可能入门有点难,可以PyTorch)

资料请自取哦:

推荐书籍:《机器学习》

机器学习算法实现:https://github.com/lawlite19/MachineLearning_Python

推荐视频:李宏毅机器学习

算法面试经验:https://github.com/imhuay/Algorithm_Interview_Notes-Chinese

算法工程师面试常见问题:https://github.com/PPshrimpGo/AIinterview

4.2.5 经验

有项目经历;比赛经历;实习经历

对于在校生,项目经历要熟知你自己的方向,平常可以多了解实验室其他同门的项目,关键时刻懂点,总比不懂要好。比赛可以参加:kaggale或者一些大厂的比赛,当然得取得名次,要不然写出来,也体现不了能力。实习的话每年三月份会有很多实习,大家可以关注一些公众号,获取实习信息,对于实习尽量去大厂,能为你的招聘增分不少哦。

4.2.6 团队合作能力

这个对于在校生,可以说自己组织什么样的活动,或者参与项目时,怎么与他人合作。

4.2.7 加分项

需要平时自己积累了,github、博客,能为你增分的。而且最近越发的重要了。大家可以平常的笔记注意整理。

写在最后,当大家有这些基础条件后,可能就需要去面试了。分享一些面试经验。

  1. 面试通过=50%实力+30%运气+20%技巧。你能掌握70%的主动,剩下的交给运气。
  2. 首先要告诉自己,这不是一场面试,而是一场与自己未来同事之间的交流探讨。尽量消除紧张心理,完全不紧张也是不可能的,但是还是要尽可能稳下来。面试过程中尽量幽默,能做到和面试官谈笑风生你就赢了。在脉脉上看到的有人说做了面试官之后才发现其实你技术差不多就行,决定你过不过的就是看你顺不顺眼,所以最好能让面试官在短短几十分钟里喜欢上你!如果你实在很害怕,给你个经验之谈,首先找一些小一点的公司,会对各方面要求低一些,去练习面试,多练,就能消除你的紧张感,尤其当你收到offer后,会越来越自信的。(如果一点经验没有推荐看这个:Offer拿到手软——史上最良心的校招求职攻略:https://space.bilibili.com/17320304?spm_id_from=333.788.b_765f7570696e666f.2
  3. 一个良好的开头、一个高潮加一个完美的结尾。开头是自我介绍,怎么吸引面试官去问你最擅长的问题。进入你擅长的领域,争取给面试官一个惊艳的表现。同时如何结束面试一样很重要,这个可能需要自己不断练,全程记得要礼貌。
  4. 电话面试的话要注意语速吐字,现场面试也要注意语速,可以用在草稿纸上写一写的方式帮助解释。
  5. 面试中遇到没理解的问题要尽可能与面试官沟通,说不定他就在考你的沟通能力呢。
  6. 在面试中遇到不会的或者完全不会的问题要在面试之前想好策略。我的策略一般是允许自己对于最多两个问题直接说我不会,此策略一般是对于自己完全没有把握的问题,让面试官换另一个问题。如果你强答这个题的话只能是勉勉强强的回答一下。在一场面试中有1,2个问题说不会的没有多大问题,但是对于其他的问题要尽量做到完美作答,这样才有把握。
  7. 关于HR面,尽量提前查一下公司的文化是什么,表现的自己很向往并且符合这种文化就好。千万不要太个性。希望大家找到一个完美工作。

欢迎关注公众号:计算机视觉life,一起探索计算机视觉新世界~

经验分享 | 如何拿到自己满意的offer?的更多相关文章

  1. 我的秋招经验分享(已拿BAT头条网易滴滴)

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

  2. 项目经验分享[转自min.jiang]

        最近三个月,我非常荣幸的做为TeamLeader带领几个小组成员做了一个国外项目,这里想为大家分享一些小经验,尽管我佣有六年多的项目经验,但我一直的方向是架构师.大家知道架构师一般情况是偏向技 ...

  3. 走心的中级Android工程师跳槽经验分享

    这些经验是我最近四个月,从准备面试到找到合适工作的汗水和泪水,希望对你们能有帮助! define 跳槽 跳槽前要思考的问题 钱不到位怎么办 心委屈怎么办 离职前的思考 确定要走时需要做的准备 行情怎么 ...

  4. 新东方APP技术架构演进, 分布式系统架构经验分享

    今天的演讲题目是"新东方APP技术架构演进, C端技术经验分享" 作者:张建鑫, 曾任IBM高级软件架构师, 滴滴高级技术专家, 现任新东方集团高级技术总监 古代东西方的思想家都产 ...

  5. 【原创经验分享】WCF之消息队列

    最近都在鼓捣这个WCF,因为看到说WCF比WebService功能要强大许多,另外也看了一些公司的招聘信息,貌似一些中.高级的程序员招聘,都有提及到WCF这一块,所以,自己也关心关心一下,虽然目前工作 ...

  6. 【原创经验分享】JQuery(Ajax)调用WCF服务

    最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...

  7. (转)CMOS Sensor的调试经验分享

    CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...

  8. 关于启用 HTTPS 的一些经验分享(二)

    转载: 关于启用 HTTPS 的一些经验分享(二) 几天前,一位朋友问我:都说推荐用 Qualys SSL Labs 这个工具测试 SSL 安全性,为什么有些安全实力很强的大厂家评分也很低?我认为这个 ...

  9. 关于启用 HTTPS 的一些经验分享(一)

    转载: 关于启用 HTTPS 的一些经验分享(一) 随着国内网络环境的持续恶化,各种篡改和劫持层出不穷,越来越多的网站选择了全站 HTTPS.就在今天,免费提供证书服务的 Let's Encrypt ...

随机推荐

  1. [Linux性能调优] 磁盘I/O队列调度策略

    这两天的一个小任务是MongoDB服务器的调优,恰好这段时间对Linux的各种性能诊断.调优感兴趣,就顺着这个任务多翻了些书和文章. 新学到的一个东西是 Linux磁盘的I/O队列调度策略,至少MyS ...

  2. Android Studio编译报错“java.lang.OutOfMemoryError: GC overhead limit exceeded

    1.在build.gradle添加脚本指定编译堆内存 如果在整个工程中生效,则在build.gradle中增加如下配置: android { .............. dexOptions { i ...

  3. hdoj:2072

    单词数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  4. MOD(motion Object Detection)介绍

    Motion Detection or Moving Object Detection 称之为运动侦测,移动侦测,移动检测 MOD全称为Moving Object Detection,中文“移动物体检 ...

  5. linux技巧---为各应用创建快捷方式

    linux中启动或关闭应用有时候比较麻烦,你必须cd到该应用的可执行脚本的目录中再执行该脚本,不能在任意目录下开启或关闭应用..当然,设置了环境变量path可以解决在任意目录下开启应用的问题,但是每个 ...

  6. C# 在while循环中new的对象

    一: 问:那每次循环都会new一个A?那内存不是会满吗?还是说要把这个初始化对象的动作放到循环外面的写法会比较好? while(true) { A a = new A(); ... sleep(100 ...

  7. Fiddler抓包手机代理配置

    参考链接:https://i.wanz.im/2013/04/30/debugging_http_request_with_fiddler/ http://www.hangge.com/blog/ca ...

  8. C# 服务端篇之实现RestFul Service开发(简单实用)

    一.RestFul简介 REST(Representational State Transfer 通常被翻译为“表述性状态传输”或者“表述性状态转移”)是RoyFielding提出的一个描述互联系统架 ...

  9. antd-mobile Picker组件默认值

    import { createForm } from "rc-form"; @createForm() class TopAdSlots extends Component { @ ...

  10. 9、socket.io,websocket 前后端实时通信,(聊天室的实现)

    websocket 一种通信协议 ajax/jsonp 单工通信 websocket 全双工通信 性能高 速度快 2种方式: 1.前端的websocket 2.后端的 socket.io 一.后端so ...