当前位置:文档之家› 算 法 工 程 师 过 去 这 一 年 ( 2 0 2 0 )

算 法 工 程 师 过 去 这 一 年 ( 2 0 2 0 )

算法工程师:双非渣硕是如何获得百度、京东双SP本人本科硕士皆双非,和牛客大佬们没得比,目前拿到的还可以的offer就是百度SP和京东SP,都是做的推荐算法,其他的不说了。

先说一下个人经历吧,学校比较水,实验室没有项目,实习经历:腾讯实习+滴滴实习比赛经历:几个数据挖掘竞赛Top5的名次。

个人感觉,算法岗确实看学校,但如果简历还可以的话,还是有面试机会的,内推投的简历,80%都给了面试机会吧。

百度提前批(feed部):3轮电话面,远程桌面coding。

百度的面试风格其实是比较好把控的,基本就是项目问答、coding、机器学习算法、CS基础,偶尔会有些概率题智力题。

算法题:1. 两个有序数组求中位数(leetcode)2. 判断平衡二叉树(剑指offer)3. 最长上升子序列(lintcode)4. 二叉树转双向链表(剑指offer)5. LRU cache实现(leetcode)6. House Robber(leetcode)机器学习问题:无非就是树模型(gbdt、xgboost、rf、lightgbm)原理,LR、FM原理,w2v原理,深度学习在推荐系统上应用(和面试官讨论了google 的两篇paper,其中widedeep network讲的时间比较长),神经网络embedding层和w2v中的embedding的实现区别,其他的记不清了。

CS基础:进程线程区别,多线程实现方式,线程冲突是什么、怎么解决,TCP三次握手细节,海量数据排序(分治),其他的不记得。

京东提前批(广告部):2轮电话面,远程写code。

京东的面试个人觉得不是太难,广告部今年招人比较多,面试内容的话也是围绕项目+机器学习算法来问的,本人有京东算法赛Top20,可能也是个加分项吧。

算法题:链表翻转、判断平衡二叉树、最长公共子序列、海量数据topk 问题、蓄水池抽样算法机器学习问题:也是简历上写的算法来问的,以及问了一些DL的基础,不难。

蘑菇街:2轮电话面+1轮CTO面。

蘑菇街的面试只是围绕项目进行的,2轮各30分钟左右,都是在问项目,以及项目中用到的技术、算法,不难。

腾讯:对实习所在部门的工作不感兴趣,于是提前离职参加了提前批。

面了AI平台部,感觉是经历过最难的面试,面试官的问题一个接着一个,有点咄咄逼人,无奈水平不够,跪了,校招时候,做了笔试没被通知面试。

1.?项目介绍?2.?你这个项目中间哪些地方提升,中间过程分别提升了多少CTR??3.?你项目用的分布式LR的是用什么优化方法,参数怎么调的,mini-batch的batch是多少??parameter-server原理,如何解决数据一致性??4.?会分布式么,hadoop,spark会么,说说hadoop的灾难处理机制?5.?hadoop一个节点数据量太大拖垮reduce,怎么办,Hadoop本身的处理机制是怎么样的,手工的话可以怎么调?6.?hadoop数据倾斜问题如何解决?7.?L1、L2的区别,L1为什么可以保证稀疏??8.?各种最优化方法比较?拟牛顿法和牛顿法区别,哪个收敛快?为什么??9.?深度学习的优化方法有哪些??sgd、adam、adgrad区别??adagrad 详细说一下?为什么adagrad适合处理稀疏梯度??10.?DL常用的激活函数有哪些??11.?relu和sigmoid有什么区别,优点有哪些??12.?什么是梯度消失,标准的定义是什么??13.?DNN的初始化方法有哪些??为什么要做初始化??kaiming初始化方法的过程是怎样的??14.?xgboost里面的lambdarank的损失函数是什么??15.?xgboost在什么地方做的剪枝,怎么做的??16.?xgboost如何分布式?特征分布式和数据分布式??各有什么存在的问题??17.?lightgbm和xgboost有什么区别?他们的loss一样么??算法层面有什么区别??18.lightgbm有哪些实现,各有什么区别??阿里的话二面跪了,内推的阿里妈妈,难度比较高,跪了也是意料之中。

还有一些公司的面试没有参加,滴滴(面试时间和腾讯笔试冲突了,放弃),网易(2次笔试都过了,不过拿到百度后就没有去面了),搜狗(电话面了1面后,让去现场面二面,放弃),拼多多(二面被面试官放鸽子)。

PS:Bigo的推荐算法团队非常厉害,都是百度高T出来的,而且今年待遇非常给力。

?下面说一下个人的学习经历吧。

?虽然是CS专业,但实验室做的方向和ML半毛钱关系没有,且实验室也只有我一个人在搞ML,所以也算是野路子出身了。

?理论基础:CS229视频、西瓜书、统计学习方法、数据挖掘导论、推荐系统实践、深度学习?实践基础:机器学习实战(研一时候照着书上代码打了一遍)、利用Python进行数据分析(照着书敲过一遍)完成了这些基本功之后就是参加一些比赛了,刚开始入门的时候搞天池和Datacastle比赛,成绩都很水,并且是孤军作战,个中心酸只有亲身经历才能体会,后来研二后开始和一些外校的大神组队,拿了几个还可以的名次,也在大神身上学到了不少东西,所以个人感觉做比赛最好还是要组队,思维更加开阔,一个人闷头做很容易放弃。

研二上学期末开始去实习,实习做的也是搜索引擎、NLP、推荐算法相关。

再说一下面试需要准备哪些吧。

