tx-offer-helper / OurResume

针对我们参与过鹅厂校招,并被大菜菜内推过的同学,或许点评与学习简历
14 stars 0 forks source link

大菜菜-大数据开发-偏平台-简历与技术栈分享【已录用】 #1

Open tx-offerman opened 4 years ago

tx-offerman commented 4 years ago

大菜菜-技术栈是大数据方向,经过一年的准备,秋招陆陆续续拿到了几个offer,现在在IEG供职。 现在分享下自己的准备过程和秋招时的技术能力

技术栈

  1. 扎实的 Java 基础, 可熟练使用 scala 语言编程, 熟悉常用的设计模型;
  2. 熟练运用 SQL 语句,熟悉 mysql 数据库原理和优化, 熟悉 spark sql 中的 catalyst 和 calcite 的查询优化引擎机制 ;
  3. 理解 hadoop 的基本原理,掌握 mapreduce 原理,掌握 hadoop 工作机制,阅读过 hadoop 项目源码(Yarn,MR)
  4. 理解 Spark core,spark-streaming,spark-sql,spark-ml 的基本使用和原理,理解 spark 工作机制, 阅读过 spark项目的核心源码,core/sql/catalyst/streaming/ml (不包括 structured stream);
  5. 熟悉常用机器学习算法使用和原理, 熟悉sklearn与spark mllib使用, 了解基本分布式机器学习理论, 研读过部分 spark mllib 源码;
  6. 熟悉 hadoop 体系下其他工具的使用, 比如:hive 的工作原理, 理解 Hbase 的存储原理,Hbase 存储架构,熟悉hadoop 体系工具 kafka, zookeeper, flume 等,熟练掌握 Hbase 等 nosql 数据库;

基本都是中规中矩的大数据技术,熟悉常用的组件,看过几个核心组件的源码, 有一些java开发的基础,但是对于javaee那些不太熟悉,勉强会用

这些技术栈也预示着,我能找到的工作都是偏大数据平台开发类的工作。

实习经历

实习经历: 2019.7.2 - 至今 杭州某互联网金融有限公司 大数据开发实习生 在数据应用组实习, 在学长带领下, 负责在公司内部的大数据服务框架 XXXX 和流平台上实现新的功能, 实现数据同步,前端交互优化,完善部分权限管理等功能; 参与探索开发基于 calcite 的 hbase sql 接口支持功能: 参与优化 hbase sql 物理执行计划, 提高 hbase 表扫描的效率, 摸索多 hbase 的表连接 join 方案, 参与实现 hbase sql 的 UDF 功能优化. 参与流平台的改造项目, 更改 flink 任务提交逻辑, 参与流平台监控指标的完善工作.

项目经历

项目 1: 数据服务平台 XXXX-service

项目介绍: XXXX-service 是公司内部的数据服务平台,其作为工程平台的统一数据服务,承担着将公司大数据的能力对业务赋能的重要角色,通过整合数仓、平台、算法等资源,将数据能力对反欺诈、APP 端数据、数字化运营等提供输出。 技术要点: 以 SQL 即接口的理念,对应用业务屏蔽具体的数据存储的数据服务框架. 管理以 mysql 和 hbase 为载体的数据仓库产出数据, 同时为 HBASE 表维护虚拟表元数据, 基于虚拟表元数据依赖 Calcite 为 HBase 增加了 SQL能力以及 UDF 拓展, 支持数据的各种转化处理, 在服务平台层面为应用接口提供限流与缓存等功能. 工作内容:

  1. 优化和拓展基于 calcite 的 hbase sql 支持引擎, 优化 hbase sql 表扫描物理执行计划, 实现 hbase 多表连接sql 支持, 参与优化 hbase sql 的 UDF 功能;完善 hbase sql 的 UDF 功能;
  2. 日常版本迭代工作, 新增数据同步接口, 新增部分权限管理, 优化前端操作逻辑;

项目 2: xxxx流平台改造项目

原有流平台是是面向标签开发人员、特征开发人员、BI 等用户的实时数据开发平台,完整覆盖实时数据开发的业务流程。但是流平台自己独用一个界面管理和入口, 现打算将流任务和离线任务的入口统一, 并对原有平台进行改造, 完善平台职责, 优化功能. 工作内容:

  1. flink 版本升级支持,以及改造 flink 任务提交入口, 剥离原平台中和 flink 版本严重耦合的任务提交方式 2.后续需要做的:监控功能的加强, 目前只有心跳感应和运行记录,kafka 消费情况等监控, 后续打算完善监控指标;

项目 3:基于 spark sql 的缓存优化项目

系统依赖:spark-2.3.3 , zookeeper-3.4.13, hadoop-2.7.6 项目内容: 在 spark-2.3.3 版本的基础上, 为 spark sql 增加跨 Driver 的磁盘缓存拓展功能. 其目的在于:

  1. 在跨 Driver 和跨用户的环境下, 提供 usecache 关键字用于自动缓存 spark sql 的执行结果到磁盘中, 以便下次同样的 sql 语句执行时直接加载磁盘文件,并且支持部分场景下的增量查询;
  2. 在 Master 组件中提供磁盘缓存的生命周期管理: usecache 命令可以在 Master 端和 zookeeper 中自动保存缓存元数据, 并提供生命周期与缓存最大磁盘容量等管理.
  3. 除简单的缓存功能外, usecacheManager 组件还提供有限的增量查询功能, 即在已缓存 sql 输入源的是再次输入的 sql 的输入源的子集时, 更换 sparkPlan 执行计划, 为部分算子提供增量更新模式与增量缓存更新功能
    项目地址:https://gitee.com/JellyYoung/spark-2.3.0-sqlPlus (持续开发中) 后续的项目烂尾了,因为去实习和发论文,最后功能没有完善, 希望能有同学感兴趣,继续把这个开源做下去

剩下的项目就没有太大参考价值了,希望想从事大数据开发,偏平台方向的能够参考

tx-offerman commented 4 years ago

提问举例: 大菜菜群主,我想从事的是数仓相关的?这些技术栈对我适用嘛?

tx-offerman commented 4 years ago

指点举例: 大菜菜同学,你对spark有一些认识,但是对于flink和流计算掌握是否充足? 希望同学能够进一步加强对于flink的掌握, 后续面试,会有很大收益