线下群面:
五分钟读题,然后每人简单自我介绍+说出对题目的答案,然后讨论20分钟,最后5分钟派一个人总结。
题目:(2选1)
1、如何构建数据中台?
2、设计一个智能家居,应该有哪些功能?用什么技术实现这些功能?
测评:
性格测试+图形推理+资料分析
二面:
1、自我介绍
2、详细介绍一下项目
3、实习的数据框架和项目的数据框架有什么区别吗?
4、数据采集还了解其他工具或架构吗?
5、数据加工处理还了解其他工具或架构吗?
6、数据对外提供服务还了解哪些工具?
7、介绍一下实习中大数据开发的流程和规范
8、编译原理、数据库原理有了解过吗
9、做题,说思路就好:(不用借助其他平台,想思路就好)
上百T数据,里面有手机号,有5台机器,找出手机号出现频率最高的10个。
自己的思路:将数据分为5份,让每一台数据处理一份,分别对数据进行排序,取出出现频率前10的手机号,最后把5台机器的结果汇总起来再进行排序,取出前10频率的手机号。
面试官:那每台机器怎么取出频率最高的10个手机号?
我:HashMap存储处理过的数据,key存放手机号,value存放出现次数,然后用小顶堆存放HashMap的数据,取10次堆顶的数据。
面试官:每台机器取前10,加起来再取前10,但每天机器的前10不一定是准确的,即可能出现同一个手机号出现在不同的机器,怎么处理?(一开始理解错了问题)
我:扩大前几的范围,前20、前50
面试官:这个方法不解决问题,参考MR的计算原理,借鉴一下有没办法解决?
我:(根据MR处理数据的流程说了一遍)
面试官:了解Shuffle吗?
我:了解,数据分区......
面试官:对,就是Hash分区,先让相同的手机号放到同一个机器上,后面那套就通了,这个手机号就是这台机器的前10。
大数据——海量数据处理的基本方法总结:
https://blog.csdn.net/hong2511/article/details/80842704
(数据进行Hash分区,分为5个文件,分别发给5台机器处理。每台机器用HashMap统计词频,然后用第一个文件建立一个小顶堆,只存频率最高的10个,然后第二个文件继续存入小顶堆。最后小顶堆里存在的10个号码就是最高频的)
10、反问
部门规模:数据业务中心,200多人,负责所有的数据建设和管理
技术栈:需要用到什么就用什么,没有特定的技术栈,不限于某种技术
候选人特质:没有特别倾向,对基础能力的掌握情况,对做过东西的了解程度,不仅仅是完成,做完后对背后的东西有比较好的理解。
二面挂,个人分析是场景题没有做出来
#数据人的面试交流地##面经分享##大数据开发工程师面经##数据开发工程师面经##大数据开发面经#