算法工程师的面试其实就是围绕几项来展开的。

1. 机器学习算法理论:LR、SVM、树模型、FM-FFM、EM、LDA、word2vec、推荐算法等等,都会被问到,需要懂得算法的推导、适用场景、使用的Trick、分布式实现。

2. 深度学习相关:CNN、RNN、LSTM的基本原理,不同激活函数的差异等等,如果是面的传统机器学习岗的话,DL问的不深,但一定会问。

3. 数据结构与算法:leetcode高频题、lintcode高频题、剑指offer,大概这三样准备好就够了,校招前保证100多道题的积累量,面试时候写code应该就手到擒来了。

4. CS基础:计算机网络、操作系统,推荐书籍:王道程序员面试宝典,这本书对于突击面试很有帮助。

5. 分布式:Hadoop-Spark这些,属于加分项,会问点基本原理,还是需要看一下。

6. 编程语言:虽然做比赛都是用的Python,但C++或者Java必须掌握其中一个,面试也会问一些语言相关的7.?海量数据处理:经常问的就是海量数据排序Anyway,个人的秋招结束了(其实结束很久了),虽然有些遗憾,但拿的offer和薪资也都挺满意了,知足,开始弄毕业论文了,希望能顺利毕业吧,就写到着吧,语序有点混乱,凑合着看吧。

PS:最近私信我的朋友太多,这里再补充点吧。

对于学校不那么好的、又立志找算法工作的同学,这里给点建议:一、尽快去实习!如果是3年学硕的话,研二上学期中下(11月-次年2月)?就可以去进厂里实习了,这样做的好处是可以避开春招实习生的招聘高峰,比较容易进大厂,据我所知,像百度、滴滴、头条这些公司都有常年在招实习生的,当然了,大部分是在北京。

那么怎么找这种实习呢,推荐几种投简历的渠道:1.?实习僧?2.?nlp?job?3.?北邮人论坛的实习板块。

对于学校不那么好的同学,如果简历上有一二线公司的实习经历,那么内推简历通过筛选的可能性就大的多了。

二、?关于数据挖掘比赛,很多同学问我如何入门这块,我的建议是分步进行,1.?先熟悉python的基本语法、numpy、pandas、sklearn、gensim、keras这几个比赛中常用的库的使用;2. 精读优秀比赛选手的代码,学习比赛的套路;3.?做完以上两步,就可以开始参与比赛了,天池、CCF、DataCaslte、Kaggle等平台的比赛都可以,不要贪多,同一个时间段最多参加2个比赛就可以,然后每天坚持优化结果,虽然过程可能会有点枯燥,但是最终会有收获的,经过观察与亲身实践,这类比赛比较吃经验(套路),要想取得比较好的名次,通常需要参加几次比赛积累失败的经验才行,过程少则半年,多则一年。

三、算法题一定要刷!如果时间紧,就刷上面说的三件套(leetcode 高频题、lintcode高频题、剑指offer),当然,要多刷几遍,做到看到题目立刻想到思路并写出bug free的代码。

如果时间比较充裕,可以刷刷leetcode中medium和hard的题目,锻炼思维与编码熟练度,总之,刷题是一个持之以恒的过程,切忌三天打鱼两天晒网!四、专注于一个方向!发现有些同学(包括我年轻时候),总喜欢这搞点那搞点,今天学一下机器学习,明天学一下Java后台,后台再学一下前端。

这种方法对于大部分人来说是错误的(大牛忽略)!你要搞机器学习就专心搞,三条线并行搞:1. python - 刷比赛? 2. java - hadoop-mapreduce-spark 3. python - 深度学习,工作没你想象中那么难找。

——————————-?互联网名企笔试真题-?校招求职笔经面经-?程序员求职实习信息-?程序员学习交流社区清华硕士去面试算法工程师,竟被HR吐槽:清华出来的就这水平吗?本期课-程限报 300人,报满为止。

课-程售价为 499元,前?100?名报名者,可领取?100?元优惠券。

这一步,你才真正的用上了你上面学的机器学习的hadoop,spark工具,看了上面说的,要完成工程化这一步,得有什么能力不用我说了吧,这是一个标准的软件开发工程师的必要技能,还是高级开发工程师哦。

19.《射频通信电路》『中』陈邦媛科学技术出版社个人书评:老一套“高频电子线路”类教材的佼佼者,书中还引入了SMITH,PLL那章写的还是比较详细,让我看到其它PLL上所没有的一些东西. 很适合加强高频电路基础的朋友和学生看.其次,根据多个机构近期发布的报告显示,目前,在中国,正有大量资金流向人工智能行业,融资额正在不断逼近美国。

从上述要求中,我们可以总结出以下三点背景考察因素:相关领域经验、数理基础、英文论文阅读。

「招聘企业肯定优先想要考虑那些有直接工作背景的,但是这种人才在市场上通常都比较少,所以他们会退而求其次,考察他们的学术背景。

」100offer因为我不是计算机专业的,所以基本上属于没怎么敲过代码的那种。

所以我认为,测试这条路,越往后算法题要求可能越高。

大家根据自己的职位适度选择即可。

所谓“本立而道生”:一个项目开始时,总是应该先做两件事:一是讨论定义清楚量化的目标函数;二是搭建一个能够对目标函数做线上A-B 测试的实验框架。

而收集什么数据、采用什么模型,倒都在其次了。

首先说明我没有上课,也没有报班,属于个人学习习惯问题。

但考虑到学习差异性,所以还是总结了口碑排名靠前的课-程系列。

前提,需要有一定数学基础,没有的可以顺便补一补。

相关主题