想知道大厂面试都问什么吗,附最强面试技巧!!(大数据开发岗)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 想知道大厂面试都问什么吗,附最强面试技巧!!(大数据开发岗)

前言


很多小伙伴问我说:你拿了那么多大厂的offer,有什么面试套路吗?

我想说的是,面试无非就两点:沟通技巧 + 充足且针对性的知识储备。


正文


1、沟通技巧


1)引导式聊天


       简单来说,就是从自我介绍开始,就蹦出一些技术名词,引导面试官对这些技术知识点进行提问,然后提前准备好答案,回答完上一个问题的时候,扯一嘴其他的技术知识点(很多面试官喜欢打破砂锅问到底,但往往中了你的圈套)。


       在面试过程中有很多引导的机会,慢慢体会吧!

        88.png


2)自信的表达


       一个自信的表达,能让整体面试气氛轻松活跃,给面试官好的印象分,面试就像谈恋爱,看感觉的。


3)不要暴露缺点


       很多小伙伴(包括当年的我),在面对不会的提问时,不断的去解释,反而会暴露更多问题。这个时候你完全可以说这个不太了解,然后继续后面的回答。相信我,放过几个不会的,不会影响面试结果,因为没有人什么都懂, 你要做的就是:尽可能多的呈现你会的,快速跳过不会的!


2、充足且针对性的知识储备


       关于知识储备,我在技术群里咨询了一些大厂的小伙伴的面试经历,分享给大家。


       针对这些问题的回答话术,小编会在近期啃下来,作为粉丝福利发布。


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)想好跳槽理由,一般注重抗压能力和稳定性


    (2)大厂会有明确的稳定性的要求,如:无连续2段不超过1年的工作经历,当然,一般安排面试的话,就说明稳定性和学历初筛通过了。      


3、真实面试案例


真实面试案例(一)


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)有一表名t_sh_mtt_netdisk_log,从表名可以看出该表是什么业务的,是什么周期粒度的表。


(2)怎么查看表结构,表创建语句?怎么查看表有哪些分区?怎么查看分区对应hdfs路径?怎么计算某个分区的数据量大小?怎么计算某个分区的文件总数?


(3)有一hive sql,怎么计算这个sql会产生多少个map数?


(4)怎么查看hive有什么自带函数?怎么查看函数的详细信息?


(5)Hive支持哪些基木数据类型?


(6)请指出下面两个语句读取分区ds数据的不同


Select * from t where ds=20150101 and province='gd' or province='ex'


Select x fromt where ds 20150101 and(province='gd' or province='ex')


(7)将字符串"keyl=valuel&key2=value2...keyn=valuen"进行分割放到一个字段里面,可以查出任意一个keyx对应的valuex值。请写出查询语句,并计算总共有多少个key值。


(8)用一个字符串比如"alblc"来测试某个函数比如split(用|分隔符将字符串进行分割)的语句


(9)a表和b表内连接,a表为小表,只有2000行记录


select a.*from a Join b on a.key=b.key


可以进行怎样的优化


(10)a表left join b表,b表为小衣,可以进行怎样优化?


scleet a.*from a left join Join b ona.key=b.key


如果a为小表,可以怎样优化?


(11)请指出下面sql语句的区别


select a.* from a left Join b on a.key = b.key and a.ds=xxx and b.ds=xxx


sclect a.* from a lef Join b on a.key = b.key and b.ds=xxx


select a.* from a lef Join b on a.key = b.key and b.ds=xxx where a.ds=xxx


Select a.* from a left Join b on a.key = b.key where a.ds=xxx and b.ds=xxx


(12)多表连按的写法:a,.b,c三个表内连接,连接字段都是key,怎样写连接语句?


(13)两大表连接,发生了数据倾斜,有几个reduce无法完成,怎么查找发生数据领斜的原因?应该怎样优化?


语句:select t1.*,nvl(t2.x,1) from t1 left join t2 on t1.guid=t2.guid


(14)两大表连接,发生了数据倾斜。有一个reduce无法完成,检直发现t1中guid="的记录有很多,其他guid都不重复,这条语句该怎样优化?


语句:select t1.*,nvl(t2.x,1) from t1 left join t2 on t1.guid = t2.guid


(15)如何用hive q!实现sqL中的exist/in 子句


mysql语句如下:


SEL ECT a* FROM a where a.key in(select dstinct key from b where key like ‘filter%’)


(16)sort by、distribute by、cluster by 和 order by 区别


注:可参考数据工厂的“帮助中心》集群hive》hive使用优化》hive使用注意事项”


真实面试案例(三)


1)技术部分


(1)我看你上面写了你会Spark,那你用Spark写一下刚刚那道题的代码,不能用Spark SQL


