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

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

前言


很多小伙伴问我说:你拿了那么多大厂的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呢,代码又怎么写


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
SQL 前端开发 程序员
【面试题】前端开发中如何高效渲染大数据量?
【面试题】前端开发中如何高效渲染大数据量?
|
4月前
|
设计模式 SQL 算法
大数据面试总结
大数据面试总结
46 0
|
4月前
|
存储 安全 Java
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day03】——JavaSE
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day03】——JavaSE
38 0
|
4月前
|
安全 Java 大数据
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day01】——JavaSE
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day01】——JavaSE
43 0
|
3月前
|
消息中间件 分布式计算 Kafka
50道大数据精选面试题
50道大数据精选面试题
|
4月前
|
Java 大数据
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day04】——JavaSE
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day04】——JavaSE
36 0
|
4月前
|
存储 安全 Java
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day02】——JavaSE
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day02】——JavaSE
34 0
|
4月前
|
存储 SQL 分布式计算
金三银四V2.0之大数据面试常见的10个问题
金三银四V2.0之大数据面试常见的10个问题
46 0
|
4月前
|
分布式计算 资源调度 大数据
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day30】——Spark数据调优(文末附完整文档)
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day30】——Spark数据调优(文末附完整文档)
65 0
|
4月前
|
SQL 机器学习/深度学习 分布式计算
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day17】——Spark4
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day17】——Spark4
44 0