|
[此帖已被设为精华]
从清水河畔上看到的SeaGraph大神的经验分享,转过来给想要进入这一行的学弟妹们学习学习
楼主九月份找的工作,过程跌跌撞撞,却有许多感悟。奈何回校之后日日宅寝,语言能力及其有限。
面经也是写写改改,文字不通之处,还请见谅。
--
背景:CS渣本,特别不喜欢上课,没事喜欢看看统计相关的书和论文,偶尔接些数据挖掘的外包项目。大小活动或是竞赛虽然积极参加,却也没搞出什么名堂。。。。囧
自我评价是兴趣驱动型。喜欢的事情做得还不错,不喜欢的事情绝对做不好。
特别一提,因为之前搞过一阵子GRE,看英文的技术文档没什么压力。
暑期在阿里巴巴实习,做一些电商运营的数据智能的支撑服务,开发和数据挖掘混合,写写Python,SQL,MapReduce(模型demo),写写Java(服务框架),偶尔还写写Javascript(可视化)。招我进去的主管离职,模型那边留了一堆R的代码,帮着改成Python维护。
前半段公司一片繁荣,部门也是歌舞升平,GMV月月新高。
看起来校招形势一片大好。部门业务成熟,加班不算普遍,楼主晚上没什么事,也喜欢呆在公司看看书看看代码,学习学习。
8月底传出了拥抱变化的消息,项目需求各种改,大干快上,加班一下子普遍了起来。
大概某天下午饭点,主管把我喊过去,说你准备一下,晚饭后开始转正面试。
毫无准备,面得不好,到最后紧张得语无伦次。面完没有说录,也没有让走人。(10天之后给的offer)
'''''''''''''
这10天特别难熬,边准备其他面试,边做着实习,每天早上9点去,晚上12点多回家。
还好扛下来了。其它面试复习得比较到位,最后拿到的offer不算太糟糕。
'''''''''''''
楼主浙江人。想的是离家近就很自然地接受了阿里的录用。
虽然阿里市值下滑,合伙人变成了螺丝钉,HR制度天天被喷成狗。
但作为最大的电商平台,实习感悟是置身其中还是可以学到相当多的东西。
先干几年再说吧。
--
感悟:
面试要反复准备,多多参加。面得多了就会发现问题都是大同小异的。
offer也是有马太效应。不到最后关头千万不要放弃。
窃以为算法工程师是很多个工种的统称。
主要从事算法,机器学习,数据挖掘的模型设计和研发工作
常见业务:广告,推荐,排序,计算机视觉,语音...
对程序设计,数据结构,统计理论,机器学习,数据挖掘,分布式系统的知识都有要求。
国内机器学习相关岗位很热,像用deep learning来做NLP,CV之类三五年内基本是供不应求。像face++,linkface,大疆之类的创新公司方兴未艾。
读研的兄弟们可以考虑向这方面发展。优秀的基本国内20K起+股票,美帝年收10W刀。
传统的广告,文本对数据结构设计要求搞,对有ACM选手非常青睐。
数据挖掘岗对机器学习模型的要求并不是那么高,更需要对业务的理解和编程开发的能力。
但是学好数学是非常重要的,写好基本的代码也是非常重要的。
如果对计算机体系结构,底层实现熟悉更是会大大的加分。(楼主就是贪玩,忽视了对OS,编译器等计算机知识的掌握)
如何掌握知识呢?
楼主觉得就是:多看书,多实践。
看书一定要看业内认可的教材和论文。不要浮于表面。(很多工程师都是BLOG流,API的搬运工)
有能力和条件的话建议看英文的原版的教材或是官方的文档。(国内书是真心便宜)
实践建议多去公司实习,多做商业项目。跟学校老师做的项目几乎没有什么市场竞争力。
比起EE价值连城的设备,CS技术有台破烂笔记本就能修炼。
请珍惜网络和开源带来的一切,不要只是用来玩游戏看电影。
不要小看努力地作用。小白奋斗三五年也能成为专家。
---
知识总结:
下面的这些书为我提供了很大的帮助,值得反复通读:
矩阵分析 http://book_douban_com/subject/1435534/
凸优化 http://book_douban_com/subject/21249088/
JavaScript语言精粹 http://book_douban_com/subject/3590768/
Java核心技术(卷1):基础知识(原书第9版)http://book_douban_com/subject/25762168/
Java核心技术(卷2):高级特性(原书第9版)http://book_douban_com/subject/25841326/
R语言实战 http://book_douban_com/subject/20382244/
利用Python进行数据分析 http://book_douban_com/subject/25779298/
Hadoop权威指南(中文版) http://book_douban_com/subject/4817792/
SQL 必知必会(第3版)http://book_douban_com/subject/2124377/
Orange'S:一个操作系统的实现 http://book_douban_com/subject/3735649/
统计学习方法 http://book_douban_com/subject/10590856/
数据挖掘·概念与技术(原书第3版) http://book_douban_com/subject/11542972/
计算广告·互联网商业变现的市场与技术 http://book_douban_com/subject/26596778/
网络科学导论 http://book_douban_com/subject/10737444/
链路预测 http://book_douban_com/subject/25733615/
算法导论(原书第2版)http://book_douban_com/subject/1885170/
算法艺术与信息学竞赛 http://book_douban_com/subject/1154204/
集体智慧编程 http://book_douban_com/subject/3288908/
还有很多paper和文档。但我觉得都没有上面列出的书籍重要。
-----
面经
-----
阿里
在一个会议室里,下面坐着带你的师兄,你的主管,师兄的主管,小BOSS,一个别的部门的小BOSS,HR。
实习的工作review,点评你的业务水平
统计学:介绍一下参数估计,假设检验的理论和几种基本的方法。(这个是最囧的,因为没有复习,基本没答上来,导致后续被反复刁难)
概率:一个贝叶斯推断的题
机器学习模型:
1.线性模型和非线性模型的比较
2.决策树,从信息增益一直聊到lambda-MART
3.介绍一下SVM(有几个点没有讲清楚)
4.介绍几种online optimization的方法,我讲了FTRL和online Rank-SVM
5.图模型,问了一个条件随机场的建模(没答上来)
然后没有正面回应是否录用。(10天之后给的offer)
'''''''''''''
这10天特别难熬,边准备其他面试,边做着实习,每天早上9点去,晚上12点多回家。
还好扛下来了。复习比较到位,后来的offer不差。
'''''''''''''
Tencent,Wechat
找过内推实习,给过offer
校招面得挺开心的。均为视频
一面:
聊在阿里的项目。
系统进程调度
Java多线程
红黑树
集成学习,多模型如何融合。
常见的聚类方法
一道贝叶斯的概率题
二面:
问了一下如何快速计算图上两个用户的最短距离。
各种矩阵分解
谱聚类(没答上来)
协同过滤
评价网络中用户影响力的模型,结合业务场景让你设计一个解决方案
三面:查户口,聊天。
第一个offer
Baidu,机器学习工程师,最后分去做文本挖掘
在杭州参加的现场,很不友好
一面:一个小矮子,看我是本科生,态度傲慢,鼻孔朝天。一见面,请介绍一下SVM(Baidu必考),从对偶问题,一直到SMO。然后刁难我用C++实现一下SVM,他没想到我还真会写。(这里有运气的成分,前一天刚好在看O(n)的pair-wise ranksvm)然后感觉他很无奈,让我用C++写了发线段树和LCS。然后就放我过了。
二面:一个胖子,态度好得多。先问我是否知道隐狄利克雷模型(LDA),不巧我刚好复习过。然后就开始给他介绍,从分布讲到topic model再扯点采样(没有自己实现过)。(特别感谢LDA数学八卦这个文档)讲得他还算满意。然后问了hash原理,布隆过滤器,爬虫,shell处理日志。
三面:问问之前的项目,问了个建模的题,闲聊。当场给的口头offer,1天之后收到录用函。
JD、美团
阿里给了offer之后面的。
跟阿里的问题非常类似。
|
+10
|