美团一面凉经、百度一、二面凉经
写面经记录前,先说个小插曲。
我是 4 月 11 日参加的华为面试,面试使用的平台好像是华为自家的,当天面试给我发了一个会议链接,需要进行提前签到,到约定时间后,会通知你点进链接去参加会议,如果无效的话,也会告诉你一个会议号,可以手动输入。
但是当天到达约定时候后,我一直没办法进入会议,一直提示链接无效,手动输入链接也不行,华为那边还一直打语音电话(不是人工打的,应该是机器打的)提示我进入会议,我一直在干着急,但就是进不去,我当时就在想面试官是不是等了我好长时间了,心态原地爆炸,一直尝试一直不行,时间大概过了 10 分钟,约我面试的 HR 给我打了电话,问我是不是还没进入会议,我说一直提示链接无效,她说她那边也是,让我等一会,我才知道不是我的问题,慢慢平复了心情、状态。
美团、百度面试的时候用的是牛客平台,这是我第一次使用牛客平台进行面试,当时也是早早的准备好,提前进入,等待面试官,结果面试官进来后,说听不到我的声音,我调试了好一会,还是没有解决,后来就改成打微信语音电话了,当时就非常紧张了,面试官还就是做这个方向的,全程快被问傻了。面试结束了,我原以为是因为我带蓝牙耳机的缘故。
后面百度面试的时候,我耳机也不带了,就直接用电脑自带的麦克风和扬声器,结果还是不行,只好又进行打电话了,这两次面试的时候本来就紧张,再加上遇到这样的情况,心态更是原地爆炸。
百度面试结束后,我就下定决心一定要解决这个问题,后来我问牛客客服,进行调试,发现是 Chrome 浏览器的问题,她说是浏览器会遇到这样那样的权限问题,我下载火狐后,确实可以了。
这里也提醒广大牛友,遇到面试时面试官无法听到自己的声音且自己使用的是 Chrome 浏览器的话,一定要记得换下浏览器试下,你永远想不到面试开始的时候会遇到什么问题,我真的是被这个麦克风问题影响了两次。
美团一面凉经(一面后再无消息)
求职意向:机器学习、数据挖掘算法工程师
笔试时间 4 月 2 日,笔试 4 道题,前 2 题 AC 了,第三题过了 0.8,最后一题骗了 0.4
一面 4 月 13 日
面试官上来先说自己是做推荐方向,看到我项目里面也有一个推荐相关的项目。全程都在问这个项目,问了大概一个小时。。。
首先简单介绍这个项目,这个项目做了啥,实现了什么功能。。。
使用的数据,数据的规模,特征的处理方式等等
项目中用到了 Item2Vec,介绍下,我提到了 Word2Vec
面试官继续问,如何进行训练的,损失函数是啥。。。。
是自己写的吗?还是调的包,我说调的包,他又问函数名叫啥,我说记不得了。。
然后又问 DeepWalk 了解吗?介绍下。
然后介绍项目中用到的推荐算法模型,以及自己对这些模型的了解等等。。
后来面试官除了一个题,如何设计一个推荐算法,满足不同的推荐场景,比如首页推荐,某个关键词搜索下的推荐,还有其他的场景等等
我猜他是要问 MMOE,但是这个我只听说过,自己没有了解过,便说了一个在召回的时候使用多策略召回(基于流行度的召回、基于关键词的召回,基于内容的召回等等),然后使用推荐模型进行排序,然后再使用一个多目标混排模型进行排序等等。
他又问模型过拟合的原因有哪些?我回答模型复杂,特征穿越。
以及解决模型过拟合的方法,协同过滤,如何计算用户和用户的相似度、物品和物品的相似度等等
然后给了一个算法题,是剑指Offer 39,写了个空间复杂度O(n)的方法,让我优化空间复杂度,一时没想起来,面试官提示说排序,哦哦,排序后中间元素就是答案,下来看还有更好的做法,当时已经快被问傻了。。。
后面就是反问环节,问了下面试官所在部门的技术栈、业务等等。
面试官大约一周后有消息,但一直没信,估计凉了。。。
百度一、二面凉经
求职意向:机器学习、数据挖掘算法工程师
笔试时间:4 月 12 日,2 道编程题,全 AC 了。
百度面试是连续面,就是面试过了就直接进行下一轮。
一面 4 月 17 日
面试官上来先让作自我介绍,我大概说了 30 秒,面试官估计还没看完我简历,就让我从上到下介绍下简历,遇到感兴趣的他会打断进行提问。
然后介绍自己的简历,教育经历、掌握的技术栈、项目等等
面试官估计是做 NLP 方向的,第一个项目是 NLP 相关的,主要在问这个
网络这样设计的原因,和之前模型的区别,优缺点等等,以及提出了一些可能的改进方向等等
看用了预训练语言模型,问是 BERT 吗?回答是 Roberta,和 BERT 相比有啥改进和优点,提到了去掉了 NSP 任务,采用动态掩码,以及更大的训练数据
介绍第二个项目的时候,他主要是问一些数据方面的问题,简历聊完以后,面试官主要问了一个问题,K-means 终止条件有哪些?
我先介绍了下 K-means,基于距离的聚类算法,需要事先指定 K,终止条件有两个,一个是达到了预先设定的迭代次数,二是
样本中心点的变化在可以忍受的范围内。
接下来写了到题,二叉树的层次遍历,树已经事先建好了,简单说了下思路,BFS,用 deque 进行实现,写完后面试官就说有啥想问的,介绍下自己部门的业务,技术栈等等。
然后面试官说一面过了。
二面 4 月 17 日
二面面试官上来说话感觉就很不一样,看起来比较厉害,对数据也很敏感,让挑一个项目进行介绍,中间打断了好多次,问了很多问题,
比如 Item2Vec 和 Word2Vec,以及 Word2vec 的两种不同的实现方式,CBOW 和 Skip-gram 的优缺点分析
这个优缺点之前真没了解过,现场回答说 Skip-gram 应该要比 CBOW 要难,因为一个词要预测 2k 个词比 2k 个词预测一个词难,泛化性更好。
为啥泛化性要好?我说在数据充足的情况下,不容易过拟合。
模型的话主要是简单介绍,重点讲述了 Wide & Deep,以及项目中如何使用的。
感觉这块没有和面试官讲清楚。。。
然后的话就是做题,都是 LeetCode 上面的原题, 第一题是 88 合并两个有序数组,第二题是 215 数组中的第K个最大元素
这两道题之前都做过,但是考场太紧张了,第二题没有调试出来,下来才发现是参数 K 传错了,肠子都悔青了。。。
二面后面试就结束了, 现在状态变为共享中,
总结来看,面试官还是更在乎项目,如果有感兴趣的项目,基本上都是围绕项目在进行问问题,对知识点的考察也基本上是项目中使用过的知识点,所以总体上还是要注重项目,包括对项目的介绍,整体的表达思路,以及使用的数据规模,评价指标,中间遇到了哪些问题等等。。。最后的话就是要对常考题目熟悉、更重要的是熟练。要是遇到平常没见过的题目或者读完题不知道这个题目在考啥知识点,基本做不出来。考场上一般都紧张,所以有机会的话还是要多面试,这样才能调整心态、放平心态。最后就是如果面试官听不到你的麦克风,一定要记得换个浏览器试试。
今年找个暑期实习太难了,希望大家(包括我)都能有 Offer。
#面试复盘##春招##面经##笔经##机器学习##数据挖掘##百度##美团#
