美团 推荐 暑期实习 二面
我个人的面试中一面都比较注重基础知识,二面都比较业务(是我的样本偏差不?)
问了一些比较泛的问题:
项目说了两句就直接打断我。
1. 你想对于有过推荐经验的同学有什么优势?
2. 什么时候能来?能实习多久?有多少offer了?投了哪些公司?
3. 简单说说这两天你了解的推荐算法?
4. 分析用户留存
5. 什么情况是因果关系,什么情况是相关关系。
6. 对深度学习的了解
噗嗤,跟一面风格差异太大了。。。
1. rand7 生成 rand10,噗嗤,面试官一直没听懂我的思路,反复再问我这样是均匀的吗?是呀!!我的做法是rand7生成两次(1,1)-》1, (1, 2) -》1, (1, 3)-》1, (1, 4)-》1,四个一组,(1, 5)-》2,依次类推,最后还剩7*7-4*10 = 9个,拒绝法,直到出现前面的停止。可能我方法太low了面试官觉得不高级吧。
2. 给出一个元素无序的数组,求出使得其左边的数都小于它,右边的数都大于等于它的所有数字。
我没做出来,面试一个小时,提前15分钟面试官就叫停我了,估计是对我没兴趣,凉了吧,哎。
附一个网上看到的题解:原文链接:https://blog.csdn.net/insistGoGo/article/details/9744677
举例:
(1)1,2,3,1,2,0,5,6 : 输出5,6
(2)1,2,3,1,2,0,5,5 : 输出5(第一个5)
(3)1,2,3,4,5,6,7 : 输出1,2,3,4,5,6,7
思路:
使用一个数组nArrMin[i]来保存[i,nLen-1]区间内的最小值。
使用一个变量nMax保存区间[0,i-1]的最大值。
对于第i个数,如果它满足nArr[i]大于左边的最大数nMax 且 小于右边的最小数nArrMin[i],则该数即为所求。
复杂度:时间:O(n),空间O(n)