最近换工作,参加了几场面试,介绍一下面试过程中遇到的有意思的题目。
一、百度,应聘数据挖掘岗
面试官很年轻,估计工作两三年左右。只探讨了一个问题,有大规模语料,这些语料是用户的搜索记录和用户年龄,分析用户A进行搜索时用户A的年龄是多大?
二、360,大数据分析岗 面试官是部门负责人,只做了四道小题目,就是链表翻转之类的小程序,后续问了关于spark相关的知识,无难度。
三、美团,风控岗位
美团面试很严很正规。一面写算法,不难,但是短时间写出来还是有挑战。
1、字符串翻转,空间复杂度O(1)
2、一串有序数字,判断是否存在某两个数相加为目前数字KEY
3、一个N*N矩阵,每个坐标点有一个权重,求从左上角到右下角的最优路径
开放性问题:从哪几方面防止恶意刷单
四、纷享销客,数据分析岗
1、上机题。经过一定规则编码的字符串进行解码。(用到状态机思想。)
其他就是聊天。
五、剩下的都是天使轮公司,不再提名字,统一介绍一下。
1、Hbase查询性能突然下降原因,如何避免
2、spark shuffle过程解析和调优
3、求1.01和1.02的365次方,并根据前两个结果求1.03的365次方
4、100!中0的个数
5、第一行十个数,0 到9,求第二行的每个数字,其代表第一行的数字在第二行中出现的次数
6、关于Java的各种操作。hashmap实现,threadlocal使用场景,JMM模型介绍等等
7、关于LVM,聚类、推荐系统等知识的介绍
8、一个很大的文件,每行是一个数字,将文件排序。不能用map reduce。
9、去除C++中的注释。ps:还是状态机思想,但是真的有人能第一次在半小时内写出完整程序吗?状态转移还是很复杂的。
10、spark map flatmap 区别。ps:这两个函数其实挺有意思的,很容易被忽略和误解
去除C++中的注释。ps:还是状态机思想,但是真的有人能第一次在半小时内写出完整程序吗?状态转移还是很复杂的。 不能用脚本吗?shell or python