乐趣区

关于算法:两个月从算法小白到拿到第一份实习offer亲身经历

自己背景:一般一本,双非,研究生,次要钻研方向:举荐算法 - 协同过滤

两个月前,我还每天登录期刊网站查问本人的论文状态,想着削减一点申请博士的砝码。两个月后,我扭转想法拿到第一份实习 offer,读博之路渐行渐远。

这两个月不仅经验了(读博 - 工作)思维的博弈,更经验了算法工程师面试官的无情打击。从学术科研转向工作,无非基于四点理由:

  • 本身能力限度:研究生期间总共写作 5 篇英文论文,录用 1 篇会议,返修 1 篇 SCI 二区,外审 1 篇 SCI 一区,两篇待投。这样的成绩状态申请博士心愿渺茫。只管英语浏览和写作能力失去晋升,但书面语能力和英语听力极差。要晓得博士对英语能力是根本要求。
  • 博士毕业压力大:每年博士能顺利毕业的寥寥无几。听师兄的意思,咱们身在经管,做的却是偏计算机的钻研,在很多学校经管系都不认同。跨计算机申博难度更是翻番。所以博士的学校抉择和导师抉择少之又少。
  • 家庭环境:作为一个普通家庭,父母年事已高,读博个别是四年,这四年没方法挣钱,所以家里略微呈现点什么意外,这博士必然读不上来
  • 趣味使然:从趣味来讲,我的激情更偏差于工作,特地是算法工程师。对于论文写作,能源并不是很强烈。学术科研写论文是常态,这种生存状态我是不能长时间忍耐的。

通过长时间的思考和家里的沟通,我下定决心放弃读博思维,转而寻找工作。找工作第一步便是找到一份实习,积攒实习教训,为秋招做筹备。然而让我意想不到的是,算法实习真的难觅。我最开始想的是就近,在成都投递了大略 10 几家,其实岗位原本就不多。过了大略半个月,一家公司都没分割我,这使我初生牛犊的信念凉了半截。心想在学校里,跟同龄人比起来我算混得不差,后果简历一出手就碰壁。

在重庆折腾了将近一个月,我毅然决然试试北京,北京机会确实要多很多。我投递了 60 家左右公司,大厂简直投递了一遍。也收到了几个公司的回复,进行了系列面试,待会我会把面试经验附在前面。面试的状况特地不现实,其中最不现实的就是手撕代码环节,基本上都跪在这环节。不过每一次的面试经验这也动摇了我的想法,也刺激我疯狂查漏补缺,将本人的状态从学术科研转移到工作状态。记得映像最深的是我登陆进 leetcode,看到下面只做了一道题:两数之和,工夫是两年前,也就是本科阶段,登时脑子里充斥了本科有数的回顾,感慨万千。要晓得我本科四年励志做一名前端开发工程师,而今却走上算法工程师的路线。工夫过得真快,世界也变换莫测。

接下来是我从面试第一家到拿到实习 offer 的经验,这份经验将永远留存在我的记忆中,激励我畏缩不前。

新浪挪动

一面:次要问了简历相干的内容

  1. 简述每一篇论文的工作内容
  2. 数据做过哪些预处理操作
  3. 简历中提到复现了 20+ 文献算法,是些什么算法

二面:次要问业务层的内容

  1. 场景题目一:异质内容举荐。给定杨超过的朋友圈,王者光荣视频,北京天气,如何排序
  2. 场景题目二:同质内容举荐。给定 100 个王者光荣视频,如何做排序

三面(二面不称心,加面):次要问业务层的货色

  1. 如果让你来做举荐,应该怎么做?
  2. 回顾二面的问题,二面的问题你有本人的想法了吗?

总结:我对业务层基本上没有什么接触,太生疏。原想借助实习熟悉业务上的货色补救本人的短板,后果人家一上来就要你懂业务,第一次实习是真难。可想而知后果是没有后续。

有鱼科技

一面:技术面

  1. 自我介绍
  2. 介绍本人发表的论文
  3. 手撕代码 1:求给定整数数组的最大子序列(无果)
  4. 手撕代码 2:判断一个链表是否有环(无果)

总结:从读博转变到工作的想法就在 1 个月前,我对数据结构与算法停留在实践档次,通过理解,须要去 leetcode 上刷题减少本人的实践经验。

网易

一面:技术面

  1. 简历相干内容(次要是协同过滤)
  2. 机器学习中经典分类算法理解哪些
  3. 机器学习中损失函数有哪些,线性回归的损失函数是什么,决策树的损失函数是什么
  4. 机器学习避免过拟合的办法有哪些
  5. 机器学习的性能怎么评判
  6. 代码题一:给定一颗二叉树,求解所有叶子节点的深度
  7. 代码题二:给定一个整数数组,求解两数之和小于目标值的对数

二面:技术面

  1. 对一些业界比拟风行的模型的考查(如逻辑回归及推导,GBDT 等)
  2. 举荐的框架或流程,每个阶段用到的模型次要有哪些(召回阶段和排序阶段)
  3. 代码题一:判断两条链表是否相交
  4. 代码题二:二叉树的遍历

总结:手撕代码惨不忍睹,持续 leetcode 刷题

京东

一面:简历相干

  1. 论文提到加入过一次广告腾讯算法大赛,能具体说一下吗(特色解决和模型)
  2. 代码题一:判断一颗二叉树是否是均衡二叉树
  3. 代码题二:实现 pow(x,n)

总结:毫无疑问,手撕代码环节落马

度小满(前身百度金融)

一面:深度学习相干

  1. 深度学习理解多少
  2. 深度学习中避免过拟合的办法有哪些
  3. 理解 DIN,Transformer,attention 等吗
  4. 代码题一(sql):
    给定两张表 table1:id, date        table2:id, money, issueDate.
    查问后果:table2 中工夫 (issueDate) 在 table1 中的 date 之前的 money 均值,并返回间隔 date 最 近一次的 issueDate
    字段:id,average,  lastDate
  5. 代码题二(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 好久没看了,没做起,第二道常常在写,所以完满过关

二面:技术面

  1. 有没有算法实际的我的项目,因为看我简历上次要是论文
  2. 你钻研的是举荐算法,咱们这边是风控算法,你的职业规划是什么
  3. 代码题:求股票最大间断时间段的利率

总结:代码题完满搞定,还给面试官一步一步解说具体怎么做的

offer 支出囊中,求职之旅完结,最初附上 offer
部门:数据智能利用部 岗位:风控算法工程师

送给同样在路上奋斗打拼的同胞们我的四字真言:永不斗争!

退出移动版