学长1
1)笔试部分
(1)你可以得到网站访问记录,每条记录有user IP,设计一个程序,要随时能计算出过去5分钟内访问次数最多的1000个IP
(2)简述Paxos协议
(3)编程简单实现一个阻塞队列
(4)简单实现一个LRU算法
(5)有一个5000万的用户文件(user_id,name,age),一个2亿记录的用户看电影的记录文件(user_id,url),根据年龄段观看电影的次数进行排序?
2)技术部分
(1)Java的NIO是否了解
(2)Java多线程(什么wait、notify)
(3)MapReduce的shuffle过程(手画,边画边介绍),reduce是怎么到map端获取数据的(RPC通信是否了解)
(4)一句话介绍MapReduce
(5) Spark做缓存时缓存在哪里
(6)百度不用Spark,只用Hadoop和MapReduce(至少这个部门是这样,这个部门的主要业务是做用户画像),把MapReduce工作的各个阶段过程吃透
(7)是否看过Hadoop源码
(8)Linux系统(常用命令啥的)
(9)除了这些平时还接触或者学习哪些技术
3)项目部分
(1)业务架构
(2)根据项目业务介绍技术
(3)MapReduce数据倾斜和内存溢出怎么办
4)算法部分
(1)手写归并排序
(2)用递归实现斐波那契数列第100项的值(第一项和第二项分别为0和1),手写
(3)算法和数据结构了解到什么程度、知道多少
(4)Java中的数据结构,ArrayList和LinkedList的区别,ArrayList为什么查询快(为什么用数组就快)、LinkedList为什么增删快,哪些Map是线程安全的
5)手写代码部分
(1)手写MapReduce的WordCount(导入的包最好能记住)
6)场景部分
(1)遇到垃圾日志怎么办(假如说有人恶意制造日志,怎么处理。我说的黑名单机制,那个面试官貌似还挺满意)
学长2
1)基本信息介绍
(1)百度:视频面试
(2)面试周期:5天
(3)面试次数:6次
(4)面试总时长:3小时
2)百度一面二面(印象中的一些问题):
(1)自定义UDF、UDTF
(2)如何确定计算数据的准确性?
(3)建立数仓的目的
(4)自定义拦截器步骤
(5)SpringMVC
(6)设计网站前后端交互问题
(7)Linux常用命令
3)百度三面(部门负责人):
(1)在没有PM的情况下如何对指标做拆分去分析?
(2)介绍了他们部门的工作内容
4)百度四面hrbp:
(1)介绍工作经历+工作遇到的困难+对所应聘职位的理解+分析指标提出时间和原因+离职原因等问题
5)百度五面业务总裁:
(1)某一天日活下降10%,需要从哪些维度分析,如何分析?不用说技术
6)百度六面Recuriter面:
(1)上家薪资+期望薪资+职级+对数据分析和指标分析的理解+职业规划等问题。
学长3
1)基本信息介绍
(1)11月17号度小满金融(原百度金融,A轮公司)
(2)面试地点:西北旺百度科技园旁
(3)面试时长:2个半小时
(4)面试次数:3次
2)一面:
(1)一面中规中距,有手写SQL环节,还有SparkStreaming常用算子解决实际问题。大概1个多小时。
(2)手写SQL考的是:
三个字段: area、year、temperature,统计每个地区的温度最高的对应的年份。
写的用rank函数,一个子查询,险过。
3)二面:
因为面的是架构师,所以二面问的是几个组件的版本号和几个大数据组件的安装过程和配置文件细节,还有HA的几个进程的作用,比较难。大概20分钟
4)三面:
问了自定义UDAF,UDTF,和数仓开放性问题,和三面主管说了毕业时间,并说了未签订劳务合同,他说怎么没签合同呢,太后悔了,最后走的时候说hr可能过不去,给我争取一下。大概30分钟。
强烈推荐度小满金融公司,环境Top5,面试官很厉害。
学长4
1)笔试
(1)写出用户表 tb_cuid_1d的 20200401 的次日、次7日留存的具体HQL :一条sql统计出以下指标 (4.1号uv,4.1号在4.2号的留存uv,4.1号在4.8号的留存uv)(一条sql写完)
(2)统计当天不同平台、版本下的uv、pv
(3)解析ext中所有的"type"( lateral view explode)
2)二面:
t_a (uid,os,day),t_b(uid,os,day),15号在t_a,但是不在t_b的用户
ut格式: 机型_app版本_xxx_xxx_厂商, 如 iphone 6s_10.0.0.1_sdk12.1_baidu_iphone:解析 ;12.1
t_a (uid,os,day)
最近30内,所有用户末次活跃日期
最近30内,所有用户末次活跃日期和倒数第二次的差值