终于要跟大家见面了,Flink 面试指南

面试,一个令人大多数同学头疼的问题,要么成功进入心仪公司,要么沮丧与其失之交臂。但是,如果能在面试前就能知道面试官将会问的问题,然后可以好好提前准备,这种感觉是不是特别棒?

之前社区帮大家汇总了目前 15 家重量级公司的招聘需求更新在社区招聘帖,也收到了很多同学的反馈:

 

投了一堆简历,但是都没面试机会
面试官说是想招高阶人才
“**哎,感觉像我这种毕业年限短,
公司又是小公司,本科也不太好的,找工作太难了**”

 

最后只能总结:

我不优秀,我连面试机会都没有

也太南南南了!

那么究竟怎么积累技术实力,成为 Flink 高级开发,拿下心仪公司的 offer 呢?小松鼠征集了 Flink 用人主管的核心诉求并提供一份超级清晰、实用的学习路径。虽然我们都不会读心术,但破解面试难题也有思路可寻!

Tips:2020 Flink 最新招聘信息查看请见下方链接,内推或有招聘需求的公司可联系小松鼠(微信ID:Ververica2019)投递 JD~

2020 最新 Flink 招聘岗位汇总:
https://juejin.im/post/5df9e25fe51d4557f5450274

01 了解用人主管的需求

在收集招聘信息时小松鼠了解到用人主管的核心需求以及面试了部分同学之后的感受,总结下来主要分为以下方面:

  1. 经验都偏少,缺乏复杂场景的历练
  2. 在用 Flink 做数据开发,但没有底层修改经验
  3. 想招比较高阶的对 Flink 底层有深入研究的同学,但是高阶的太难找
  4. 需要有深入研究、改造经验的也可以,独立完成问题排查与任务调优

请注意关键词!「复杂场景历练」、「底层修改经验」、「高阶」、「问题排查与调优」,这是当前大多数岗位对 Flink 开发同学的预期,相当于划重点呐!除了解用人主管的核心需求外,我们也需要结合自身基础,找对合适的岗位方向。

02 找对岗位方向

小松鼠总结了市面上大多数招聘内容,对这些岗位进行分析并整合,可以看到如下表格内容。总体上分为3个方向:

招聘.jpg
(不完全统计,仅供参考)

众所周知,平台开发或底层引擎开发都需要对 Flink 有钻研精神,需要持续专注地深耕,对技术深度、技术原理掌握甚至是源码能力要求都较高。

相对而言,业务类的开发则更关注具体应用场景,大多是在平台的基础上进行业务场景的应用开发,对底层、源码的要求相对较低。

总体上,无论选择哪种技术方向,扎实的语言功底都是基础,而对开源社区的贡献、对 Flink 生态有深入了解等都将成为 blingbling 的加分项。

03 从小白到 Flink 高级开发,应该掌握哪些技术?

如果你了解到自己与用人主管的核心需求存在哪些差异,或者有自己倾向的岗位方向,那么恭喜你已成功完成心理建设。第三部分,小松鼠邀请了 Apache Flink PMC 程鹤群(军长)来帮大家解决“从小白到 Flink 高级开发,应该掌握哪些技术?”这个核心问题,此处感谢 Apache Flink PMC 伍翀(云邪)的反馈与建议。

首先,送你一份 X-mind!公众号后台回复关键字「面试」,可以下载 PDF 版本~

640-2.png

然后,我们来了解这份思维导图的构成以及如何使用。

1.专治无从下手

根据 Flink 相关招聘岗位要求,我们将重点分为以下部分:

  • 大数据基础理论
  • SQL & Table
  • Runtime
  • Flink 生态
  • Flink 实战

整合了当前 Flink 面试岗位中涉及的绝大多数知识点,并分为五大板块。除了 SQL & Table、Runtime 等硬核内容外,生态以及实战是面试中需要重点关注的内容。

2.没有问题的思维导图不是好题库

  1. 从问题开始,每块内容都以问题的形式帮你回顾可能考察的知识点。
  2. 不仅是 Flink,思维导图对面试中可能涉及的数据基础理论也整理成问题供大家参考。
  3. 难易分明,Flink 生态以及实战部分不仅是重点也是大部分难点所在,脑图中相应部分也用笑脸标示,难易程度一眼分明。

希望这份思维导图能够对你有所帮助!大家可以结合之前的 Flink 知识图谱一起学习,效果更佳哦~

Flink 社区知识图谱:
https://ververica.cn/developers/special-issue/

04 跟 5 位大厂同学聊了聊,他们分享了 10 道真题

面试跟从小到大我们经历的大大小小的考试异曲同工,虽然可以临时抱佛脚,可最核心最重要的还是技术实力。下面分享 10 道真题,都来自于生产环境经验丰富的大厂同学,希望对大家面试有所帮助。此处感谢五位同学!

