1. 背景介绍:
以下都是本人的故事:中考的时候,我因为发挥不佳,不幸考到了二类校,好在家里支持,让我借读去了市里最好的学校之一。在高一的时候,成绩排在年段800+名,基本是垫底的,高二分科的时候,没有太多选择,只能选文科,因为我知道,只有文科才有可能迎头赶上,高二的时候,我开始认真学习,成绩在普通班逐渐排到了前十,前五,一直到高二下期末考的时候,排到第一,高三的时候,因为我们学校是外国语学校,很多同学都保送了,我成绩也就稳定在班级第一,抛开保送生,我在年段也能排在10名左右,实验班的同学都知道普通班有一个借读生,开了挂。
上一张我的高考成绩单
那年高考,真tm难,侥幸考了省前200名,但是还是离真正好大学的好专业有差距,所以无奈选了某985的经济学,进入经济学院后,又考入了一个经济学实验班,这可以说我人生的一个转折点。在这个奇葩的实验班中,我们要全英文上课考试写论文写作业,要上15学分的数学分析,6学分的大学物理,这些“奇葩”的课程安排,无意间为我后来的发展垫下了基础。想象一个文科生上这种课的痛苦。。。
美国研究生申请阶段,由于本科的数理统计课的兴趣激发,所以决定往统计专业申请,刚好当时有个叫“数据科学”的专业吸引了我的目光,于是抱着试一试的态度就去了,实际上当时根本不知道什么大数据,机器学习,算法是啥东西。研究生第一年,很自然的除了课内的统计课,我一门心思只想做金融,于是连考了2级CFA也就是特许金融分析师,而且基本都是8A以上通过。正当我做着成为金融大亨,迎娶白富美,走向人生颠覆的美梦,现实击倒了我,国外的大投行我甚至收不到任何一个实习的面试机会。。。我懵了,于是脑海闪过了一个做数据的念头。
研二前,我申请了gap一年,这一年时间,我开始疯狂找实习,刚开始是很困难的,由于没有什么实践和项目经验,基本没有人理我。好在一个Amazon的pm赏识我,让我从数据分析师做起,在Amazon一共做了6个月的数据分析,后来事情就变得越来越容易,Intel的BI分析师实习,美团的算法实习也就随之而来。在实习的日子里,除了做好本职工作外,我每天回到家必须再额外学至少3小时的东西,才能让我往前追赶。。。
终于,在研二前的暑假,也就是这个校招,我算是侥幸拿到了一些offer,包括头条,美团,阿里,腾讯,华为等等,都是算法offer,天道酬勤。
2. 如何转算法
校招这一年我看的书和刷的题:
《统计学习方法》李航:看得非常细,手推了里面的每个公式
《机器学习》周志华:基本没咋看,只看了上面那本没涉及到的
《Python与机器学习实战》 何宇健:实现了里面的大部分代码
《剑指offer》:其实主要是在牛客上刷了两遍题
leetcode:大概200多题
学习方法:重点(CS科班大佬们可跳过退出这个帖子啦,希望和我一样的转专业狗可以看看)
接下来就是干货了,前面这些其实都是废话。
工具:一本有机器学习算法数学推导的书(《统计学习方法》),vpn,草稿纸,一个笔记本,一个笔记本电脑
对于每个算法/模型,要做以下几件事情:
1. 看一遍理论推导,不会的不懂不理解的地方Google it
2. 自己盖上书在草稿纸上推导一遍,忘了接着看书,然后接着盖上书重来一遍
3. 在笔记本上开一章专门针对这个算法的页,把书上内容复现在本子上
4. 在Google上搜索: (以SVM为例)SVM适用场景,SVM解决过拟合的方法,SVM损失函数,SVM的优缺点,SVM与其他分类方法的比较,SVM的分布式计算方法,SVM的复杂度,并讲这些内容记在本子上
5. 打开Google/github,搜索该算法的实现代码,不要调包。。。而是老老实实的跟着网上代码的代码自己写一遍
6. 找一个数据集,自己kaggle上找一个适合该算法的,跑一下,看有没有bug
7. 在Google上找到该算法的调包和调参指南。。。用刚刚的数据集当一次调包侠和调参侠
完成以上7步,算搞定一个模型,惭愧的说,因为时间有限(懒),我并没有每个模型都做了以上7步,但基本也差不多。。。
3. 如何面试
在北京实习的一年以及校招的一年,我在找实习或校招的时候面过的公司包括头条(10面,拿过2个实习offer,以及校招offer),美团(14面,拿了1个实习offer,3个不同部门的提前批offer,1个面到首席科学家但被拒的offer),阿里(8面,实习被拒,校招拿offer),腾讯(5面,校招拿offer),百度(6面,拿过一个实习offer,校招被拒),滴滴(2面,实习被拒),网易(3面,校招和实习都被拒),搜狐(2面,拿过实习offer),搜狐畅游(2面,拿过实习offer),京东(6面,拿过两个实习offer),华为(2面,拿过一个校招offer),其他还有一些外企和美国公司,就不提了。
我的经验就是,疯狂面试,从最开始的各种被拒,到后面的逢面必过,我只能总结两个要点:
1. 面试要变成你审问面试官而不是面试官审问你,要你带着面试官问你懂的问题,而不是他主动去问你不懂的问题
2. 对于算法题,如果不会,不要呆在那里,要先给出一个暴力解法,哪怕复杂度很高的loop也可以,然后不断与面试官交流,问一点写一点,让面试官觉得你是个聪明人,一点就通就行。
4. 写在最后
记得在高考前那段时间,每天5点起床,洗个头开始读书,和班主任说好,课全部不去上,全天在图书馆自习,就那样,拼到了第一,我很幸福。
记得在大学的时候,考托福去深圳考,在前一天的高铁上,还在看错题,结果累到肠胃发炎,尽管如此,还在疯狂看错题,最后功夫不负有心人,托福一战就考了104我是幸福的。
记得在美国考CFA一级的时候,去波士顿看前女友,时间赶到大巴和飞机上全在看书,尽管疯狂晕车,但我是幸福的,最后也以超过90%考生的9A1B过了一级,很幸福。
记得在打美赛的时候,整整3天没睡觉,写了26页的英文论文,最后拿到F奖,我是幸福的。
记得刚去美国第一年的时候,身边都是顶尖985的数学系学生,好几个竺可桢院的本科生,每节课我需要提前预习一遍,上完课还要复习一遍,不懂的挨个去敲门问,没什么钱,在学校的catering打工,书带在身边,每次上完菜或者摆完桌子,会有一个小时,怕吵,就在冷库里面看书,我是幸福的。
记得在美团实习那段时间,我每天早上7点起床,做一小时leetcode,或者看一个半小时李航的书,9点出门买个早餐,挤着坐10号线到惠新西街南口,上公司最后一趟大巴,10点到望京美团。干到晚上9点,蹭公司的打车报销,回到家,10点洗完澡开始继续学习,学到1点睡觉,每天6个小时睡眠,这段时间辛苦,但真的幸福。
兄弟们,成功没有捷径,唯有付出百倍努力,说读书无用论的,都是一些真的无用的人。
1. 背景介绍:
以下都是本人的故事:中考的时候,我因为发挥不佳,不幸考到了二类校,好在家里支持,让我借读去了市里最好的学校之一。在高一的时候,成绩排在年段800+名,基本是垫底的,高二分科的时候,没有太多选择,只能选文科,因为我知道,只有文科才有可能迎头赶上,高二的时候,我开始认真学习,成绩在普通班逐渐排到了前十,前五,一直到高二下期末考的时候,排到第一,高三的时候,因为我们学校是外国语学校,很多同学都保送了,我成绩也就稳定在班级第一,抛开保送生,我在年段也能排在10名左右,实验班的同学都知道普通班有一个借读生,开了挂。
上一张我的高考成绩单
那年高考,真tm难,侥幸考了省前200名,但是还是离真正好大学的好专业有差距,所以无奈选了某985的经济学,进入经济学院后,又考入了一个经济学实验班,这可以说我人生的一个转折点。在这个奇葩的实验班中,我们要全英文上课考试写论文写作业,要上15学分的数学分析,6学分的大学物理,这些“奇葩”的课程安排,无意间为我后来的发展垫下了基础。想象一个文科生上这种课的痛苦。。。
美国研究生申请阶段,由于本科的数理统计课的兴趣激发,所以决定往统计专业申请,刚好当时有个叫“数据科学”的专业吸引了我的目光,于是抱着试一试的态度就去了,实际上当时根本不知道什么大数据,机器学习,算法是啥东西。研究生第一年,很自然的除了课内的统计课,我一门心思只想做金融,于是连考了2级CFA也就是特许金融分析师,而且基本都是8A以上通过。正当我做着成为金融大亨,迎娶白富美,走向人生颠覆的美梦,现实击倒了我,国外的大投行我甚至收不到任何一个实习的面试机会。。。我懵了,于是脑海闪过了一个做数据的念头。
研二前,我申请了gap一年,这一年时间,我开始疯狂找实习,刚开始是很困难的,由于没有什么实践和项目经验,基本没有人理我。好在一个Amazon的pm赏识我,让我从数据分析师做起,在Amazon一共做了6个月的数据分析,后来事情就变得越来越容易,Intel的BI分析师实习,美团的算法实习也就随之而来。在实习的日子里,除了做好本职工作外,我每天回到家必须再额外学至少3小时的东西,才能让我往前追赶。。。
终于,在研二前的暑假,也就是这个校招,我算是侥幸拿到了一些offer,包括头条,美团,阿里,腾讯,华为等等,都是算法offer,天道酬勤。
2. 如何转算法
校招这一年我看的书和刷的题:
《统计学习方法》李航:看得非常细,手推了里面的每个公式
《机器学习》周志华:基本没咋看,只看了上面那本没涉及到的
《Python与机器学习实战》 何宇健:实现了里面的大部分代码
《剑指offer》:其实主要是在牛客上刷了两遍题
leetcode:大概200多题
学习方法:重点(CS科班大佬们可跳过退出这个帖子啦,希望和我一样的转专业狗可以看看)
接下来就是干货了,前面这些其实都是废话。
工具:一本有机器学习算法数学推导的书(《统计学习方法》),vpn,草稿纸,一个笔记本,一个笔记本电脑
对于每个算法/模型,要做以下几件事情:
1. 看一遍理论推导,不会的不懂不理解的地方Google it
2. 自己盖上书在草稿纸上推导一遍,忘了接着看书,然后接着盖上书重来一遍
3. 在笔记本上开一章专门针对这个算法的页,把书上内容复现在本子上
4. 在Google上搜索: (以SVM为例)SVM适用场景,SVM解决过拟合的方法,SVM损失函数,SVM的优缺点,SVM与其他分类方法的比较,SVM的分布式计算方法,SVM的复杂度,并讲这些内容记在本子上
5. 打开Google/github,搜索该算法的实现代码,不要调包。。。而是老老实实的跟着网上代码的代码自己写一遍
6. 找一个数据集,自己kaggle上找一个适合该算法的,跑一下,看有没有bug
7. 在Google上找到该算法的调包和调参指南。。。用刚刚的数据集当一次调包侠和调参侠
完成以上7步,算搞定一个模型,惭愧的说,因为时间有限(懒),我并没有每个模型都做了以上7步,但基本也差不多。。。
3. 如何面试
在北京实习的一年以及校招的一年,我在找实习或校招的时候面过的公司包括头条(10面,拿过2个实习offer,以及校招offer),美团(14面,拿了1个实习offer,3个不同部门的提前批offer,1个面到首席科学家但被拒的offer),阿里(8面,实习被拒,校招拿offer),腾讯(5面,校招拿offer),百度(6面,拿过一个实习offer,校招被拒),滴滴(2面,实习被拒),网易(3面,校招和实习都被拒),搜狐(2面,拿过实习offer),搜狐畅游(2面,拿过实习offer),京东(6面,拿过两个实习offer),华为(2面,拿过一个校招offer),其他还有一些外企和美国公司,就不提了。
我的经验就是,疯狂面试,从最开始的各种被拒,到后面的逢面必过,我只能总结两个要点:
1. 面试要变成你审问面试官而不是面试官审问你,要你带着面试官问你懂的问题,而不是他主动去问你不懂的问题
2. 对于算法题,如果不会,不要呆在那里,要先给出一个暴力解法,哪怕复杂度很高的loop也可以,然后不断与面试官交流,问一点写一点,让面试官觉得你是个聪明人,一点就通就行。
4. 写在最后
记得在高考前那段时间,每天5点起床,洗个头开始读书,和班主任说好,课全部不去上,全天在图书馆自习,就那样,拼到了第一,我很幸福。
记得在大学的时候,考托福去深圳考,在前一天的高铁上,还在看错题,结果累到肠胃发炎,尽管如此,还在疯狂看错题,最后功夫不负有心人,托福一战就考了104我是幸福的。
记得在美国考CFA一级的时候,去波士顿看前女友,时间赶到大巴和飞机上全在看书,尽管疯狂晕车,但我是幸福的,最后也以超过90%考生的9A1B过了一级,很幸福。
记得在打美赛的时候,整整3天没睡觉,写了26页的英文论文,最后拿到F奖,我是幸福的。
记得刚去美国第一年的时候,身边都是顶尖985的数学系学生,好几个竺可桢院的本科生,每节课我需要提前预习一遍,上完课还要复习一遍,不懂的挨个去敲门问,没什么钱,在学校的catering打工,书带在身边,每次上完菜或者摆完桌子,会有一个小时,怕吵,就在冷库里面看书,我是幸福的。
记得在美团实习那段时间,我每天早上7点起床,做一小时leetcode,或者看一个半小时李航的书,9点出门买个早餐,挤着坐10号线到惠新西街南口,上公司最后一趟大巴,10点到望京美团。干到晚上9点,蹭公司的打车报销,回到家,10点洗完澡开始继续学习,学到1点睡觉,每天6个小时睡眠,这段时间辛苦,但真的幸福。
兄弟们,成功没有捷径,唯有付出百倍努力,说读书无用论的,都是一些真的无用的人。