非CS背景,我是如何成为AI工程师的?

根据北美Offer故事系列直播整理而成,回看视频

http://t.cn/RTvWcyg

人物介绍

小C,BitTiger DS502 AI直通车学员,刚入职一家医疗图像研究所,职位Computer Vision Engineer。EE本科,EE研究生。

主要内容

AI工程师学习准备过程:(C++;图像知识;深度学习知识;简历内容)

AI工程师求职面试经验总结

大家好,今天跟大家分享一下自己在AI方向求职的经验,希望能够帮助大家少走弯路尽早收获offer。我在整个求职准备过程中,要求自己尽量在3天内完成每个小目标,因为求职准备时间宝贵,整个求职周期也非常长,所以需要保持一个高效快速的节奏。

学习准备的干货内容

在所有工作开始之前,首先要做的是把自己AI方向的环境设置好,包括以下几方面:

OpenCV

DL framework(Tensorflow,Keras,Caffe,MxNet)

Ubantu

C++

Python

Machine Learning Basics

关于C++的准备

必须会C++的AI工作

AI Engineer / Computer Vision Engineer / Self-driving Car Engineer / Image Processing Engineer / SLAM Engineer/GPGPU Engineer

不一定需要C++的工作

Data Scientist / Deep Learning Scientist / NLP engineer / Machine Learning Engineer(这里指的AI工作主要在视觉方面,不含NLP和推荐系统)

重要的C++基础知识

C++11:Smart pointer最重要, 其中shared_ptr,unique_ptr非常容易考到。

STL:容器需要好好掌握,容器的添加,删除,排序等,需要掌握Vector和Map。

类:有很多前缀,后缀,比如const, static,override,virtual,pure virtual,这些我们要记清楚。

向大家推荐一本关于C++的书《Effective C++》,里面会有面向对象或面向过程等不同的编程风格学习,这本书比较薄,非常适合面试准备过程中看。另外大家也可以在Youtube上找一些短视频进行观看学习。

对于Leetcode刷题,大家可以根据自己的时间合理安排,Easy和Medium难度的题最好可以刷300道以上。如果用C++刷题,有机会跟着现成的算法课或者视频课刷题是非常高效快速的。

关于必要图像知识的积累

需要知道的基本知识有:

特征点

Harris角点检测

SIFT

SURF

ORB(比如面试题:在SLAM系统中为什么用ORB,而不用SIFT和SURF?)

描述子和匹配,FLANN算法

相机模型

相机内参,外参数

相机标定(Vision Reconstruction)

基本的大块概念

图像配准,运动检测,光流等

OpenCV:非常重要,面试任何一个关于图像工程师的职位必需。

Mat基本操作遍历必须会

其他东西可以根据算法推演

CUDA

非常容易赢得图像方向面试的优势,使用CUDA并可以解释清楚会令面试官对你刮目相看。

关于深度学习知识的积累

至少熟悉一种框架

Caffe,Tensorflow,Pytorch,MXNet等

推荐Tensorflow + Keras

至少一次Kaggle项目的经历

如果有名次(15%)简历上写一个就可以,如果没有名次可以多写几个

Ensemble multiple models,数据科学家非常欣赏可以组合不同model。关于Model,起码用一句话可以迅速说出各自的优点:

GoogleNet V12345

VGG

ResNet

MobileNet

AlexNet

模型选择

Fine tune

参数训练技巧:如何设置初值,如何调参

下面列举些面试官经常问的小问题,大家可以思考:

平常喜欢用什么Optimizer?

为什么神经网络越深越好?

为什么需要网络thin呢?

Gradient Vanish造成的原因是什么?

为什么会造成Overfitting,怎么克服Overfitting?

如果面试谈到Batch Normalization,面试官会问它是什么

Range of each hyper parameter?

一些普通机器学习的小知识,比如把SVM与分类算法做对比,SVM优势在哪?

数据集大小和切割是最经常问的问题,要对自己的项目非常熟悉。

关于简历重要tips

Ensemble过很多不同的model

Transfer Learning

手撕过整个网络各种层以及反向传播

Kaggle Project

有实习经验,不局限于深度学习,有图像方面或软件方面的经验也非常好。

求职面试的经验总结

在面试过程前两分钟,先细心观察面试官是什么样子的人,从言行举止方面与面试官及公司文化的契合。

