概述
算法工程师:双非渣硕是如何获得百度、京东双SP
本人本科硕士皆双非,和牛客大佬们没得比,目前拿到的还可以的offer就是百度SP和京东SP,都是做的推荐算法,其他的不说了。
先说一下个人经历吧,学校比较水,实验室没有项目,实习经历:腾讯实习+滴滴实习 比赛经历:几个数据挖掘竞赛Top5的名次。
个人感觉,算法岗确实看学校,但如果简历还可以的话,还是有面试机会的,内推投的简历,80%都给了面试机会吧。
百度提前批(feed部)
3轮电话面,远程桌面coding。百度的面试风格其实是比较好把控的,基本就是项目问答、coding、机器学习算法、CS基础,偶尔会有些概率题智力题。
算法题:
- 两个有序数组求中位数(leetcode)
- 判断平衡二叉树(剑指offer)
- 最长上升子序列(lintcode)
- 二叉树转双向链表(剑指offer)
- LRU cache实现(leetcode)
- House Robber(leetcode)
机器学习问题:无非就是树模型(gbdt、xgboost、rf、lightgbm)原理,LR、FM原理,w2v原理,深度学习在推荐系统上应用(和面试官讨论了google的两篇paper,其中wide&deep network讲的时间比较长),神经网络embedding层和w2v中的embedding的实现区别,其他的记不清了。CS基础:进程线程区别,多线程实现方式,线程冲突是什么、怎么解决,TCP三次握手细节,海量数据排序(分治),其他的不记得。
京东提前批(广告部)
2轮电话面,远程写code。京东的面试个人觉得不是太难,广告部今年招人比较多,面试内容的话也是围绕项目+机器学习算法来问的,本人有京东算法赛Top20,可能也是个加分项吧。
算法题:链表翻转、判断平衡二叉树、最长公共子序列、海量数据topk问题、蓄水池抽样算法
机器学习问题:也是简历上写的算法来问的,以及问了一些DL的基础,不难。
蘑菇街
2轮电话面+1轮CTO面。
蘑菇街的面试只是围绕项目进行的,2轮各30分钟左右,都是在问项目,以及项目中用到的技术、算法,不难。
腾讯
对实习所在部门的工作不感兴趣,于是提前离职参加了提前批。面了AI平台部,感觉是经历过最难的面试,面试官的问题一个接着一个,有点咄咄逼人,无奈水平不够,跪了,校招时候,做了笔试没被通知面试。
- 项目介绍
- 你这个项目中间哪些地方提升,中间过程分别提升了多少CTR?
- 你项目用的分布式LR的是用什么优化方法,参数怎么调的,mini-batch的batch是多少? parameter-server原理,如何解决数据一致性?
- 会分布式么,hadoop,spark会么,说说hadoop的灾难处理机制
- hadoop一个节点数据量太大拖垮reduce,怎么办,Hadoop本身的处理机制是怎么样的,手工的话可以怎么调
- hadoop数据倾斜问题如何解决
- L1、L2的区别,L1为什么可以保证稀疏?
- 各种最优化方法比较 拟牛顿法和牛顿法区别,哪个收敛快?为什么?
- 深度学习的优化方法有哪些? sgd、adam、adgrad区别? adagrad详细说一下?为什么adagrad适合处理稀疏梯度?
- DL常用的激活函数有哪些?
- relu和sigmoid有什么区别,优点有哪些?
- 什么是梯度消失,标准的定义是什么?
- DNN的初始化方法有哪些? 为什么要做初始化? kaiming初始化方法的过程是怎样的?
- xgboost里面的lambdarank的损失函数是什么?
- xgboost在什么地方做的剪枝,怎么做的?
- xgboost如何分布式?特征分布式和数据分布式? 各有什么存在的问题?
- lightgbm和xgboost有什么区别?他们的loss一样么? 算法层面有什么区别?
- lightgbm有哪些实现,各有什么区别?
阿里的话二面跪了,内推的阿里妈妈,难度比较高,跪了也是意料之中。还有一些公司的面试没有参加,滴滴(面试时间和腾讯笔试冲突了,放弃),网易(2次笔试都过了,不过拿到百度后就没有去面了),搜狗(电话面了1面后,让去现场面二面,放弃),拼多多(二面被面试官放鸽子)。
蘑菇街、YY、Bigo这些,主要还是问项目,参考意义不大。 PS:Bigo的推荐算法团队非常厉害,都是百度高T出来的,而且今年待遇非常给力。
下面说一下个人的学习经历
虽然是CS专业,但实验室做的方向和ML半毛钱关系没有,且实验室也只有我一个人在搞ML,所以也算是野路子出身了。
理论基础:CS229视频、西瓜书、统计学习方法、数据挖掘导论、推荐系统实践、深度学习
实践基础:机器学习实战(研一时候照着书上代码打了一遍)、利用Python进行数据分析(照着书敲过一遍)
完成了这些基本功之后就是参加一些比赛了,刚开始入门的时候搞天池和Datacastle比赛,成绩都很水,并且是孤军作战,个中心酸只有亲身经历才能体会,后来研二后开始和一些外校的大神组队,拿了几个还可以的名次,也在大神身上学到了不少东西,所以个人感觉做比赛最好还是要组队,思维更加开阔,一个人闷头做很容易放弃。研二上学期末开始去实习,实习做的也是搜索引擎、NLP、推荐算法相关。
再说一下面试需要准备哪些
算法工程师的面试其实就是围绕几项来展开的。
- 机器学习算法理论:LR、SVM、树模型、FM/FFM、EM、LDA、word2vec、推荐算法等等,都会被问到,需要懂得算法的推导、适用场景、使用的Trick、分布式实现。
- 深度学习相关:CNN、RNN、LSTM的基本原理,不同激活函数的差异等等,如果是面的传统机器学习岗的话,DL问的不深,但一定会问。
- 数据结构与算法:leetcode高频题、lintcode高频题、剑指offer,大概这三样准备好就够了,校招前保证100多道题的积累量,面试时候写code应该就手到擒来了。
- CS基础:计算机网络、操作系统,推荐书籍:王道程序员面试宝典,这本书对于突击面试很有帮助。
- 分布式:Hadoop/Spark这些,属于加分项,会问点基本原理,还是需要看一下。
- 编程语言:虽然做比赛都是用的Python,但C++或者Java必须掌握其中一个,面试也会问一些语言相关的
- 海量数据处理:经常问的就是海量数据排序
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后台,后台再学一下前端。这种方法对于大部分人来说是错误的(大牛忽略)!你要搞机器学习就专心搞,三条线并行搞:
- python -> 刷比赛
- java -> hadoop/mapreduce/spark
- python -> 深度学习,工作没你想象中那么难找
1.转载地址: https://blog.csdn.net/weixin_39069037/article/details/79689650
2.备注: 原文内容、布局、有稍做调整,如有侵权,还请指出。
最后
以上就是干净金针菇为你收集整理的算法工程师:双非渣硕是如何获得百度、京东双SP算法工程师:双非渣硕是如何获得百度、京东双SP的全部内容,希望文章能够帮你解决算法工程师:双非渣硕是如何获得百度、京东双SP算法工程师:双非渣硕是如何获得百度、京东双SP所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复