非科班转行的2018秋招算法工程师面经:面试实录+人生经验

这是一篇不太专业的算法工程师面经,但愿能给非科班想要从事机器学习工做的同窗或学弟学妹一些建议,同时也回馈给予我很大帮助的咕泡学院。目前拿到的offer有:网易、三星、联想、vivo、斗鱼、拼多多、猎聘等等。面经分为两个部分:虐心面试实录和一点人生经验。先上干货再BB,你们能够针对性的选择本身须要的部分,祝你们最后都能拿到心仪的offer啦。
虐心面试实录java

  1. 网易邮件事业部 数据挖掘工程师 offer
    整数翻转,如何处理越界问题
    C++多态,静态联编和动态联编,虚函数表
    GMM原理,增大数据量是否会更好
    模型融合如何作
    股票买卖问题,一次买卖和两次买卖
    提高树的思想,随机森林和提高树的区别
    EM算法数学原理
    SVM推导,对偶性的做用,核函数有哪些,有什么区别
    分布式计算框架了解哪些
  2. 百度商业平台部 数据挖掘工程师 二面挂
    python两个每行都是数字的文件合并,去重。
    shell编程,编辑文件。
    进程与线程的区别
    卷积神经网络介绍
    SVM的推导
    大文件求交集,如何解决哈希以后小文件仍是放不进内存
    堆排序代码
    连续和最大问题,如何证实?
    3sum问题,时间复杂度
    最短路问题,第K条最短路
  3. vivo 人工智能工程师 sp offer
    bp算法介绍,梯度弥散问题。
    svm介绍,优缺点是什么,lr介绍,区别是什么
    lr与线性回归的区别
    若是要预测房价,用什么模型
    若是要预测房价,而且知道一个房间的房型信息,如何构建模型
    sigmoid 函数的应用有哪些,为何?
    列举十种经常使用的神经网络模型
    语音识别模型有哪些
    如何识别一我的在喝酒,须要几个模型
  4. 苏宁 算法工程师 备胎池凉了
    卷积神经网络中卷积如何实现,激活函数的意义,损失函数有哪些,初始化参数如何选择
    用过哪些深度学习框架,TensorFlow中的session是什么,session和interactivesession的区别
    如何实现卷积层权值共享
    如何保存模型,读取已有的模型
    用过哪些深度学习模型,区别是什么。
    了解哪些寻优算法
    softmax损失函数是什么
    c++ 的 const,static做用
    new,delete原理
    强制类型转换cast之间的区别
  5. 腾讯IEG 应用研究 二面挂
    svm推导,核函数的体现,经常使用的核函数有哪些
    alexnet介绍
    过拟合的缘由,有哪些避免过拟合的trick
    1G的文本统计词频,输出频率最高的1000个词
    手写topk的代码,快排。代码还能如何优化,若是要上线的话还须要作哪些处理
    若是分类样本的标签只有必定的几率可信,如何处理
    过拟合的缘由,有哪些防止过拟合的方法
    mysql查询一段时间中某个用户的数据
  6. 三星电子中国研究院 机器学习研发工程师 offer
    笔试:水管工之类的算法题,求最大深度
    模型评价如何作,其中存在哪些问题
    决策树算法有哪些,随机森林和GBDT的区别
    降维方法,PCA原理
    哈夫曼树在机器学习中的应用
    文本挖掘算法了解哪些
    人流量预测系统如何设计
    profession笔试:最优的进程调度算法,至少用多少个cpu
    英语自我介绍,口语渣猝不及防
  7. 联想研究院 模式识别研究员 offer
    EM算法数学推导,如何证实算法收敛性
    异常值的影响,如何消除
    全部了解的机器学习算法有哪些,框架性讲述
    梯度降低算法了解哪些,优劣势是什么
    二叉树中序遍历,递归和非递归
    linux操做指令了解哪些,文本处理指令有哪些
    一亿个数的文件,如何分红两个文件a,b,使得a文件的数都小于b,同时文件大小要差很少。
  8. 拼多多 算法工程师 offer
    均匀分布如何生成正态分布
    SVM原理,支撑向量越多越好仍是越少越好
    二叉树深度遍历,时间复杂度和空间复杂度
    二维排序矩阵搜索
    项目中的长时间推广问题,如何考虑样本之间非独立的影响。
    编程题,矩阵中的最短路,有门有钥匙。动态规划加状态向量。
    贝叶斯公式,实际如何计算,如何解决精度问题。
  9. 五八集团 算法工程师 二面挂
    字符串转数字
    svm核函数有哪些,如何选取,手写表达式
    降维方法介绍
    c的虚函数,虚函数指针和虚函数表存在哪儿
    Linux 文件权限修改,参数介绍
    模型的比较如何作
    随机森林和提高树
    卷积神经网络原理
    如何避免网络的过拟合
    如何网络调优
  10. 猎聘 算法工程师 sp offer
    Python 的数据结构有哪些
    tuple 和set的区别,set的底层实现
    hash表的算法有哪些
    svm推导,一直到序列最小化求解。核函数如何体现,有哪些类型。
    构建分类器的整个流程是什么
    数据清洗方法,缺失值处理方法,降维方法
    pca原理推导
    决策树算法的介绍
    二维排序数组搜索
    如何构建欺诈交易识别的模型?
    不均衡的数据如何分类
  11. 新浪移动 数据挖掘工程师 录用排序
    归并排序,二维排序数组搜索,中序遍历重构二叉树
    svm推导,为何要用拉格朗日乘数法,对偶问题是什么
    KKT条件都有什么,如何求解svm的最优化问题
    数据不均衡如何解决,抽样获得的分类准确率如何转换为原准确率。
    逻辑回归原理,推导求解方法。
    为何选用对数极大似然函数做为优化目标,用平方损失有什么问题。
    逻辑回归对特征有什么要求,是否须要作离散化,离散化的好处与坏处。
    逻辑回归的参数是否能够分布式求解,如何作分布式。
    有三辆车,到达时间随机,a车五分钟一趟,b车十分钟一趟,c车十五分钟一趟,求平均等待时间
    一点人生经验