不要想等准备好再面试,机会不等人,很多时候等我们准备好职位已经没有了,可以从小公司开始练手,大公司找人推荐。如果实在拿不到面试也可以投国内公司,国内面试对算法题没有北美严苛,但其他方面也有很大的指导性,并且国内公司面试问题更偏向实操。

AI方向比较热门的方向:

自动驾驶(比较火热)

医疗诊断(钱多,公司多,职位多,职业发展有限)

推荐nlp(互联网公司)

聊天机器人(热门方向)

视觉导航

金融

视觉机器人

VR / AR

监控

面试初期遇到问题:投简历没有人回复

工作经历没有足够突出

没有把简历写到HR能看懂的程度,可以请Recuiter帮忙修改简历

你可能需要一个general的Cover Letter

自己去Linkedin加Recuiter,Bittiger也有很多资源,可以充分利用资源

面试中期问题:面试题回答不流畅

对于自己不熟的项目经历要记录下面试官的问题,不断完善

有时候面试技巧缺乏,可以多找同学朋友模拟演练,面试多总结

面试后期问题:Coding

一定要有耐心

很多时候Engineer的工作就是把Research翻译成C++并与现实相结合,不要总想做一些特别高端的工作,不要眼高手低

可以去上一些刷题的课程,或者跟小伙伴一起努力

Coding对面试成功重要性占到至少50%,必须重视,即使AI方向走不通,起码以后也可以去SDE发展。

写在最后

我整个准备求职的过程超过五个月,经过了不知道多少天的突击学习,不眠不休地看书,编程与配置环境,最终在马上要放弃的时刻收到了心仪Offer,很多同学跟我一样可能经历过多次崩溃想要放弃,但很多时候,你再多坚持一会就能找到工作了,希望大家都能够早日获得自己的Offer。

本文来自企鹅号 - BitTiger媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

用Python进行数据可视化的10种方法

编译|黄念 校对|丁一 引言 艺术之美根植于其所传达的信息。有时候,现实并非我们所看到或感知到的。达芬奇(Da Vinci)和毕加索(Picass...

4377
来自专栏Java学习网

程序员读研如何提高技术之我见

程序员读研如何提高技术之我见 你想进什么公司,和你读什么计算机方向,关系不是很大。只要是理工科的学生,面对技术岗位,其实机会是差不多的。 至于你想什么职位,那显...

28510
来自专栏牛客网

【数据挖掘面经】腾讯+百度+华为(均拿到sp offer)

3294
来自专栏PPV课数据科学社区

还在迷茫?点进来马上get→从零开始学数据分析最佳路线!

? 俗话说读万卷书,行万里路.不如阅人无数,阅人无数不如名师指路.可见一个好的导师是多么的重要,选择正确的路线,就能避免走许多弯路, 让自己站在巨人的肩膀上去...

2686
来自专栏PPV课数据科学社区

【学习】阿里面试经历及总结(数据研发、Java研发方向)

我投的岗位“软件研发工程师”。到了面试现场,选择了Java语言(有对应的面试官)。不过,后面进行了交叉面试,被推到了“数据研发”岗位。 一面: 首先,自我介绍。...

3587
来自专栏牛客网

迟来的面经,回馈牛客

写个总结,回馈牛客~ 给自己也给未来面试的同学,少走弯路,命中率更高点~ 祝大家满意的offer多多(迟来的总结 [算法岗-机器学习方向]) 直接上干货 前期...

50814
来自专栏程序员维他命

《如何高效学习》- 读书笔记

本书介绍了整体性学习法:强调在学习过程中,需要通过比喻和抽象的方法,将新知识与旧知识相互联系,以提高学习效率和深度的学习方法。

602
来自专栏AI科技评论

视频 | 憋不出论文怎么办?不如试试这几种办法

AI 科技评论按:这里是,油管 Artificial Intelligence Education 专栏,原作者 Siraj Raval 授权雷锋字幕组编译。 ...

3277
来自专栏大数据文摘

儿童节 | 别只教小朋友编程,传授算法的智慧给他们同样重要

1516
来自专栏程序员Gank

如何高效学习---读书笔记

笔者的话:本书介绍了整体性学习法,强调在学习过程中,需要通过比喻和抽象的方法,将新知识与旧知识相互联系,以提高学习效率和深度的学习方法。笔者亲测,甚是有效,在此...

813

扫码关注云+社区