BTW,以下真题仅供大家参考,开拓思路,切不可本末倒置,将真题作为面试准备的唯一法宝。

 

▼ 真题集 ▼

1.阐述 Flink 如何处理反压,相比 Storm,Spark Streaming 提供的反压机制,描述其实现有什么不同?

2.阐述流处理引擎提供的三种数据处理语义,解释 Flink Checkpoint 机制如何保证 Flink 程序结果的 Exactly-Once 语义,描述如何通过两阶段提交协议提供端到端的 Exactly-Once 保证?结合 Kafka 如何构建端到端的 Exactly-Once 处理?

3.阐述 Flink 提供的容错机制,解释分布式快照 Chandy Lamport 算法逻辑,剖析 Flink Checkpoint 具体实现流程?

4.如何处理 Flink 作业频繁重启问题?

5.如何优化大状态的 Flink 作业?

6.如何排查 Flink Checkpoint 超时问题?

7.如何处理 Flink 作业中的数据倾斜问题?

8.Flink 反压机制,如何排查反压瓶颈在哪,及如何处理反压问题?

9.哪种 join 可以满足单个流断流的时候仍然能够保证正确的 join 到数据?

10.watermark 是怎么生成和传递的?

以上。真题集部分还有后续,下期更新~我们的目标是“Flink 学得好,工作容易找”!无论您是面试者想要帮忙内推还是企业用人主管想要招聘,欢迎联系小松鼠(微信ID:Ververica2019)。

点击下方链接可查看 2020 社区最新招聘信息汇总~
https://juejin.im/post/5df9e25fe51d4557f5450274

原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云转型谈何容易?打破转型阵痛,汇量科技加码云原生

作者 | 伍杏玲出品 | CSDN云计算10 年前,Netscape 创始人、硅谷著名投资人马克安德森表示“软件正在吞噬世界”,这只说了故事的一半,10 年过去,人们从不信任到得“云”者得天下,云服务成为正在吞噬世界的“大鱼”。工业…

SpingBoot 整合 kafka Elk

文章目录1. 依赖2. yml配置3. 测试类4. aop拦截5. 并发队列异步发送MQ6. 封装json消息7. 完整封装json消息1. 依赖 <dependencies><dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></…

哀其不幸,怒其不争

不甘于平庸却又不想承受努力的痛苦。每天在碌碌无为中懊悔&#xff0c;又在懊悔中每日碌碌无为。时常后悔为什么之前的自己不努力一点&#xff0c;却又不舍得让现在的自己踏出舒适圈&#xff0c;那将来的自己还是会后悔现在的自己为什么不努力一点。每天晚上都在想&#xff0c;…

如何用一套引擎搞定机器学习全流程?

作者:陈戊超&#xff08;仲卓&#xff09; 深度学习技术在当代社会发挥的作用越来越大。目前深度学习被广泛应用于个性化推荐、商品搜索、人脸识别、机器翻译、自动驾驶等多个领域&#xff0c;此外还在向社会各个领域迅速渗透。 背景 当前&#xff0c;深度学习的应用越来越多…

分布式解决方案之分布式日志采集elk+kafka 环境的构建

文章目录一、软件下载列表1. zookeeper2. kafka3. logstash4. elasticsearch5. kibana6. zktools二、安装zk环境2.1. 上传安装包2.2. 解压2.3. 创建data目录2.4. 修改配置2.5.启动zk三、安装kafka环境3.1. 上传安装包3.2. 解压kafka安装包3.3. 创建data文件夹3.4. 修改配置3.5.…

基于https国密算法构建安全数据传输链路

网络数据安全得到前所未有的重视 HTTPS成为解决传输安全问题利器 大家都知道&#xff0c;HTTP 本身是明文传输的&#xff0c;没有经过任何安全处理&#xff0c;网站HTTPS解决方案通过在HTTP协议之上引入证书服务&#xff0c;完美解决网站的安全问题。 下图左侧表示Chrome浏览…

AOP+自定义注解 实现service统一的异常信息处理

返回信息枚举 TipsMsg&#xff1a; public enum TipsMsg {DEFAULT_SUCCESS("0","操作成功"),DEFAULT_FAILED("1","操作失败"),//其他枚举//get//set}自定义注解 ReturnMsg &#xff08;也是切点&#xff09; &#xff1a; Target(El…

跟风 Python 的人,后来都怎样了?

许多人觉得 Python 功能强大、就业范围范围广还上手轻松&#xff0c;得来全部费功夫。 但是一旦推开 Python 的大门你会发现&#xff0c;Python 入门容易但精通很难。看似语法掌握熟练&#xff0c;但一面试或者做项目就会被打回原形。 比如&#xff1a; 1&#xff09;如何写出高…

