本人背景:普通一本,双非,研究生,主要研究方向:推荐算法-协同过滤
两个月前,我还每天登录期刊网站查询自己的论文状态,想着增添一点申请博士的砝码。两个月后,我改变想法拿到第一份实习offer,读博之路渐行渐远。
这两个月不仅经历了(读博-工作)思想的博弈,更经历了算法工程师面试官的无情打击。从学术科研转向工作,无非基于四点理由:
- 自身能力限制:研究生期间总共写作5篇英文论文,录用1篇会议,返修1篇SCI二区,外审1篇SCI一区,两篇待投。这样的成果状态申请博士希望渺茫。尽管英语阅读和写作能力得到提升,但口语能力和英语听力极差。要知道博士对英语能力是基本要求。
- 博士毕业压力大:每年博士能顺利毕业的寥寥无几。听师兄的意思,我们身在经管,做的却是偏计算机的研究,在很多学校经管系都不认同。跨计算机申博难度更是翻番。所以博士的学校选择和导师选择少之又少。
- 家庭环境:作为一个普通家庭,父母年事已高,读博一般是四年,这四年没办法挣钱,所以家里稍微出现点什么不测,这博士必定读不下去
- 兴趣使然:从兴趣来讲,我的热情更偏向于工作,特别是算法工程师。对于论文写作,动力并不是很强烈。学术科研写论文是常态,这种生活状态我是不能长时间忍受的。
经过长时间的思考和家里的沟通,我下定决心放弃读博思想,转而寻找工作。找工作第一步便是找到一份实习,积累实习经验,为秋招做准备。但是让我意想不到的是,算法实习真的难觅。我最开始想的是就近,在成都投递了大概10几家,其实岗位本来就不多。过了大概半个月,一家公司都没联系我,这使我初生牛犊的信心凉了半截。心想在学校里,跟同龄人比起来我算混得不差,结果简历一出手就碰壁。
在重庆折腾了将近一个月,我毅然决然试试北京,北京机会的确要多很多。我投递了60家左右公司,大厂几乎投递了一遍。也收到了几个公司的回复,进行了系列面试,待会我会把面试经历附在后面。面试的情况特别不理想,其中最不理想的就是手撕代码环节,基本上都跪在这环节。不过每一次的面试经历这也坚定了我的想法,也刺激我疯狂查漏补缺,将自己的状态从学术科研转移到工作状态。记得映像最深的是我登陆进leetcode,看到上面只做了一道题:两数之和,时间是两年前,也就是本科阶段,顿时脑子里充满了本科无数的回忆,感慨万千。要知道我本科四年励志做一名前端开发工程师,而今却走上算法工程师的道路。时间过得真快,世界也变换莫测。
接下来是我从面试第一家到拿到实习offer的经历,这份经历将永远留存在我的记忆中,激励我勇往直前。
新浪移动
一面:主要问了简历相关的内容
- 简述每一篇论文的工作内容
- 数据做过哪些预处理操作
- 简历中提到复现了20+文献算法,是些什么算法
二面:主要问业务层的内容
- 场景题目一:异质内容推荐。给定杨超越的朋友圈,王者荣耀视频,北京天气,如何排序
- 场景题目二:同质内容推荐。给定100个王者荣耀视频,如何做排序
三面(二面不满意,加面):主要问业务层的东西
- 如果让你来做推荐,应该怎么做?
- 回顾二面的问题,二面的问题你有自己的想法了吗?
总结:我对业务层基本上没有什么接触,太陌生。原想借助实习熟悉业务上的东西弥补自己的短板,结果人家一上来就要你懂业务,第一次实习是真难。可想而知结果是没有后续。
有鱼科技
一面:技术面
- 自我介绍
- 介绍自己发表的论文
- 手撕代码1:求给定整数数组的最大子序列(无果)
- 手撕代码2:判断一个链表是否有环(无果)
总结:从读博转变到工作的想法就在1个月前,我对数据结构与算法停留在理论层次,通过了解,需要去leetcode上刷题增加自己的实践经验。
网易
一面:技术面
- 简历相关内容(主要是协同过滤)
- 机器学习中经典分类算法了解哪些
- 机器学习中损失函数有哪些,线性回归的损失函数是什么,决策树的损失函数是什么
- 机器学习防止过拟合的方法有哪些
- 机器学习的性能怎么评判
- 代码题一:给定一颗二叉树,求解所有叶子节点的深度
- 代码题二:给定一个整数数组,求解两数之和小于目标值的对数
二面:技术面
- 对一些业界比较流行的模型的考察(如逻辑回归及推导,GBDT等)
- 推荐的框架或流程,每个阶段用到的模型主要有哪些(召回阶段和排序阶段)
- 代码题一:判断两条链表是否相交
- 代码题二:二叉树的遍历
总结:手撕代码惨不忍睹,继续leetcode刷题
京东
一面:简历相关
- 论文提到参加过一次广告腾讯算法大赛,能详细说一下吗(特征处理和模型)
- 代码题一:判断一颗二叉树是否是平衡二叉树
- 代码题二:实现pow(x,n)
总结:毫无疑问,手撕代码环节落马
度小满(前身百度金融)
一面:深度学习相关
- 深度学习了解多少
- 深度学习中防止过拟合的方法有哪些
- 了解DIN,Transformer,attention等吗
- 代码题一(sql):
给定两张表 table1:id, date table2:id, money, issueDate.
查询结果: table2中时间(issueDate) 在table1中的date之前的money均值,并返回距离date最 近一次的issueDate
字段:id,average, lastDate - 代码题二 (python)
给定test.txt文件,内容如下
"name:Tom,sex:female,{"height":180,"date":"09-15","width":60}"
"name:Linda,sex:male,{"date":"09-10","height":180,"width":60}"
"name:Jack,sex:female,{"width":60,"date":"09-11"}"
"name:Hello,sex:male,{"date":"09-12","height":180}"
要求不适用任何python包
读取test.txt文件,对每一行构建一个字典
{
name: xxx
sex: xxx,
date: xxx
}
总结:代码题sql好久没看了,没做起,第二道经常在写,所以完美过关
二面:技术面
- 有没有算法实践的项目,因为看我简历上主要是论文
- 你研究的是推荐算法,我们这边是风控算法,你的职业规划是什么
- 代码题:求股票最大连续时间段的利率
总结:代码题完美搞定,还给面试官一步一步讲解具体怎么做的
offer收入囊中,求职之旅结束,最后附上offer
部门:数据智能应用部 岗位:风控算法工程师
送给同样在路上奋斗打拼的同胞们我的四字真言:永不妥协!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。