根据北美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媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文来自企鹅号 - BitTiger媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。