,两个是编程之美上的还有一个比较难,我就给了个思路他还比较满意。然后问了几个linux下的命令和linux的c编程后就开始问算法了,感觉吧也挺水的,又讲了一次svm的原理。最后应他要求给他科普了一下bag of words。。(他说他真不会,想学)三面的面试官也非常nice(天啦噜美团的人都太nice了)问了海量数据的题,我没给出完美的方案不过他说我很接近正确答案了。然后让我估算如果美团要做早餐的话市场份额有多大。还问了我dns协议,这个问的超细,几乎让我把包里内容都写出来了。后来就是谈天说地聊人生。
回复 ( 10 )
睡不着怒答一发。
我是你校友,也刚参加完秋招,本科硕士专业都是ee,硕士期间做的东西主要是cv,用的模型呢不提也罢,比你的还小众。目前为止有三篇文章,分别是iccv(被拒 )、pcm、还有一个国内的水会三作。算法岗位分别投了蘑菇街、腾讯的基础研究、360、美团、豆瓣。现在拿的算法offer有美团和nice(面的是后端开发后来转的算法)。感觉自己跟你情况很像,唯一好一点的是我有过三个月的到中科院深研院的客座经历。下面简单说一下这几家公司的情况。
蘑菇街、腾讯都没进面试。有同学去面试腾讯的时候面试官说基础研究主要招博士…(所以各位同学报岗位之前一定要问清楚情况,不要太相信职位简介)
豆瓣笔试三道题,分别是推导svm、堆排序和讽刺百度的题(开玩笑)做得还不错,结果一面挂,问了一堆logistic regression的东西确实没用过。。他们那边也是做nlp的居多 感觉不太对口。
360二面挂。一面问了下自己的论文,然后就是常规的智力题和二道编程题,都是剑指offer还是编程之美上的原题。挺轻松的。面试我的哥哥长的还挺帅。。一边面我还一边看我的博客。萌萌哒。二面感觉一下难度就上来了,编程问了海量数据top n,算法问了怎么设计一个推荐热门新闻的算法,还有一个算法设计题忘了…我给的也都是比较常规的答案。可能没有给面试官惊喜吧所以挂了,感觉360对算法工程师的要求比较高,等待面试的时候没有见到一个进hr面的。有个西交大四的坐我旁边自我介绍的时候blablbla一堆自己做的项目我心想这太厉害了,结果面试官直接问那你说说输入法用的什么模型那娃一下当机。。心疼。。
美团我一开始报的后端,后来想转算法所以还是去霸面的。一面的姐姐人非常nice,问的东西也非常广。写了一道动态规划的题,三次握手(问的非常详细,比如每次握手传递的信息),概率,排列组合,c++(多态,问的很细),http协议。。总之范围很广,深度也还行。比一般公司的一面的难度要大(比如京东网易)。二面是个东北老爷们,人也非常nice豪爽。写了三个程序
,两个是编程之美上的还有一个比较难,我就给了个思路他还比较满意。然后问了几个linux下的命令和linux的c编程后就开始问算法了,感觉吧也挺水的,又讲了一次svm的原理。最后应他要求给他科普了一下bag of words。。(他说他真不会,想学)三面的面试官也非常nice(天啦噜美团的人都太nice了)问了海量数据的题,我没给出完美的方案不过他说我很接近正确答案了。然后让我估算如果美团要做早餐的话市场份额有多大。还问了我dns协议,这个问的超细,几乎让我把包里内容都写出来了。后来就是谈天说地聊人生。
最后nice的话,因为我一开始报的是后端,所以到hr面都没有问算法的东西。后来要转算法就加了一轮算法电面,主要问的还是lr啊深度学习啊常用范数。
发现了么?即使我申请的是机器学习工程师,在面算法之前也都考察了我在cs方面的知识。所以感觉互联网公司对于算法工程师的要求是两方面的:cs的基础,如计算机网络、数据结构、编程能力等;机器学习常用算法,甚至前者侧重更多。个人感觉如果在cs方面的基础够扎实,有一到二篇论文(即使是水会水期刊)加持,即使机器学习/数据挖掘能力有那么一丢丢弱,应该可以轻松的拿到算法工程师的offer。在校做科研和在公司做算法的区别很大,在学校这种paper是第一生产力的地方,为了发paper什么奇技淫巧都使得出来。我们用的模型工业界不常用是事实,高校多用matlab也是事实。这些公司都知道,所以个人认为做rd的话公司不要求你硕士阶段研究过什么高深模型,更关心还是你的学习能力和写代码能力。(一点愚见不对请指正)。
给题主的建议是,简历好好改改,个人技能和项目那几块槽点太多了。然后就是可以看看公司常用的机器学习模型,多刷刷leetcode,加强自己在cs方面的基础。
嗯,就酱。祝你最后能有个好的工作!
算是你师兄吧, 我去年毕业, 勉强算是智能所. 现在在腾讯做iOS开发.
仔细看了你简历, 说实在的, 我同意 曲衡 的回答. 虽然我不会说到不给面试机会的地步, 但是我不觉得看到你的简历会觉得有什么特别触动的.
我研究生也是做机器学习的, 你说的`项目中使用的工具包括聚类(kmeans)、概率模型、贝叶斯分类、假设检验、一类分类器(SVDD等)、SVM、字典学习(KSVD)、PCA主成分提取、HoG(梯度直方图)、BoW(词袋模型)等算法工具`. 其实这些东西都挺简单的, 真的. 并没有让我感觉到很优秀的地方.
然后你说你有论文, 是SCI. 挺好的, 还是一作. 但是你连名字也没有列出来, 同时也没说是什么期刊, 影响因子多少. 我冒昧地问一下, 应该是水期刊吧?
专利同样. 我也有两个专利, 并不觉得这东西有啥用, 相信你自己心里也有数.
机器学习专业方面, 单纯从你的描绘来看, 只能说是还可以, 但并称不上特别优秀. 然而公司最注重的工程实践方面, 你是欠缺的. matlab写的再好并没有什么用. 你说你熟悉C/C++. 真正有经验的人, 看你的经历也知道你的熟悉仅限于书本知识, 毕竟你没有实习, 连用C/C++做的小项目也没有. 这些我猜测你可能还没意识到.
我当年也有算法工程师的offer, 也还是考过我实际的工程能力的. 毕竟都是要写代码.
加油吧. 少年.
按重要性排序:
1. 数据挖掘相关的项目经历最重要,去实习吧少年~
2. 面试问的数据结构、算法题要精通,去刷面经吧少年~
(但不用刷 leet code 、剑指offer之类,数据挖掘岗的题都很基本)
3. 机器学习理论要扎实,常见算法吃透,最好结合第1点,去打基础吧少年~
4. 竞赛经历锦上添花,Kaggle、阿里比赛,去比赛吧少年~
======
非CS,渣硕,自学数据挖掘,绝对肺腑之言
找工作时,觉得进入名企好难,开始工作后,又觉得做的事好没技术含量。
可以发我简历,如果合适,我会转给HR
我刚刚参加完秋招,投的岗位也都是数据挖掘岗位,我的感受和题主一样,今年这个方向的工作相当难找(尤其对于跨专业的同学)。结合我自己的感受以及从面试官那里获得的反馈,分析一下其中的原因。我在北京参加了9-10月的校招,因此只分析北京地区现阶段的校招状况。
首先,数据挖掘类工作校招真的很难进吗?
相对来说的确更难了,这里的相对,一个是和去年的校招比,去年可以进BAT的同学,可能今年二线互联网公司都进不了,去年至少可以拿一两个offer的同学,今年可能就要失望了;一个是和互联网的其他岗位(例如前端、后端、测试)比,例如,有一年前端经验、能力也不差的同学,找到互联网的工作一般不成问题,而在实验室做了两年数据挖掘类研究项目的同学,仍然很难找到满意的offer。
那么,明明”大数据“、”机器学习“相关的概念被炒得火热,为什么进互联网的数据挖掘方向越来越难呢?
第一,从公司的需求来看,数据挖掘类的工作集中在互联网公司,而几大互联网公司今年的总的岗位提供量的确下降了。腾讯北京今年秋招的基础研究类同学几乎全部阵亡,据说基础研究类实习转正就把HC用完了(?);阿里今年整体的名额不多;此外,据说美团在南京校招时曾表示他们数据算法类岗位今年只有社招名额(?)。以上是大公司,小公司的情况更特殊一些。小公司的试错成本很高,他们更需要能立刻上手、经验丰富的人,因此校招门槛通常更高;而几个大公司的岗位减少,让更多的同学涌向小公司,导致小公司这个岗位的竞争也异常激烈。我参加过几个小公司的笔试,offer数/笔试人数 目测都在5%以下。
第二,从工作性质本身来看,需求量貌似也不大。很多发展中的公司都在忙着圈地,这个时候业务开发相关的前端、后端、测试更加重要,数据挖掘对他们只是锦上添花,因此目前没有投入太多的打算。
第三,校招同学数量增加。总人数未必增加,但是投这个岗位的同学数量绝对大大增加。这个现象,可能和“大数据”相关的概念炒得太热有关,计算机、电子、数学、经济、生物等专业的一大批同学都觉得数据挖掘是他们的理想工作岗位。
第四,校招同学水平提高,导致校招门槛水涨船高。数据挖掘类的学习资源越来越多,各类公开课、比赛也都提升了校招同学的整体基础。举个栗子,五年前,有个学长没有机器学习算法的相关基础和ACM经历,校招也成功进入凤巢,现在没有较强的背景的话内推简历关都很难过,一点研究经历没有的,比如我,就被刷下来了。
第五,只是我的揣测,数据挖掘大神更爱收集校招offer,导致大部分数据挖掘的offer被少数人拿走了。
最后,秋招已经接近结束,还有那些补救措施呢?
第一,放弃数据挖掘类岗位,改投其他岗位。实在想投这个岗位,可以在以下几个方面努力。
第二,刷题,主要集中刷”剑指offer“和leetcode上medium、easy的题目。
第三,刷项目,不过没时间了,可以把自己的项目好好再包装一下,关键要让面试官觉得你牛逼,当然,仅从找工作本身来讲,你的项目实际牛不牛逼并不重要,牛逼最好,不牛逼也可。
第四,注意捡漏,要签三方了,那些大神也该据offer了,一些公司的HC会空出来,例如,最近腾讯上海的基础研究类岗位又开始校招补招了(传送门:腾讯上海IEG2016校园招聘紧急补录)。
总之,机会总是留给有准备的人,加油!
**************************************以上为10月24日以前的内容******************************
**************************************以下为10月24日以后的更新***********************************
最近两天不少非应届生同学,私信给我咨询如何找数据挖掘类的工作。在这里统一回复一下我的建议。
第一,明确你的方向。在BAT这种大公司里面,数据挖掘类工作又分为两种,一种是数据分析师,技术要求较低,但对于商业敏感度、统计要求较高,主要掌握SQL、MapReduce、Excel,从业的同学主要来自统计、经济专业,工作内容为监控运营数据、分析原因,对运营和高管负责,但几乎不参与线上系统的直接开发;另一种为算法(研发)工程师,主要工作为研发各类后台算法系统,其实只是后台研发工程师的一种,技术涉及面比较广,根据工作内容又分为搜索、推荐、广告、NLP、图像等等,根据工作层次又分为基础算法(做算法实现)、应用算法(根据业务场景调用算法)。可以看到,虽然都是在做数据挖掘,但是不同类型的工作要求完全不同,必须有的放矢,才能事半功倍。我投的岗位是算法工程师,回答的所有内容都是针对此类工作。
第二,强化你的背景。这不是一个看脸的岗位,但是的确是一个讲究背景和出身的工作。所谓背景,就是指你就具体在XX大学XX实验室XX老师下面做XX研究。倒不是说有人带就一定更强,但是师傅领进门,可以积累的人脉、途径、眼界是自学所弥补不了的。这也是我比较遗憾的一件事,研究生快毕业了,也没有任何相关paper或者专利(题主做图像,至少用到一些机器学习算法,我的专业方向却和机器学习毫无任何关系)。如果给我一次重来的机会,我一定要放弃在本专业苟且保研的机会,勇敢地参加考研,报一个对口的专业,争取搞篇像样的paper。
以上两点非常重要,因为需要时间积累,而且不是靠你后来的个人努力就可以改变的,想做什么,怎么做,建议早点想好。
至于其他的,例如刷题、刷比赛、刷项目,在知乎的回答已经很多了,我就不赘述了。
看了@严昕最后部分的答案,表示赞同。Data science分两个方向,做底层数据架构使用的是hadoop, mapreduce。但是这两个东西速度不够快,于是又有了hive等等各种东西。做上层应用比如analysis的,用的是r statistics,做机器学习用的是python。而这些你都不会,甚至我在楼主的简历里都没有看到sql相关的经历。所以我也无法知道楼主有没有能力独立的从数据库中提取数据。另外算法很重要,算法很重要,算法很重要。重要的事情说三遍!一个时间复杂度为O(n方)的算法在数据量大了之后很可能半天跑不出结果,而一个O(n)的算法却可以拯救世界。所以楼主是否具有独立的算法分析,设计能力?楼主简历中都是会用某些算法,是否可以分析这些算法?另外基础的算法不是这些,而是那些greedy, divide and conquer, dynamic programming, np等等,这些楼主会吗?最起码简历中看不出来哦?所以楼主方向并不正确,需要会的基本功都不会,所以还需要努力。另外学校真的是和社会脱产的,除非是去做科研。可是学术界的科研和工业界的科研也不尽相同吧。
你去参加kaggle竞赛吧
来回答下lz的最后一个问题:毕业工作从非互联网再跳互联网是不是也一样是这么艰难?
– 是的,换行业换公司都是有成本的。见了太多简历和候选人,如果最开始为了户口,为了最开始所谓的高薪,为了传说中的大公司,去了一家或许自己觉得勉强能凑合一阵的公司,如果之后还想要进入自己喜欢的行业or工作,需要付出更大的成本,尤其是时间成本;加之互联网的日新月异,每个月行情都会不一样,还怎么去追赶。
当然,今年某些互联网公司校招实际情况就是招的人明显少了,所以不光对数据挖掘,所有的岗位,如果只用offer比例来衡量,必然是比前两年更难。but,是现在努力争取还是以后再转,u choose.
说实话,你ml的功力或许还不如某些本科生,实在略浅,应聘没法为你加太多的分。例如kmeans,pca都是基础算法,经典到和某些淘宝爆款一样的东西。matlab 2015a里面一句pca就搞定的东西能加几分?
当然,如果你是拿纯cpp不带库手撸代码我敬你是条汉子,逆矩阵和svd的函数没有一定功力是写不粗来滴。找不到工作的确有点没天理。
并不是说要去学小众的,我们应该学好用的,可惜的是,好用的算法你都没学完(学个7788就姑且算学完了吧)。
而且很多互联网不一定需要机器学习的。