Q:DS转MLE的话 CS哪些基础知识一定要补一下
A:最最基本 :data structures, algorithm, ml 各种算法如何写代码实现。
OOD,Design patterns还是很有用的。读懂别人代码,给你个api会用,也是很基本的。
Q:从sde转做mle容易还是ds转做mle容易呢?
A:SDE 和 DS 转行相比较,要补的东西不同。泛泛而言,DS一般建模理论和实践比较强,但是相对于SDE来说,写码能力会差一些,并且CS基础知识欠缺。反观SDE,看之前 概率,数理统计,各种建模,学习了多少,基础如何,真的从零学起的也不是很容易。
所有的容易不容易都是相对而言,每个人背景不同,想做的事情不同。列好补课提纲,也要行动力嘛。
Q:作为非cs背景的ds,在转mle的过程中应该如何丰富自己的简历与其他qualification呢?
A:ML eng看重建模,编程,解决问题能力,有时还要自己写点data processing pipeline。想一下自己现在的工作内容有什么相关的,有没有可能争取到做相关的project。也可以去上课,各大mock平台那么多,online CS master可能耗时太久,local大学上一些课。Kaggle也是一个途径。现在参与的人多了,能拿到好成绩还是挺厉害的。
Q:怎么提高自己的建模能力呢?我在面试过程中,发现自己主要是在具体的case study的建模里容易卡顿,比如,之前遇到的一题,每个文件包括不同数量的3个feature,已知处理文件的时间随文件数目的分布图,建模分析提高哪个feature最有利于减少时间。类似于这样的case我觉得自己分析的不是很全面,想问问楼主这种问题有没有具体的回答思路和训练方法呢?
A:这个话题好庞大,可以写长帖了。case study 除了看建模方面的例子(例如各大科技公司的blog, kaggle各种kernel,积累经验很重要),还可以看一下商学院准备case study的资料,cracking the PM interview 等等来扩展自己的思维。单就面试而言,答题可以用总分总的模式,要解决什么问题,接下来要做哪几步(收集数据,建baseline,尝试模型,offline/online evaluation,如何改进,最终上线),然后总结你解决了什么问题。白板上列出大纲有利于理清思路。毕竟面试时间有限,某一点具体展开讲之前,问下面试官要不要花这个时间。面试官问的问题可能故意很模糊,需要你问 clarification questions来搞明白。有什么数据,能用什么数据,model是否看重容易理解,都要问清楚。做assumption之前,解释下为啥这么做,问面试官这么想是否合理。 面试官给提示的时候要记得follow。
Q:experienced ds 转mle 的话是不是还是得从entry level做起呢?
A:看面试表现,之前的经验和级别,不是特别资深的,一般平级问题不大。以前就是搞ML,coding又强,跳槽时候升一级不是没可能。别的状况,就看你自己觉得值不值得了。转行要趁早,越往上,换方向代价越大。
Q:我是小公司的ds,除了做research,也要implement code,然后跟engineer合作一起做production,感觉定位不是很明确。想请问lz,mle的话会有类似于research偏理论和实验的内容(比如读paper,测试新的算法和特征)么?还是说确定了用某个算法之后做implementation多一些?
A:大公司应该有,这个要找内部人士打听,毕竟同一个职位组和组之间差别可以很大。
Q:小菜鸡MS应届生目前在大厂做ML engineer, 主要做recommendation system从infra到pipeline到model啥都涉及。目前苦于今后的职业规划,可以给一些建议吗?应该侧重哪些方面?啥都做感觉啥也做不精。
A:ML eng 和 swe 到一定程度,要么选择继续做IC,当 tech lead 带技术队伍,要么去做 people manager。tech lead不光要了解技术细节,大局各种架构更加重要。people manager其实就是另一套 skill set了。这个怎么选择,看个人偏好了。做了几年,觉得另一个方向更适合自己也可以再转。junior时候多学多问多观察。听你的描述,你们组可以学到的东西很多,具体的技术方向肯定是要先了解才能做选择。看看你周围你佩服的人在哪些方面强于你,你如何可以变得和ta一样厉害。
Q:Design patterns 是指OOD不? 有木有推荐的资料呀。编程语言的话除了python这种, c++和java是不是也得会一个?
A:design pattern是OOD的一部分。production code不一定会是python,C++和java至少得会一个。有的公司用spark处理数据,scala可能也要学一下。