本人属于技术比较菜的那种,虽然在学校研究的课题是机器学习方向的,但是都没有深入系统的学习过算法。
工作有五年的时间,但是毕业时没有什么规划,开始做的不是算法岗位,可能自己比较执着,一直想做算法岗位,平常关注算法的研究进展,因为自己的关注不在工作岗位上,所以工作做的也不好。后来跳槽,说是图像算法岗位招进来,进去做的内容也不是算法,所以兜兜转转还是没转行成功。
因为看算法就关注过July校长的博客,后来学习过七月的一些入门课,但是都是零零散散的,没有任何效果,自己动手还是太少,既然要转行就彻底点,下定决心沉淀下来学习一段时间,报了七月的CV就业班。
02 面试前的准备
对于数据结构和基本的算法,因为自己平常工作也比较忙,没怎么刷过leetcode ,但是这是基础,肯定是要刷下的。
毕竟是工作很长时间的,自己看了很多遍七月之前关于传统机器学习的课程,买了西瓜书,对于SVM,决策树,概率图模型等知识点,只要有知识点不是很清楚,都会在看一遍。
其实现在的研究方向还是离不开传统机器学习的知识,对于实际工作中用到传统的算法还是很常见的。
学习任何东西都要进行总结,要形成自己的知识体系架构。在课堂上,老师会说很多的知识点,最终我们要把这个这些知识点添加到我们的体系里。
比如说到Iou,首先它是一个模型评估的方式,我们就要把它归类为模型评估的体系。那么还有哪些模型评估的方式,这些评估的方式会用的哪些场景中,我们把这一体系给补全,这样在面试中就不会胆怯。准备面试就要把自己的知识体系补全。
简历的准备,我们工作长时间的和他们才毕业的是不一样的,首先我们的项目的选择上要和现在的工作能够有关联。
在这里非常感谢七月的老师们,才开始我的简历准备只写了课上的项目,和现有工作不是很贴切,和就业老师说了下,就业老师就专门拉了个群,邀请授课老师seven博士帮助我修改简历,老师们非常用心。
当然准备的项目一定要很清楚具体的流程。包括数据的准备,用到的图像是多少分辨率,输入网络是多大的尺寸等,写上去的算法要知道为什么用到这个算法,其他的算法有没有想过,有没有更好的算法。
最后面试前准备面试官会问到的问题是很关键的,面试就像是开卷考试,只是我们不知道他会考哪些题,这个范围很广。我们都会看面经,看看面经上问到的问题,自己也准备下。
其实,就像是老师在我们群里发了面试的主要考察点,稳定性,业务能力,个人态度/思想观念。
我们一般都会准备业务能力的问题,可能忽略另外两个,有时自己技术面试过了,就是HR面试,不知道啥原因就挂了,主要是我们回答问题,表达不要太夸张,表现自己想进公司的愿望就行。
我是一个比较语讷的人,面试会很紧张,可能很多人和我一样,所以准备这些问题要充足,因为在面试表现只能发挥50%,那自己就准备150%的,如果面试时会经常忘掉准备的,可以自己在家练习,把问题的答案写下来,反复练习,这是老师们说的一个好方法。
对于业务的问题要准备几个方面吧,项目问题和项目延伸的问题,CV方向的基础问题,传统机器学习算法,算法和数据结构,这个问到的不是特别多,笔试会遇到。
03 面试经过
对于工作一段时间的,在猎聘网上投简历比较好些,我在BOSS直聘,拉勾上基本没啥回复。猎聘上只要更新简历,就会有不少猎头联系。
我面试的公司主要分为几大类,一个是和自己现在公司同一行业的公司,一个是CV行业的明星公司,还有就是其他做视觉的公司。
开始时候,都是很多现在同一行业的公司,面试了好几家,也是自己没做好这方面的准备,问了好多传统的算法。
1.图像配准怎么做的;
2.图像分割用到的哪些算子;
3.图像变换矩阵是多少自由度,等这些图形算法。
因为这是自己项目写了,所有问到。
CV行业的明星公司,主要说了很多项目中的细节,后来问到一些基础知识,卷积运算的参数量,还有如果3*3的卷积,输入尺寸告诉你,需要多少次相乘运算,resnet为什么可以成功,为什么叫残差,知识蒸馏为什么叫知识蒸馏,图像检索中的TOP5怎么得到,如果给你很大的数据,一个机器放不下,怎么拿来训练,K-means算法的原理,初始值的选择对结果有没有影响,这里自己在二面,表现不好,被刷下来了。
面试成功的这家公司,主要技术问题面试的其实不多,开始说了下项目的问题,后来主要是在讨论公司的工作内容,其实在这里,我一直是在讨论公司项目中可以用到的算法,解决现有问题,还有表现对公司做的东西很感兴趣。
后来就笔试,其实我感觉笔试不是很好,看英文文章,写出技术方案,写出核心算法的代码或伪代码,这个可能做的比较好。有时面试是比较实在,公司就是招直接能干活的,可能你没干过,但是表现有这方面的能力就可以。
面试要做好充足准备,对自己要从事的方向要明确,在面试这家公司之前要想到所有可能要问到的问题,我也没有面试很多公司,上面也是自己面试的一点经验,希望能对大家有启发,找到自己心仪的工作。