自身情况:
- 本硕末流211
- leetcode刷题300+,剑指offer全刷,刷过的题基本上都能码出代码(不一定能过OC,现场面无影响).
- SQL很熟练,面试没遇到过不会的.一些业务SQL(留存,在线时长,漏斗,连续登陆天数,共同关注好友等等等)也写的很熟练.
- 理论复习了数据仓库理论/数据分层理论(精读了维度建模工具箱+阿里大数据之路两本书),操作系统,计算机网络,JAVA所有(基础+源码+多线程+JVM),Mysql(看了两遍高性能mysql)
- 大数据组件准备了Hadoop(看了好几遍hadoop权威指南),Hive(Hql+配置调优),一些其他组件有了解知道干啥用的,没用过,就没忘简历上写.
- 大数据算法:paxos,2pc,3pc,zab,cap,base.
实习情况:
- 1年不知名数据仓库实习,开始学到东西了,后来半年多时间都在搬砖.sqlboy.做了无数个报表,做了一小扣扣数据仓库的建设.
准备情况:
- 一边实习一边准备
- 12月初写了简历(大数据组件只写了hadoop+hive,其他没用过的都没写到简历上,也没复习,怕被问住).按照简历所写的内容,一点一点开始从头复习.大概时间分配一个星期操作系统,一个星期计算机网络,一个月JAVA,一个星期Mysql,一个星期Hadoop.两天数据仓库理论(因为自身一直都懂,所以时间比较少)
- 刷面经(大部分刷的是JAVA后台的面经)
投递公司:
- 时间线:1月底开始投简历,2月下旬和3月上旬陆续做了笔试.3月中旬那一周集中面了六七家.再后来的面试全拒绝了.
- 简历挂
- 陌陌
- 猫眼
- 快看漫画
陌陌投递完秒挂(可能因为之前实习的时候投了简历,拒了面试的缘故吧,找实习的学弟学妹们实习投递也要谨慎啊),猫眼和快看漫画怀疑是刷kpi的,投递之后什么消息都没有,一直在初筛.不合适都懒得给我点.
- 笔试挂
- 网易
- 百度(提前批挂了简历,后续被捞了做笔试,笔试3道题AC2.7挂了,不太懂为啥捞人)
- 面试挂
- 猿辅导(笔试算法题一道题没做出来还是进了面试,但是二面挂,自我认为面的不错,可能被卡了学历,数据开发只要985的)
- 360(一面挂,岗位不符,跟面试官没啥共同语言)
- 拒面试
- 腾讯阅文(笔试都是业务SQL题)
- VIPKID
- 好未来
- 银联
- 面试走完流程
- 贝壳(offer)
- keep(offer)
- 马蜂窝(offer)
- 快手(准offer:oc谈薪,offer审批中,是真滴慢!!!)
- 美团(录取排位中,从hr得知技术面评价不错,但是hc少,意向书在我面试前就发光了,可能开水团发完带薪金的offer我还有很大机会,hhhhhh)
面经(时间太长了,大多数问题都忘记了)
- 贝壳:
- 先介绍自己
- 数据仓库分层介绍一下,ods和dwd区别,dm是什么?报表数据为什么不能用ods层的数据?
- 为什么需要元数据?
- 数据质量怎么评估?
- MR的原理
- SQL题:一道简单的sql(分组求排名?具体忘了)
- 怎么保证数据一致性?
- 事实都有哪些类型?
- 数据仓库搭建过程?
- 维度建模的优缺点?还知道别的数据建模吗?除了Innmon模型还有知道吗?
- SQL语句的执行过程.
- 实时相关你知道吗?
- 猿辅导
- 介绍自己,随便问了简历上的东西
- 算法题: 二叉树路径和
- SQL题:具体忘了,不太简单,我写了整整一页纸的SQL.
- 如何搭建摩拜的数据仓库?
- 如何确定业务过程?
- 算法题:某个金额的硬币兑换方法
- 美团
- 数据仓库分层
- hive的map/reduce数怎么确定?
- hive数据倾斜怎么办?
- 二叉树种类?完全二叉树知道么?有什么应用?
- TOPk问题.除了堆排还有什么解决方式?
- SQL题:给定uid,login_time,logout_time 求每分钟最大的在线人数.两个time时间都是标准时间datetime(2019-01-01 12:00:00)这种.说实话这个挺难的,我的直觉想法就是用UDF/transform来解决.面试官肯定了解法,但是 不是想要听到的答案.他说出这道题的目的就不是让你能用SQL写出来的.
- 维度建模过程?
- 缓慢维度变化问题?
- 支架表?拉链表?统计带状维度如何更新?
- 为什么维度要做到扁平多对一?
- 元数据怎么管理?
- hive数据倾斜怎么办?
- kafka了解吗?干什么用的?
- 说说操作系统打开文件到屏幕显示内容的过程.
- 有什么学习习惯?
- 360
- 做过spam? 怎么做的?
- 设计一套实时spam架构.
- mysql索引知道吗?索引都有哪些数据类型?为啥不用hashmap?
- 两个数组求中位数,必须最优解O(log(min(m,n)))的那种解法.
实话:360面试体验很不好,面试官应该是做实时反垃圾的平台的,我实习都是接触离线的,我简历上的东西一个不问,一直再问他会的东西.我直接说我不会,他还继续问.大部分时间都是让我设计那玩意. 不引导强行让你设计,说不会也得设计.
- 快手
- 数据分层理论
- 数据建模过程
- 缓慢维度变化问题
- 订单表如何存储?
- 窗口函数会吗?是一对一,还是一对多? 怎么用?
- hive数据倾斜怎么办?
- SQL题:行转列,列转行
- 二叉树后序遍历非递归
- 为什么要有数据仓库?
- 数据怎么保证一致性?
- 为什么要做元数据管理?如何做元数据管理?
- 数据质量怎么评估?
- 缓慢维度变化问题*2
- Hive Map数和Reduce数如何确定?
- Hive如何调优?都有哪些参数?
- Hive如何解决小文件问题?Map阶段?Reduce阶段?
- JVM内存如何分配?什么时候新生代GC,什么时候老年代GC?
- HashMap和HashTable有什么区别?
- 会Spark吗?不会!别问,不知道!
- SQL题:live_id,uid,in_time,out_time求每个直播间每分钟最大的在线人数.in_time和out_time是datetime类型.跟美团一面SQL题一样,就是加个维度.15分钟内写完.
有没有发现美团和快手问的问题很像!!!
- Keep
- 数仓分层
- JAVA基础:访问属性关键字/接口继承/类继承/接口和类的区别/java8匿名函数/如何将函数付给变量?
- 任务调度系统知道吗?如何判断DAG图?写出代码!
- SQL题:忘了,挺简单的.窗口函数.
- 如何做好元数据管理?
- 数据安全怎么保证?为什么做到字段安全困难?
- 数据倾斜怎么处理?怎么判断哪里出现倾斜?除了看log日志还有什么方法?
- 任务调度系统*2
- 数据仓库主题怎么建设?
- 主动介绍Keep的工作 ....
当天拿的意向书,最近大裁员.按业务线裁人,进去谁能安心啊!!!
- 马蜂窝
- 数据仓库分层
- 临时需求怎么处理?怎么管理?
- 数据指标如何保证一致性?
- 数据仓库如何对外提供数据
- 设计一个平台,要同时满足BI+临时需求+数据API提供.说实话我到现在也没明白出这问题什么意思!沙雕问题!我觉得这三个就不应该揉到一起做,要是做一个也要分三个功能模块.就分模块给的设计.
- SQL题:uid,login_date. 找出每个用户连续登陆的最大天数.如果我还要知道哪几天登陆了,怎么写?
- 数据仓库分层*2
- 试着设计实时的数据仓库
- 你的技术栈有哪些?
- 一面面试官对你评价不错,我是做搜索的.我这也没有什么问的了,你有什么想问我的吗
总结:
- 好多人都在吐槽说大数据需要看的东西太多了,准备不过来.说实话,我觉得面试主要问问题来源来自你的简历.你把简历上写的都弄明白,不怕深问,怎么着你也能熬过面试的那一个小时.
- 针对面试准备项目和知识点,功利性一点。边面边补,多总结复盘,不要太怕,踏出第一步很重要!
--end--