本人本科硕士皆双非,和牛客大佬们没得比,目前拿到的还可以的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,其中wide&deep 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面后,让去现场面二面,放弃),拼多多(二面被面试官放鸽子)。

其他的offer就是一些小公司了,蘑菇街、YY、Bigo这些,主要还是问项目,参考意义不大。

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 -> 深度学习,工作没你想象中那么难找。

作者:智障哦

本文来源于牛客网

——————————

牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员求职实习信息

- 程序员学习交流社区

算法工程师:双非渣硕是如何获得百度、京东双SP的更多相关文章

  1. 字节跳动已经10万人了?渣本双非Android程序员怎么上车?

    字节跳动已经 10 万人了? 是的,在 2020 年字节跳动的员工总数从 6 万蹿到 10 万,平均每个工作日就有 150 人在办理入职,加入字节跳动全球超过 240 个办公点. 更有统计,在总部北京 ...

  2. 计算机保研,maybe this is all you need(普通双非学子上岸浙大工程师数据科学项目)

    写在前面 9.28接收了拟录取通知,也终究是尘埃落定了,我人生的又一个阶段也终于结束.面对最终录取结果,或多或少会有所遗憾,但也还是基本达到了预期的目标了. 作为在今年严峻的保研形势下幸存的我,一直想 ...

  3. 非科班双非本科投的337家Java后台(励志)

    考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默想起来一个声音:”乔戈里峰” 前言 文章出自h ...

  4. 双非硕士的辛酸求职回忆录:第 2 篇 谈谈我是如何同时找到Java、Python、Go等开发岗和国企银行的科技岗位Offer(上篇)

    1. 双非硕士的辛酸求职之旅--谈谈我是如何同时找到Java.Python.Go等开发岗和国企银行的offer 1.1. 秋招最终情况 本人情况:双非硕,意向工作城市广深,Java和Python技术栈 ...

  5. 双非本科进大疆(SP)!

    哈喽,大家好,我是仲一.今天和大家分享的是一位优秀双非本科生上岸大疆的经历(羡慕哭了...). 今年4月底的时候,这位学弟和我分享了他拿下oppo,京东,联发科实习offer的经历,当时我还发了朋友圈 ...

  6. 阿里巴巴算法工程师四面(三轮技术+hr面)详细面经

    阿里面试总结: 一遍一遍地刷阿里网站,今天发现“面试中”变成“待跟进offer”了,写个面经攒人品,希望offer通知邮件早点来吧. 我当时投简历时投了C/C++工程师,其实也没经过啥考虑,因为我一开 ...

  7. 痛吻过YY寻找到真爱的三非渣本春招之路

    写下这篇文章可能就不是大家乐于见闻的面经了,更多是深入一些面试细节. 前言 我猜拿到了BAT等一线互联网公司Offer的小伙伴或者那些老鸟看到这条标题的时候会不屑一顾,认为YY这种级别的公司是属于二线 ...

  8. 《AI算法工程师手册》

    本文转载自:http://www.huaxiaozhuan.com/ 这是一份机器学习算法和技能的学习手册,可以作为学习工作的参考,都看一遍应该能收获满满吧. 作者华校专,曾任阿里巴巴资深算法工程师, ...

  9. 算法工程师B

    美团点评2017校招笔试真题-算法工程师B   1.以下关于经典的k-means聚类的说法哪个是错误的? A:k-means聚类算法是全局收敛的 B:k-means的聚类结果和初始聚类中心点的选取有关 ...

随机推荐

  1. php的借用其他网站的页面覆盖Logo的技巧

    php的借用其他网站的页面覆盖Logo的技巧, <body> <div id="red_f"></div> <div class=&quo ...

  2. clang++ 链接问题 和 VS Code

    clang++ 链接问题 和 VS Code 如果你在windows上使用clang 并且同时安装有vs和mingw, clang链接是会自动使用msvs, 链接时会有LINK error LINK ...

  3. js window

    window对象: browser object mode :bom对象. bom提供了独立于内容而与浏览器窗口进行交互的对象. bom主要用于管理窗口与窗口之间的通讯,因此其核心对象是window ...

  4. SQL SERVER 游标的使用

    首先,关于什么是游标大家可以看看这篇文章,介绍得非常详细!! SQL Server基础之游标 下面是我自己的应用场景-- 有个需求,需要把数据库表里面某一个字段的值设为随机不重复的值. 表是这样的: ...

  5. SpringBoot14 SpringBoot整合mybatis

    1 版本说明 springboot:2.0 jdk:1.8 2 创建springBoot项目 创建项目时勾选必要web,MySQL,mybatis相关依赖 创建完成后再pom文件中添加自动部署.lom ...

  6. nodejs 使用CAS 实现 单点登录(SSO) 【开源库实现,简单】

    大部分企业使用 java 开发业务系统, 针对java cas的认证 demo 比较多 ,还有PHPCAS ,标准的参考这里: phpCAS 的使用 整理登录流程如下图,图片来自网络 找了不少资料,n ...

  7. Windows用户模式下注入方式总结

    注入技术在病毒木马.游戏.打补丁等编程中应用很广泛,学习该技术不仅能帮助理解Windows工作原理,还能对病毒木马技术手段有更加深刻的理解,下面我们了解下各种注入方式吧. 一.DLL注入 在注入技术中 ...

  8. redis入门(02)redis的常见问题

    一.常见问题 1.安装遇到/bin/sh: cc: command not found 解决办法:安装gcc yum install gcc 2.后台启动server端 2.1.问题现象 2.2.解决 ...

  9. Django之views系统

    Django的View(视图)简介 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错 ...

  10. 高级控件 popwindow 与gridview的组合应用

    Gridview 的布局设置 <GridView android:layout_width="wrap_content" android:layout_height=&quo ...