1)技术框架部分:
(1)会根据面试者简历上的技能点进行考察。注意技能点描述用词,不要随便用熟悉,觉得特别熟的可以说熟练使用
(2)常用的大数据框架是肯定会问的,比如Hive、Spark、Kafka等。常见的如Kafka精准消费问题的多种解决办法对比,Spark的Task调度规则
(3)有些面试官会直接让讲了解的框架最底层实现
(4)Java,MySQL,Redis必问,JVM,Hashmap,JUC相关,MySQL的索引及优化,Redis数据结构、集群、缓存淘汰
(5)常见的协议会考,租约协议,quarum原理,Zookeeper选举,acid,acp,base等
2)项目部分:
(1)一般会让你挑你最熟的一个项目讲。考察从项目背景到实现的把控
(2)重点是参与的部分,遇到的难点
(3)常见业务难题的解决和优化,层层递进,头条追求做到极致
(4)没有做过的项目、模块不要乱讲,容易被问懵逼或者被太简单被鄙视
3)算法部分:
(1)数据结构必考,手写代码,每一面都会考。常见数组、链表、二叉树、跳表的题。有些部门会先笔试(电脑实际编码运行)再面试
(2)算法部分常见动态规划、概率题、二进制一类
(3)SQL题目,行列转换。分区函数,统计连续登陆天数这一类问题
(4)多刷Leetcode,题都是有套路的
4)HR部分:
(1)想好跳槽理由,一般注重抗压能力和稳定性
1)技术部分
(1)WordCount的实现过程
(2)MR与Spark的区别
(3)Spark在Client与在集群运行的区别
(3)相同的SQL在HiveSql与SparkSQL的实现中,为什么Spark比Hadoop快
(4)自定义UDF
(5)设计HBase表需要注意的点
(6)HBase的hlog
(7)数据同样存在HDFS,为什么HBase支持在线查询
(8)数据从Hive中用SparkSql进行操作有遇到什么问题?类似兼容性的问题。
(9)SparkStream与Strom,Flink与什么区别
(10)有三个map,一个reduce来做top10,哪种方法最优。数据量特别大。
2)项目的架构
(1)数据仓库的模型设计
(2)数据仓库的数据清洗
(3)业务建模、数据分析方法。
(4)数据仓库是怎么设计的
(5)数仓规范设计哪些方面(字段、维度,存储压缩、数据保留机制)
(6)数仓质量怎么监控(数据质量管理系统,主键唯一、非空、数据波动)
(7)数仓主体分哪些(按照公司业务归类:申请单、客户信息、合同信息、放款、还款、余额、逾期等)
(8)数仓拉链表的原理
(9)有没有遇到数据倾斜的问题(场景、解决方式)
(10)数仓重点调度任务的保障方式(调度系统优先级)
(11)数仓任务报错和监控(调度系统捕捉错误,电话短信告知值班人员)
1)技术部分
(1)自我介绍
(2)写map-reduce,两份数据,一份是设备id+用户id,一份是设备id+点击的广告+点击时间,找出每个用户id每天10条最新的广告点击记录
(3)说下多线程和多进程
(4)fork命令
2)算法部分
(1)hashmap和map,hash实现原理(hashmap基于哈希,查找O(1);map基于树,查找O(logn);hash实现采用数组,偏移地址使得查找满足O(1),无论是在哈希还是链表法解决冲突,都需要存储key和value)
(1)MySQL引擎是什么,常用的是哪个innodb,知道原理吗
(2)MySQL优化,怎么建索引?选择合适的字段属性。对于某些文本字段可以设成ENUM类型(MySQL中被当做数值型数据来处理)。使用连接join代替子查询 。使用索引:innodb支持哈希索引、b+树索引、全文索引。
BTree和B+Tree
(3)手写sql...
user_id login_date
1 20200325
查询出用户连续三天登录的用户
表A 字段a 值1234
表B 字段b 值11235
Join 输出的结果
Left join 输出的结果
(4)Sqoop导入数据是增量怎么实现
(5)Flume事务实现
(6)Kafka消费者角度考虑是拉取数据还是推送数据
(7)Kafka中的数据是有序的吗
(8)Kafka数据推送失败怎么处理
(9)Kafka保证生产者精准一次
(10)没有接受到ack才会出现声明情况
(11)Kafka数据重复怎么处理
(12)Spark Streaming怎么里面实现精准一次消费
(13)如果offset没有发送成功数据会怎样
(14)Hive的优化,项目中怎么优化的(我说了join的一些优化)
(15)然后就问了用MR怎么实现join,手写代码
(16)数据倾斜怎么处理的,
(17)碰到过oom情况吗,什么原因导致的,怎么处理的
(18)Hbase有哪些组件,
(19)什么场景会用到Hbase
(20)Hbase的读写流程,大概说一下
(21)Spark,任务提交的流程,
(22)Spark的两种核心Shuffle,未优化的和优化的
(23)常用的数据结构都有哪些,
怎么实现一个list,
怎么实现一个map
map一般什么场景使用
用过树这种结构吗,什么场景用到的
(24)算法
字符串中第一个出现三次且仅出现三次
反转一个链表
两个链表第一次交叉的节点,
(25)用Cannal监控mysql之后,Scala怎么通过SparkStreaming去消费的
(26)你们这个项目spark计算完之后存HBase怎么设计的
(27)HBase你们在项目中怎么设计rowkey的
文章来源:尚硅谷大数据培训