专栏首页牛客网百度阿里头条算法面经

百度阿里头条算法面经

过自己想要的生活不是自私,要求别人按自己的意愿生活才是。——王尔德

最近秋招很多消息和内推都是通过牛客获得的,回馈一下发一波面经,希望能帮到大家~ 楼主华五本科海外硕士,一份美国大厂数据挖掘实习,没有相关领域的paper,投的都是算法/机器学习相关岗位。非科班(EE)所以计算机基础比科班大神们差很多,相关知识一半靠上课一半靠项目和自学。至今面了阿里百度头条和两个小厂,投了腾讯美团知乎爱奇艺都没有任何消息。。楼主还在美国实习,所以所有面试都是通过视频/微信语音进行的。 

阿里提前批-算法机器学习(苦等意向书中) 

一面(45min) 

1. 代码:数组中第k大的数 

2. 简述反向传播原理 

3. 面试官微信发了一道反向传播的算数题,要求算出结果并解释 

4. sigmoid和ReLU的优劣 

5. 梯度消失问题和损失函数有关吗? 

6. 如何用一个有偏的0/1随机数生成器,生成无偏的0/1随机数 

7. 智力题:一个人向北走了一公里,向东走了一公里,又向南走了一公里,最后回到了最开始的起点,为什么?(楼主没答上来,后来网上搜到了答案...) 

8. 有什么问题要问我吗?(楼主问面试官能不能简单介绍一下ta最近做的一个项目) 

二面(80min) 

1. 代码:找出一个旋转数组中的最小值 

2. 怼NLP项目,具体细节问的很深(eg. 段落长度不一样怎么处理的,怎么控制参数个数,怎么防过拟合,用的什么优化算法,embedding层都用了哪些特征,等等) 

3. 一个四位数abcd,满足abcd * 4 = dcba,求这个数(楼主想起了当年被离散支配的恐惧..不过面试官表示不需要数论知识不要把问题想得太复杂后,还是顺利做了出来) 

4. 给了一个2*2的矩阵A和2*1的向量x,心算A*x 

5. 因为楼主提到项目是用TensorFlow做的,就让简述用TensorFlow训练模型的整个flow,边讲边在Collabedit写伪代码 

6. 讲TensorFlow的过程中面试官问初始化参数的时候要注意哪些(楼主不确定面试官的具体意思,就讲了TF的scope和reuse,和算法层面的Xavier和He两种init方法) 

7. 为啥想回国工作? 

8. 最后面试官详细介绍了下部门做的主要东西和优势,问我有没有什么问题(楼主问了和一面一样的问题) 

三面(30min) 

1. 怼项目,但问的不是很深 

2. 你这个项目有什么创新点吗?(楼主自知没有创新点,idea都是借鉴了很多别人的paper,就着重说了说一些难点和解决方法,面试官也没有继续刁难) 

3. 和二面问题一样,简述TensorFlow 

4. 开放性问题:目前NLP领域的模型表现相比CV领域稍显逊色,你觉得有哪些原因?你觉得NLP目前有哪些很有前景的发展方向?(楼主聊了一些最近看的感觉还不错的paper和大方向,面试官没给太多反馈) 

5. 能提前来实习吗?(楼主答不能,面试官表示没关系) 

四面(50min,楼主自我感觉这一面表现很不好..当时面完很懵逼,很多问题也记不清了) 

1. 怼项目,着重问有什么创新点(感觉面试官对楼主的整体回答并不满意) 

2. 概率题:一个家庭有两个孩子,已知其中一个是女孩,求另一个也是女孩的概率 

3. 看你的项目主要是深度学习的,对传统机器学习算法了解如何?(楼主说还比较了解,算法可以手推..面试官就说了句好然后竟然没有问任何后续问题..) 

4. 深度学习的算法有底层实现过吗?(楼主说大部分底层东西都用Python和Numpy写过..本以为要写代码了,但竟然又是没有任何后续问题..懵逼) 

5. 算法题口述思路:给定一个有k个单词的query(比如abc代表三个单词),和一篇用倒排索引形式给出的文档(比如a:[1,3,5] ,b:[2,7,6], c[4], d[8]),求文章中包含query中所有单词的最短连续窗口的长度(比如abdec就是长度为5包含abc的一个窗口)..楼主当时是美国晚上十二点脑子真的转不动了..面试官给了很多引导之后才给出一个还可以的解法,也不知道是不是最优解 

6. 你有什么问题吗? 

五面(交叉面,25min,基本全程聊天,没有技术问题) 

1. 简单说说你觉得你的项目可以应用到哪些实际业务场景? 

2. 实习生活感觉怎么样?感觉美国公司工作节奏如何?为啥想回国? 

3. 随意聊了聊面试官部门那边的一些产品 

六面(HR面,20min) 

1. 自我介绍 

2. 没有难以回答的问题,主要是面试官介绍部门的情况+聊天... 

头条-算法工程师(笔试后8.25视频面试,仍在等结果) 

一面(不记得时间了..) 

1. 自我介绍+简单介绍一个项目(顺着问了一些相关问题) 

2. 代码:一个链表,奇数位升序,偶数位降序,将其转化成完全升序的链表(楼主说可以直接拆分+反转+归并,面试官表示可以之后就直接写代码了) 

3. 面试官表示自己不是做NLP的,让我随便介绍一个NLP领域近期比较不错的成果 

4. 面试官似乎觉得时间太早又不知道该问什么了,沉默了一会问TCP/IP懂吗?(楼主没学过网络,直接说不懂)epoll了解吗(楼主就光上课时候学过一点,感觉会被问死,就直接说不太了解) 

二面(不记得时间了..) 

1. 自我介绍+介绍项目 

2. 项目有什么创新点? 