(2)我看你上面有写到熟悉Hive原理和优化,你说一下怎么优化


(3)优化有说到语句优化,然后又说回到pv和uv那个问题,假如说让你优化你怎么优化(我代码里面有count(distinct id) uv,)


(4)问了一些Kafka的,我只记得一点点,问我数据会不会重复消费,什么情况下会重复消费


(5)在Hive执行语句的时候如果很慢,什么原因造成


我有提到数据倾斜的问题,他又问怎么解决数据倾斜


2)项目部分


(1)让你挑一个比较有亮点的项目详细说


(2)你负责了什么,数仓中统计了哪些指标,


(3)刚刚听你说项目里面有提到分层,如果我要你求每天商品的pv,uv,从ods层到dm层它的具体流向,各层都统计了什么(后来让写求pv,uv的sql语句)


3)场景部分


(1)有一个分区表,表名T,字段qq,age,按天分区,让写出创建表的语句


(2)刚刚的分区表,求20200221这个分区中,年龄第N大的qq号列表


4)手写部分


(1)三个字段,timestamp,user_id,product_id,让求pv最大的商品,写了之后又叫用Scala代码写一遍,然后又问,假如说只让你求pv数大于100的top3呢,代码又怎么写


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2月前
|
存储 安全 Java
每日大厂面试题大汇总 —— 今日的是“美团-后端开发-一面”
文章汇总了美团后端开发一面的面试题目,内容涉及哈希表、HashMap、二叉树遍历、数据库索引、死锁、事务隔离级别、Java对象相等性、多态、线程池拒绝策略、CAS、设计模式、Spring事务传播机制及RPC序列化工具等。
64 0
|
4月前
|
JavaScript 前端开发 应用服务中间件
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
这篇文章分析了Vue项目在服务器部署后出现404错误的原因,主要是由于history路由模式下服务器缺少对单页应用的支持,并提供了通过修改nginx配置使用`try_files`指令重定向所有请求到`index.html`的解决方案。
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
|
2月前
|
存储 消息中间件 NoSQL
每日大厂面试题大汇总 —— 今日的是“京东-后端开发-一面”
文章汇总了京东后端开发一面的面试题目,包括ArrayList与LinkedList的区别、HashMap的数据结构和操作、线程安全问题、线程池参数、MySQL存储引擎、Redis性能和线程模型、分布式锁处理、HTTP与HTTPS、Kafka等方面的问题。
142 0
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何开发ODPS Spark任务
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
SQL 安全 关系型数据库
第三次面试总结 - 吉云集团 - 全栈开发
本文是作者对吉云集团全栈开发岗位的第三次面试总结,面试结果非常好,内容全面覆盖了Java基础、MySQL和项目经验,作者认为自己的MySQL基础知识稍弱,需要加强。
38 0
第三次面试总结 - 吉云集团 - 全栈开发
|
2月前
|
消息中间件 存储 前端开发
资深Android开发的5个经典面试题
本文首发于公众号“AntDream”,欢迎关注。文章详细解答了五个常见的Android面试题,涵盖内存泄漏与溢出、Binder机制、MVC/MVP/MVVM架构、Handler机制及Context对象等内容,帮助读者深入了解Android开发的核心概念。
41 0
|
2月前
|
NoSQL 前端开发 关系型数据库
第四次面试总结 — 嘉和智能 - 全栈开发
本文是作者对嘉和智能全栈开发岗位的第四次面试总结,主要围绕对各种技术栈的了解程度进行提问,包括数据库的使用经验、对Redis和nginx的理解以及前端技能水平。
22 0
|
2月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
37 0
|
2月前
|
存储 Java 数据库
每日大厂面试题大汇总 —— 今日的是“顺丰-后端开发-一面”
文章汇总了顺丰后端开发一面的面试题目,涵盖了Java虚拟机内存模型、HashMap与ConcurrentHashMap的区别、Spring框架设计模式、SpringBoot与SpringMVC差异、Nacos注册中心原理、Seata分布式架构、MySQL事务隔离级别、数据库死锁问题解决方法、乐观锁实现方式、HBASE底层设计、BIO与NIO区别、以及为何不使用现有开源框架而选择自建平台等问题。
23 0
|
3月前
|
SQL 分布式计算 大数据
代码编码原则和规范大数据开发
此文档详细规定了SQL代码的编写规范,包括代码的清晰度,执行效率,以及注释的必要性。它强调所有SQL关键字需统一使用大写或小写,并禁止使用select *操作。此外,还规定了代码头部的信息模板,字段排列方式,INSERT, SELECT子句的格式,运算符的使用,CASE语句编写规则,查询嵌套规范,表别名定义,以及SQL注释的添加方法。这些规则有助于提升代码的可读性和可维护性。
67 0
下一篇
DataWorks