data-engineer
不同岗位、不同公司、不同面试官问的内容是不一样的。大数据开发包括 Hadoop(ETL,Mapreduce),Spark(SparkSql 和 SparkStreaming),Python 等,看你偏向的技术了。另外大数据开发看是否偏向数仓开发和数据分析,又会不一样。不同的面试官和公司用到的技术栈也不一样,问的问题也会有很大差别的。
我说说我面试大数据开发岗面试官常问的问题吧。因为我简历项目项目经验注重实时流处理这方面,在面试时,面试会在这些方面问的比较深,我前后梳理一遍吧。
一般上来就是自我介绍,谈下工作经历和项目经验,面试官会根据你的项目经验对你进行技术面试。
- Java 是必问的,不过问的不深,把 Javase 部分吃透,足以应付 Java 部分的面试。
- Hadoop 生态,Yarn、Zookeeper、HDFS 这些底层原理要懂,面试经常被问。
- Mapreduce 的 shuffle 过程这个也是面试被常问的。
- Hbase 和 HIve,搞大数据这些不懂真的说不过去。
- Mysql、Oracle 和 Postgres 数据库操作要回,Sql 要会写。
- linux 操作系统,这个简单得命令必须要懂,会写 shell 脚本更好了。
- Kettle 或 Sqoop 这种数据处理工具至少要会一个。
- 数据仓库建模、数据模型的问题。
上面这些更偏向数仓方面,这些能回答明白足以找一份大数据开发工作了,当然想谋求更好发展,还要了解下面的。
- SparkSql 和 SparkStreaming,底层原理、内核、提交任务的过程等等,尽量深入内幕,这个经常会跟 MapReduce 作比较的。当然也要了解 Storm 和 Flink,Flink 这个建议要学会,以后用处会越来越广。
- Redis、Kafka、ElasticSearch 这些都得懂原理,深入了解,会使用,会操作,会调优。
- impala 和 kylin 这些尽量也要了解会用
- Python 这个要是有能力,有精力,建议也要往深处学习,我目前正在自学中。
- 集群的问题,包括一些简单的运维知识。
- 大数据数据倾斜的问题,包括 Spark JVM 内存调优问题等等。
我以前找工作面试很多家公司,这些都会问到,当然不同的公司问的技术是不一样的,大体上都是围绕着上面来问的。
作者:尘寂
链接:https://www.zhihu.com/question/306127087/answer/1060994701
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客!