Kubernetes 是一个“数据库”吗?

作者 | 张磊&#xff0c;阿里云高级技术专家、CNCF 官方大使&#xff0c;CNCF 应用交付领域 co-chair&#xff0c;Kubernetes 项目资深维护者 最近&#xff0c;Kubernetes 社区里有一个关于“Kubernetes is the new database”的论述&#xff0c;引起了很多人的关注。当然&…

ES启动异常:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

现象 ES启动时出现异常 bin/elasticsearchmax virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]原因分析 系统虚拟内存默认最大映射数为65530&#xff0c;无法满足ES系统要求&#xff0c;需要调整为262144以上。 处理办法 设置vm.m…

mybatis resultMap type属性问题 ( xx.xx.PO cannot be cast to xx.xx.BO)

一句话总结&#xff1a; mybatis 查询语句的映射实体是根据resultMap 的type属性决定的。 即type属性为A&#xff0c;即使接口返回值用B接收&#xff0c;他的实际类型还是A&#xff08;idea不会编译出错&#xff09; 异常信息&#xff1a; xx.NameA_PO cannot be cast to xx…

云原生下的开发测试

【以下为分享实录&#xff0c;有删节】 测试环境管理之困与阿里巴巴的解决之道 在云原生时代下&#xff0c;软件的迭代速度越来越快&#xff0c;对测试的要求也越来越高&#xff0c;很多开发者开始使用Kubernetes来管理测试环境。在这个过程中&#xff0c;开发者会遇到很多困…

Mybatis 常用语句

文章目录1.结果集&#xff1a;2.代码块&#xff1a;2.1. 代码块&#xff08;可被引用&#xff09;2.2. 分支&#xff08;if else&#xff09;3.1 添加语句&#xff1a;3.2. 添加语句&#xff08;主键自增&#xff0c;并返回主键&#xff09;4.逻辑删除语句&#xff1a;5.物理删…

我是程序员,我用这种方式铭记历史

作者 | kokohuang责编 | 晋兆雨头图 | 付费下载于视觉中国✨抗战直播: 以图文方式“直播”1931年9月18日至1945年9月2日14年间抗战的日日夜夜✨开源地址&#xff1a;https://github.com/kokohuang/WarOfResistanceLive✨预览地址&#xff1a;https://kokohuang.github.io/WarOf…

分布式ELK日志采集系统

文章目录1. 传统日志采集存在哪些优缺点2. Elk采集日志的原理3. 为什么需要将日志存储在ElasticSeach 而不是mysql中呢4. 为什么需要使用elkkafka5. elkkafka原理6. elkkafka 环境的构建7. SpingBoot 整合 kafka Elk1.传统日志采集存在哪些问题2.分布式日志采集有哪些方案3.Ela…

从零入门 Serverless | 架构的演进

作者 | 许晓斌 阿里云高级技术专家 本文整理自《Serverless 技术公开课》第 1 讲&#xff0c;点击开始学习。 关注 “Serverless” 公众号&#xff0c;回复 入门 &#xff0c;即可获取 Serverless 系列文章 PPT。 传统单体应用架构 十多年前主流的应用架构都是单体应用&…

如何使用 Istio 进行多集群部署管理:多控制平面

作者 | 王夕宁 阿里云高级技术专家 导读&#xff1a;本文摘自于阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实战》一书&#xff0c;讲述了如何使用 Istio 进行多集群部署管理来阐述服务网格对多云环境、多集群即混合部署的支持能力。 前文详情&#xff1a; …

@Transactional 事务失效记录

代码调用结构&#xff1a; Transactional public ReturnBo saveBase(BaseBo bo){ServiceA.dbMethodA();ServiceB.dbMethodB();ServiceC.dbMethodC(); }异常现象&#xff1a; 在saveBase方法中&#xff0c;如果 ServiceB.dbMethodB()方法实现中出现了异常&#xff0c;Servic…

JDK8新特性入门到精通

文章目录一、 接口中默认方法修饰为普通方法1. 在jdk8之前2. 在JDK 1.8开始3. 案例演练二、Lambda表达式2.1. 什么是Lambda表达式2.2. 为什么要使用Lambda表达式2.3. Lambda表达式的规范2.4. 函数接口定义2.5. Lambda基础语法2.6. 方法引入2.7. Lambda实战案例三、java 8 strea…

一文聊“图”,从图数据库到知识图谱

作者 | 穆琼责编 | 晋兆雨头图 | 付费下载于视觉中国随着知识图谱的发展&#xff0c;图数据库一词被越来越多的提到。那么到底什么是图数据库&#xff0c;为什么要用图数据库&#xff0c;如何去建设一个图数据库应用系统&#xff0c;图数据库与知识图谱到底是什么关系。今天为大…