在美国,对于机器学习的Data Scientist/Applied Scientist,这类职位的核心工作职责是:能够完成end to end的机器学习项目,能够跟踪和了解最新的机器学习理论,开发适合公司应用场景的新算法。对应的核心技能要求是:
有OOP编程基础
熟悉主流机器学习和深度学习框架
熟悉主流大数据框架
熟悉主流机器学习和深度学习算法
能够跟踪和重现最新论文
将业务问题转化为机器学习问题的能力
DS如何刷Leetcode:
1.掌握一门基本的编程语言
如果你对语言没有强烈的偏好,我推荐面向对象语言Java来解决问题。首先,Java语言本身就有很大的就业市场。学这门语言找工作肯定没有坏处,而且这门语言本身的设计也很好。 使用 Java 作为面试语言可以向面试官发出一个信号,表明他们拥有扎实的编程基础。那个时候,如果你的Python基础很好,用python是没有问题的。这两种是面试最常用的语言。
2. 深入理解基本数据结构
数据结构的掌握是正式出题前的准备工作。只有充分理解了基本数据结构的原理,才能理解特定题型中为什么经常使用特定数据结构的原因。了解了不同数据结构的特点后,也有助于我们更好地分析时间和空间复杂度。
3.分类问题
我们经常测试的算法类型可以完全分类,如Recursion,Binary Search,DFS,BFS。我们在刷题的时候,一定要分类刷题。不要简单地遵循简单、中等、困难的顺序。胡乱刷题,很容易越刷越乱,无法建立系统的刷题套路。一类题目相似度高,解题方法和思路往往相似。这样一类题目会让你更容易总结出这类题目的思路和解题方法。当然,一类题很多,你可以按照频率从高到低做。
另外,一个很普遍的现象是,很多同学在做题的时候喜欢研究高频题,但是没有深入思考高频题为什么经常考。 之所以经常考高频题,是因为考的知识点比较全面,很多高频题往往是从一些基础的低频题延伸出来的。只刷高频题,却不去了解后面的知识点,其实是一种优先级的颠倒,这也是为什么很多同学会发现自己做了很多题,遇到新题却做不出来的原因。
只有深入了解算法的基础知识,掌握常用的基本套路,再加上系统的练习计划,才能很好地掌握,达到解决一道算法题后迅速想到正确思路的效果。
如果你想要在美国找工作,可以选择Uoffer,大厂面试官的1对1指导,帮助同学快速上岸。