知乎推荐算法工程师面经
前言
曾三次迈进知乎的大门,面试算法工程师岗位。特整理了一些相关问题供大家研究,并附上了一些大佬的建议供大家参考。
面试流程
1、自我介绍
balabala......
2、介绍下协同过滤
我大致介绍了下协同过滤的分类,以及每种分类的主要思想以及优缺点。其中提到了LFM,面试官又追问LFM用来解决什么问题,我从降维和回归两个角度来进行解释的。
3、介绍下SVD与MF的区别
我把SVD++的公式写下来并进行了解释,其主要是考虑了用户的隐式反馈信息。
后来面试官说问错了,其实是想问一下BiasSVD的思想,还好我写的公式包含BiasSVD的公式,主要是对于用户和项目更细粒度的建模,因为有的用户可能相对仁慈,所以评分普遍偏高;有的用户可能比较严厉,所以评分普遍偏低;同理对于项目也是如此,有的项目天上质量上乘,有的项目天上质量比较差。所以我们需要增加偏置项来捕获细粒度的影响。
4、问简历中发表的CCF-C类论文的细节
由于项目中涉及graph embedding的东西,所以介绍了下GE;
由于GE涉及到word2vec的东西,我又说了下word2vec。
因为word2vec分为了CBOW和Skip-gram模型,后来面试官又问两种模型的适用场景。
因为我只介绍了其中一个优化技术Negative Sampling,其中把概率公式写了出来,他又让我分享一下另一个优化技术Hierarchical Softmax,大致说了下,就是把多分类任务转化为了多个二分类任务,同时利用哈夫曼树来将词频高的词尽可能出现在里根节点近的地方。
5、了解最近MF与深度学习结合的东西吗
我说了下何向南老师的神经协同过滤,并谈了下利用深度学习技术做推荐的看法。
6、了解常见的机器学习算法吗,说一下LR
了解。我从线性回归入手过渡到逻辑回归,他们是对于特征的线性组合,并且假设数据是线性可分的,同时可以通过超平面将之分离,另外介绍了可以通过最大似然来推导出LR。思路跟我之前写过的这篇文章类似《由Logistic Regression所联想到的...》。
7、介绍一下常用的排序算法
O(n^2):冒泡,选择、插入
O(nlogn):快速排序、堆排序、归并排序
8、说一下快速排序的过程以及最好和最坏情况
大致说了一下分而治之的流程...
9、了解JVM么,介绍一下
不是很了解
10、了解协程么,介绍一下
不是很了解
11、说一下进程与线程的区别
进程可以由多个线程组成,另外线程间可以进行资源的共享,进程间不行。cpu调用的是线程。
12、咱做个简单的算法题吧,给定一个有序数组,然后再给个关键字,写一个函数返回其下标
我想到了二分查找来解决这个问题。
13、常用的数据结构了解哪些,hashmap以及如何解决冲突,红黑树以及平衡搜索树等
因为我本科以及研究生的技术栈偏.NET,所以用的java不是很多,所以不是很了解hashmap,对于冲突解决可以采用开放定址法等。平衡树了解一些,红黑树不是很了解了。
14、说一下推荐系统常用的召回策略...
15、介绍一下深度学习常用来缓解过拟合的手段(至少5个)...
16、推导逻辑回归的损失函数以及推导梯度更新公式...
17、利用队列来实现栈的功能...
18、比较e^2与2^e的大小...
19、给你一个数组,求一个k值,使得前k个数的方差 + 后面n-k个数的方差最小 ,时间复杂度可以到O(n),给定方差公式:D(X)=E(x^2)-[E(X)]^2...
精选留言
知乎用户zzy:算法工程师真正在公司工作,很多时间可能是花在普通的软件开发上,尤其大数据与后端的开发能力,这些要求掌握的语言一般有Java,go(专门有协程),Scala等等,会写接口,也要求对各种关系型或非关系型数据库进行操作,另外还有分布式计算,建议至少掌握hive,spark(尤其里面的mllib)的常见用法,有余力还有flink。以上这些东西没有算法理论那么难理解,但是得花很多时间去实践,才能较好地掌握。从你的描述看,面试官很可能需要你有这些能力。
知乎用户weicheng:对于偏研究的还是建议找类似于ai lab的研究岗,这种所谓的算法工程师岗位根本不涉及模型的研究,算法岗算法岗应该指的是算法研究岗,而不是什么工程岗,工程自有搞后端的帮忙实现。
知乎用户二东东:面试官提到了机器学习不只是离线训练模型 还要有部署能力 比如说说要熟悉 配置环境 Docker Microservice Kubernetes Cloud Servies(AWS, Azure, etc.) 但是这些经验新手比较难有。
知乎用户LucasX:尽管对于ML岗,刷题、CS基础(例如OS、语言底层细节)还是非常重要的,说实话知乎这个问的算是比较简单的了。现在越来越考硬coding功底了。
知乎用户杨帆:看到很多评论说偏 java,其实并没有偏向任何语言,只是想借语言聊聊数据结构和解决问题的思路,数据结构和算法是基础的基础。至于为什么问 jvm 和协程,其实这些都是很有意思的领域,只是想知道平时是不是学习只限于使用语言了,对于相关的东西也希望有学习兴趣,学习兴趣才是关键。
知乎用户刘译文:个人觉得,在模型部署方面,是一套很成熟的流程,算法工程师的核心竞争力仍然还是自己对算法的理解,对业务的理解。其他的一些知识,完全可以工作中进行补充学习。。知乎这个面试,要求的确实有点高啊。
写在最后
正如面试官所说,我们要求算法工程师不仅对于机器学习算法需要了如指掌,我们更需要将算法部署到真实环境中,因此不是简单的用python训练个模型就好了,还需要将之部署到服务器上,我们更加注重计算机基础相关的东西,同学你还得加强基础训练啊。希望大家在学好理论的同时,能够把编程基础打好,养成好的习惯,比如每天刷一道算法题,每天看一下相关的知识点等。不积跬步无以至千里。将来该公众号也会定期更新一些算法题来供大家一起学习交流。
后来站在面试官的角度想了想对于应届生来应聘算法工程师岗位,确实也就只能通过项目经历、实习经历、机器学习理论以及手撕算法来衡量一个应届生的能力,因为你没有实在的工作经验,人家也不会跟你聊偏业务的东西或者工业界独有的东西,所以准备好以上几个方面,相信你肯定可以收获若干个offer的。
更多干货,更多收获 」
【电子书分享】美团机器学习实践.pdf
【招聘内推】字节跳动核心团队招聘推荐算法工程师
【招聘内推】华为云云耀高端招聘,海量职位等你来
Graph Embedding及其在知乎的实践
知乎推荐算法详解之运营篇
推荐系统工程师技能树
关注我们
智能推荐 个性化推荐技术与产品社区 |
长按并识别关注 |
一个「在看」,一段时光!????
知乎推荐算法工程师面经相关推荐
- 知乎推荐算法工程师面经分享
前言 曾三次迈进知乎的大门,面试算法工程师岗位.特整理了一些相关问题供大家研究,并附上了一些大佬的建议供大家参考. 面试流程 1.自我介绍 balabala...... 2.介绍下协同过滤 我大致介绍 ...
- 帮内推 | 免费送50个推荐算法工程师的高薪offer!
今年的金三银四实在诡异,都4月份了,各互联网大厂不见招人,反倒有不少被爆裁员的.脉脉等职场APP上每天都在更新"上午还在改Bug,下午就被HR通知走人"的恐怖故事. 尽管有些危言耸 ...
- 想要成为推荐算法工程师,都要准备哪些东西
作者在<推荐算法工程师的成长之道>这篇文章中讲到推荐算法工程师是一个好的职业选择,并且讲解了职业发展路径及定位.怎么成长等话题(还没看的可以看起来). 如果大家认可我讲的并且也愿意将来从事 ...
- 推荐算法工程师学习路线及工作指南
干货!推荐算法工程师学习路线及工作指南 以下文章来源于大数据与人工智能 ,作者gongyouliu 本文从我自己的学习成长经历.如何判断自己是否适合从事推荐算法.推荐算法工程师需要的知识储备.怎么找一 ...
- 推荐算法工程师需要掌握哪些核心技能点?
有幸在去年4月份,被分配到鹅厂推荐组,接触了国内顶尖的算法团队,截止现在自己做推荐也有半年时间了,如果说以前自己的成长速度是线性成长,那么在这半年时间,自己的成长可以说是指数级成长. 鉴于目前工作上越 ...
- 推荐算法工程师的成长之道
作者 | gongyouliu 来源 | 大数据与人工智能(ID: ai-big-data) 本文,作者会基于自己的实践经验讲述推荐算法工程师的成长之道,这里的"道"有发展路径和道 ...
- 【面向工业界】推荐算法工程师培养计划
由于近些年深度学习技术的飞速发展,大力加速推动了AI在互联网以及传统各个行业的商业化落地,其中,推荐系统.计算广告等领域彰显的尤为明显.由于推荐系统与提升用户量以及商业化变现有着密不可分的联系,各大公 ...
- 【限时】推荐算法工程师培养计划
由于近些年深度学习技术的飞速发展,大力加速推动了AI在互联网以及传统各个行业的商业化落地,其中,推荐系统.计算广告等领域彰显的尤为明显.由于推荐系统与提升用户量以及商业化变现有着密不可分的联系,各大公 ...
- 月薪40K的推荐算法工程师,需要具备怎样的技能?
推荐作为人工智能领域最为重要的分支,人才需求量在最近几年也一直不断地增加.只要有海量数据的地方,必然就有推荐的需求,因为信息的过滤是AI时代每个人的刚需.所以从某种意义来讲,千人千面,个性化是AI带来 ...
最新文章
- 脑电信号滤波方式汇总
- 美国疫情加剧:特朗普检测虚惊一场,女儿伊万卡开始“隔离”,马云捐助百万口罩...
- 为什么Java的main方法必须是public static void?
- Ble Connection Events(转载)
- 2022年全球及中国燃气供应系统 (FGSS)行业设施规模与十四五布局建设报告
- 利用kinect检测任意平面
- 方舟服务器制作修改,ARK方舟:生存进化服务器禁止物品制造的修改方法
- [环境] OpenAI gym经典控制环境CartPole-v0 介绍
- 中国移动全球通寻宝第四期攻略
- 【Allwinner】---全志GPIO号 计算 最新最详细
- 【思科、华为、华三这三大认证,选哪个考最好?】
- 【计量经济学】工具变量估计与两阶段最小二乘法
- 图中PNP型三极管发射极和基极为什么要加个100K(R21)的电阻?
- SQLserver With As 用法
- 是谁扼杀了你的梦想?
- 内存泄漏检测工具asan
- 蓝奏云 php 协议,蓝奏云网盘最新协议完整版附一套网络验证
- ofd怎么转换成图片 java_html如何转换为ofd?
- MATLAB人工神经网络的手写数字识别系统
- JDO及相关资源介绍
热门文章
- Polkadot 0.9.2版本正式发布,对平行链启动至关重要
- 以太坊核心开发者正在制定ETH2.0合并最低技术规范
- 币安选择InfStones作为以太坊2.0 Staking基础设施服务商
- Digix联合创始人:在接下来的12个月中 比特币将被称为真正的价值存储
- IoTeX与BigQuery集成以使数据对谷歌云用户可用
- 轻量级区块链协议Mina推出对抗性测试网“Testworld”
- SAP License:不要让ERP沦为记账工具
- SAP License:飘在SAP日子之二-售前的产生与发展
- 智能风控中的全场景化的模型组合包括哪些内容
- 搭建Harbor docker镜像仓库