3. 推荐系统里,向量检索有什么方法可以加速吗?(楼主答LSH,然后后续问题就都是LSH相关的了,崩...) 

4. 我们简化一下这个问题,用LSH的思想在二维平面里找出和一个点距离最近的k个点,并写一下伪代码(楼主的解法是简单地将平面划分成很多大格子,然后维持一个{grid_id -> list of points}的map) 

5. 这个解法里,如果一个点在一个格子的边缘,那召回效果会变差很多,怎么缓解这个问题?(楼主没有很好的思路..回答了几种,面试官都说也许可以,但都没有很满意) 

6. 还能想到什么其他的方法吗?楼主对LSH没有太深的了解,想了很久后说可以用聚类的方法,召回时先找到距离最近的cluster;面试官似乎还比较满意,说facebook有一篇相关的paper楼主可以自己去读一下 

7. 意向工作城市? 

三面(55min) 

1. 自我介绍+介绍项目 

2. 项目最大的创新点是什么?项目里有哪些工作虽然没有创新性,但耗费了你大量时间? 

3. 项目为什么要在word embedding基础上加character embedding? 

4. Dropout为什么能防止过拟合? 

5. Batch Normalization有什么好处? 

6. 讲讲Adam优化算法 

7. 开放性问题:怎么自动从广告语中提取出一个“卖点”?(eg. 保暖,时尚) 

8. 你有什么问题要问我吗?意向工作城市? 

百度提前批-机器学习(做完测评等结果中) 

一面(60min) 

1. 代码:O(1)空间复杂度判断一个整数是不是回文数(Leetcode原题) 

2. 代码:给定一个dictionary,以及一个长字符串,判断字符串能不能拆成dict中单词的组合(dp解决) 

3. 简单问了问一个项目,没有聊任何细节 

4. 一个开放性问题,花了不少时间,具体很多细节记不清了就不写在这里了.. 

5. 有一麻袋硬币,怎么尽量快地估算出这些硬币的总价值(楼主给了几种思路面试官都不是很满意,最后面试官说这其实是一道很简单的采样的问题,楼主脑卡没想到..) 

二面(50min) 

1. 自我介绍+简述实习项目 

2. 能想到哪些衡量两个向量之间距离的方法(L1, L2, cosine,或者深度学习里训练MLP作为距离函数,注意normalization) 

3. 衡量两个字符串之间距离的方法?(楼主答了edit distance和Jaccard distance,不知道还有没有其他常用的) 

4. 给定一个query和一个doc,能想到哪些衡量相关性的方法(答了bag of words, LSTM encode, CNN encode, bi-directional attention等等);面试官最后提到一种match-CNN说楼主可以面试完研究一下 

5. LSTM相比普通RNN有哪些优势?为什么能解决梯度消失? 

6. LSTM和GRU用哪个好?(楼主表示两个之间没有绝对的优劣..面试官表示认同,说实际应用里确实会因为计算速度而选择GRU) 

7. 用户进行搜索时,你能想到哪些相关特征用来做排序(楼主从query,user,context三个角度简要回答了一下,也不知道面试官满不满意) 

8. 算法题口述思路:Leetcode买卖股票问题,只允许买卖一次的最大收益?不限制买卖次数的最大收益? 

9. 你有什么问题吗? 

三面(30min) 

面试官上来便说这一面不问技术问题了,楼主长舒一口气.. 

1. 为啥想回国工作? 

2. 上学期间你觉得自己成长最快的是哪个时期?为什么? 

3. 最大的优点? 

4. 有什么不足?或者说,你觉得自己有什么可以改进的地方? 

5. 工作的前三年对自己有哪些期望? 

6. 面试官介绍了一下部门做的东西,问楼主有什么问题;面试后要了身份证号

点击作者姓名与作者大佬交流~v

作者:匿名_

来源:牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员/产品/运营求职实习信息

- 程序员/产品/运营学习交流社区

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 网易游戏测试开发二面

    牛客网
  • 美图春招产品实习面经

    牛客网
  • 2018今日头条前端实习面经

    牛客网
  • How to create CDS view to return Service order item detail data

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • 开发工具总结(6)之Android Studio模板配置详解(提高开发效率必备技能)

    版权声明:本文为博主原创文章(部分引用他人博文,已加上引用说明),未经博主允许不得转载。https://www.jianshu.com/p/1fe87050c1...

    AWeiLoveAndroid
  • 企业网站怎么做才能避免成为摆设

    很多公司企业的官方网站在建成后,成为摆设,规划管理运营结果效果不理想,网站站点的转化率很低,投入与产出比严重不合理。那么,企业网站公司站点怎么建设才能避免这种情...

    悉知科技建站
  • VS 2010一步步开发windows服务(windows service)

     基于0起步来创建一个服务,做到简单的记录时间日志功能,其具体招行方法可自行添加。 1.创建服务 ? 2.删除默认服务文件 ? 3.添加自己的服务文件 ? 4....

    欢醉
  • 微信小程序兼容性问题。

    在Andriod使用new Date(“2018-05-30 00:00:00”)木有问题,但是在ios下面识别不出来。

    用户4344670
  • 分享Python以太坊虚拟机实现Py-

    Py-EVM是用Python编写的以太坊虚拟机的新实现。目前github上695个star,正在积极开发中,但正在通过以太坊/测试提供的测试套件快速推进。我们感...

    py3study
  • 新装普通WIN10系统推荐的一些操作

    Dep功能默认就是开启的,虽然可以对某些恶意程序起到安全保护作用。但是对于很多时候我们做测试环境或者软件会有一定影响,对此完全禁用DEP功能很有必要。

    用户4054676

扫码关注云+社区

领取腾讯云代金券