许久不见,经历种种再次回归,已然不是当初初入职场的小姑娘,必然也从面试题中探得面试官问题的根本,接下来和我一起回归面试题,希望可以帮助到找工作的你。
我面试的岗位是偏大数据方向的开发岗,或者技术支持,该公司招聘JD是「大数据岗位kafka技术支持」,下面是面试的问题以及我的回答以及思考?!
面试官:请做一个简短的自我介绍
求职者(我):自我介绍工作经历等
对于有工作经验求职者来说,简历面试官提前已经拿到了,所以这里自我介绍可以着重介绍自己的项目经验、个人优势,自我风格展现。
面试官:请就XX项目着重介绍下自己的职责
求职者(我):XX公司我做的「XX银行提供全量舆情数据支持,助力其构建企业知识图谱(投资 / 合作 / 竞品关系),解决原小数据量下模型精准度不足的问题,支撑银行风控与企业分析业务」的项目,我主要负责前期的技术选型与开发:用 Scala+Spark 开发数据处理模块,实现日均 10TB 舆情数据的清洗、匹配与推送; 版本迭代与对接;自动化脚本开发:编写 5 + 个 Shell 定时脚本,实现数据文件自动压缩与 FTP 迁移,减少人工操作时间 80%。
对自己熟悉的项目介绍一下,自己的职责与整个项目承担的角色,初步给面试官一个可以承担工作重任以及单独处理问题的能力。
这里其实说一个项目就可以了,如果面试官感兴趣他回追问的。
面试官:在项目开发过程中又遇到什么难题吗?
求职者(我): 是有的,整个项目最开始的方案选型是经过一定时间才选择中AC多么匹配的;还有数据重复推送的问题,这个需要在代码中使用排重操作,引入redis热点缓存等
这里就是实战经验的考察了
面试官:接下来问下具体知识点。
面试官:Java创建线程的方法有哪些,除了线程池以外
求职者(我):1.继承Thread类并重写run()方法;2.实现Runnable接口的run()方法; 3.实现Callable接口
面试官:请说下List与Set的区别
求职者(我):list列表是有序的数据结构,允许数据重复,使用下标索引访问元素;Set集合是无序的,自动去重元素是唯一的。
这几个问题就是java基础面试题,主要是想看下java功底怎么样,所以面试技术岗还是要把java八股文背背,有备无患。
面试官:Hadoop的shuffle机制有了解吗
求职者(我):Hadoop的shuffle机制,其实就是mapreduce过程,触发shuffle机制后,当map任务执行时,会将数据先写入一个内存环形缓冲区(默认大小 100MB),默认80%进行溢写操作,溢写时会有排序,如果配置了combiner聚合,会先进行合并操作;多次溢写后,会合并溢写文件,当map任务结束后,Reduce端会从各个 Map 节点的本地磁盘上拉取属于自己分区的 Map 输出数据进行后续的操作,比如合并、排序等。
面试官:Hadoop是如何写数据的,写数据流程说一下
求职者(我):当客户端发出写请求后,NameNode 会进行校验:检查客户端是否有该路径的写入权限、目标文件是否已存在等,校验通过后;NameNode会为该请求返回一个DataNode节点列表(默认3),按顺序依次写入;DataNode会发送ack给Client,客户端收到后,发送给NameNode确定文件传输成功,关闭输出流。
面试官:yarn的调度策略展开说说
求职者(我):公平调度、FIFO调度(先进先出)、容量调度
上面是大数据Hadoop组件的基础,我肯定是倒背如流,shuffle机制是必问的。
面试官:Kafka了解多少,可以说下如何保证数据不重不丢的吗
求职者(我):生产者ack=all、重试机制;Broker端 开启多副本机制、消息持久化磁盘、Broker节点高可用;消费者端改为offset手动提交等方向展开谈论。
面试官:Kafka的数据是有序的吗
求职者(我):分区内是有序的;全局无序,如果舍弃并行度,全局并行度是1,那么全局也可以是有序的。
这里需要根据不同场景进行解答,面试过程中需要注意,很多问题都是根据不同场景有不同的答案的,要随机应变,不要死背答案。
面试官:Kafka消费者的状态分为几种?
求职者(我): 消费者组刚创建时,empty状态;有新消费者加入或者有topic新建分区时,rebanlance准备状态;重平衡状态;稳定运行状态;Dead死亡状态
kafka应该是该公司常用的组件,所以问了原理和基础知识。
⚠️一定要提前去了解下JD,jd里面会透漏出工作中需要的技术,再着重准备就可以了,这里是我提前准备过的,kafka组件的相关理论知识。
面试官:我这边差不多了,你有什么想问的吗
求职者(我):问了下JD与具体的项目内容
面试官:好的,有反馈后面hr会联系的
求职者(我):谢谢~
⚠️一面这里就结束了,主要是基本了解下情况,在面试过程中如果有回答不上来的问题,面试官也会友好的引导,所以不要胆怯,有时候是你解答问题的过程中感染到对方也是会给机会的。最后面试官会有让你反问的时间,这里可以自由发挥啦,对方都是很认真的回答,最终其实是公平的一对一选择的机会。
💗一面很顺利,问题我都回答的比较ok
基本2-3天,就会有反馈给到了,快的1天都给结果了。
愿君上岸!!!