我是一名文科类院校的硕士(面试的时候不止一次被问是否是学计算机教育的),本科是信息专业。硕士科研是模式识别方面的,其实说数据分析更贴切,基本属于浪费青春(建议各位喜欢计算机的学弟学妹:珍爱生命,远离文科院校)。同时也由于老板的24小时贴心看护,毫无悬念的没有实习机会,mmp。本身虽然很是喜欢机器学习,可是秋招以前的状态是:编程基础只会python,算法设计全靠调包,深度学习基本不会,分布式框架彻底不懂。到七月份的时候,整我的丧到必定境界,感受基本要告别互联网了。
笨鸟先飞,七月中旬就开始准备秋招了,主要是打比赛、看书和刷题。八月底投简历,投过的公司很是多,然而收到面试的不多。庆幸本身比较能吹,效率还比较高,最后也拿到了一些心仪的offer。过程很痛苦,可是还好有个好收获。总结一下这三个月本身的一些经验感悟,但愿对你们有帮助。由于本身是非科班出身,从此也要疯狂补习,早日跟上大佬步伐,也但愿多跟大佬们交流呀。python

  1. 秋招准备mysql

  2. 硬实力:项目经验,竞赛,简历。
    对于本身的项目,数学逻辑上必定不能有漏洞。多多反思,想一想本身模型的优点,以及换其余模型会有啥问题,伪装有面试官提问本身回答。基本上作到这些,项目上就不会有问题。由于我没有过实习经验,因此对企业关注的技术了解的不多。个人建议是,必定要参加竞赛,不管名次。找工做以前,跟寝室的老铁一块儿参加了百度的机器学习竞赛,虽然没有名次可是真的是积累了不少经验。也正是由于这个比赛,对图像领域有了个概况的了解,动手能力也提升了很多。记住,企业要求的东西不会也不要紧,至少有个归纳性了解,同时展示本身的学习能力和思考深度就行啦。
    简历方面,记住一条:本身作过什么不重要,关键是企业想要什么。建议你们都以一个面试官的角度看待本身的简历,或者找找师兄师姐。我如今回头看本身的初版简历,感受像是要去考博士。。linux

  3. 软实力:编程基础,手撕代码,机器学习。
    从八月到如今,leetcode刷了185道题,基本是middle+少许hard,牛客上刷了剑指offer和一些基础题。我本身的感受是,剑指offer用来入坑真的赞,leetcode真的要用心刷。边刷题边总结,基本刷到了150题的时候,就会进入一个百毒不侵的状态。后期基本上就不怕笔试了,手撕代码也很快。
    机器学习方面,主要是刷小蓝书《统计学习方法(李航)》和西瓜书《机器学习(周志华)》,经典的算法建议都手推一遍。重点关注损失函数,为何这样定义,有哪些优缺点,多思考方法间的比较。说实话,其实最后均可以总结出套路,后面有空我再总结下。。
  4. 面试c++

  5. 项目介绍
    基本上每次面试开始都是项目介绍,建议事先准备一个项目介绍,聊的时候也不会慌乱错过项目亮点。最好是准备两个版本,一个是简单介绍思想,一个是详细介绍包括细节和公式。在讲本身项目的时候,必定要突出技术难点以及本身的思考,最好有个清晰的框架性说明。针对项目能够预先准备一些问题,而后再讲述的时候能够故意留几个坑,挑起面试官兴趣,趁火打劫让其入坑,这样也更能体现本身对项目了解的深度,岂不美哉。
    对于竞赛方面,其实我本身没有啥名次,方法也没有创新。这种状况就尽可能突出本身对于领域的了解,对于经常使用基础模型原理的掌握程度,以及本身在应用时遇到的问题。我在竞赛中是用的只有inception和resnet的微调和融合,以及数据增广。工做很浅显,可是讲述的时候结合实际把inception和resnet的trick原理和优点讲清楚就行。面试

  6. 基础知识
    手撕代码的时候,建议先讲清楚思路再写代码,记得分析时间空间复杂度。若是有多种思路能够分析比较一下。再就是,不要慌,慢慢写,手不要抖。。
    机器学习算法的介绍,我通常分为两步:第一步介绍算法基本思想,损失函数,适合于解决哪一类问题,有哪些缺点。若是面试官还有兴趣,就开始第二步推公式。在明确每一步的目的的前提下,强烈建议把公式背下来直接写答案,例如svm拉格朗日函数求导以后的结果,当场求导很浪费时间,不如用来多展示本身。在面试官提问的时候,能够暗中总结一下面试官喜欢的类型,若是一直问数学推导方面的问题,就多讲讲算法原理,若是问了不少实现方面的问题,就多讲讲算法实现方面的trick。这样更有针对性,也更能让面试官霸霸开心。
  7. 开放性问题
    对于设计类问题,其实多看看面经就能知道主要的类型,多看看他人的解题思路同时结合本身擅长的算法一块儿思考,表述时逻辑清晰突出要点就行。我的建议:不要抢答,也不要边想边答。能够先在纸上记下问题中的关键点,以及对应的解决方案。能够提出多种方案,互相比较最后获得最好。让面试官看到你的思考,可是不要出现那种讲到一半讲不下去的尴尬状况。
    对于人格类问题,由于文科院校因此认识很多心理学大佬,投射之类的基本套路都naive。表现出对技术的热诚和领导力就行。这种题说话越多越错,你须要的只是热爱技术的态度和坚决的眼神。
  8. offer的选择
    offer选择无非就两个方面的问题:1. 公司环境,行业前景,技术发展。2. 面向薪资的编程。我也不了解不少公司,渣渣就不bb了。建议你们与熟悉的师兄师姐聊,同一届的同窗视野可能没有那么远。我的以为,技术发展虽然重要,钱也不是关键问题,有的时候也须要多关心身边的人呀。人生还长,有些事情不用那么着急的。
  9. 再BB两句俗话说的好!找工做这种事情,三分靠打拼,七分靠锦鲤!非科班确实很难,因此心态很重要!不要被眼前的不幸击倒,眼前的困难都不是困难!后面运气差的时候还多得很呢。。 总之,必定要调整心态,心态爆炸的时候要多多放松,有妹子抱妹子,没妹子抱舍友,不能被情绪左右。不管结果如何,都要冷静总结。”那些没法将你战胜的,终会使你更强大。“做者:王非池java学习干货面试经验,不按期分享+Q群:282711949。若是你正在找工做或者刚刚学校出来,又或者已经工做可是常常以为难点不少,以为本身java方面学的不够精想要继续学习的,想转行怕学不会的,+Q群:282711949 了解咨询java继续学习。更有免费视频等你来领取。
相关文章
相关标签/搜索