秋招面试字节面试准备(一面准备)
Posted 大数据Manor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了秋招面试字节面试准备(一面准备)相关的知识,希望对你有一定的参考价值。
开头
大家好,我是程序员Manor,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
事情是这样的:
期末考后,我在实习僧试着投了投字节的实习岗,没想到收到了校招的面试邀请
实际上算法这块我还是个菜狗
没办法机会难得,不知道下次能不能这么走运
只能硬着头皮上了……
以下是我做的一些面试准备:
开场白
面试官你好,我是面试咱们公司大数据开发岗位的xxx,就读于上海大学的数据科学与大数据专业,2022年毕业,在校期间做过2个大型数仓项目,其中教育数仓项目通过大数据处理分析技术,为企业发展提供切实可行的中观指导意见。除了学习之外,我也喜欢写写博客,复盘所学的知识,输出自己的成长经历。十分感谢贵公司提供的这次面试机会,期望有幸能够加入贵公司,成为大家的工作伙伴。
教育数仓项目介绍
项目背景:受互联网+概念,疫情影响,在线教育,K12教育等发展火热,越来越多的平台机构涌现。但是由于信息的共享利用不充分,导致企业多年积累了大量数据,而因为信息孤岛的问题,一直没有对这些数据进一步挖掘分析,因此也不能给企业的管理决策层提供有效的数据支撑。
项目价值:我们做的这个教育大数据分析平台项目,将大数据技术应用于教育行业,用擅长分析的OLAP系统为企业经营提供数据支撑。
实现思路:建立企业的数据仓库,把分散的业务数据预处理,其次根据业务需求从海量的用户行为数据挖掘分析,定制出多维的数据集合,形成数据集市,供各个场景主题使用,最后用BI工具,进行前端展示。
技术架构:mysql,sqoop,基于CM的Hive,Oozie和FineBi。由于OLTP系统中数据大多存储在mysql,所以我们最终选择Sqoop作为导入导出工具,抽取数据到数仓,并使用基于CM管理的Hive进行数据清洗+分析,然后sqoop导出到mysql,最后用FineBI展示OLAP的数据分析结果。
三大痛点:一是数据量太大问题,传统数据库无法满足;二是系统多,数据分散问题,无法解决数据孤岛问题;三是,统计工作量太大,分析难度高问题,无法及时为企业提供数据参考。
物流数仓项目介绍
项目背景:本项目基于一家大型物流公司研发的智慧物流大数据平台。该物流公司是国内综合性快递、物流服务商,并在全国各地都有覆盖的网点。
业务规模:经过多年的积累、经营以及布局,拥有大规模的客户群,日订单达 上千万。如此规模的业务数据量,传统的数据处理技术已经不能满足企业的经营分析需求。
项目价值:公司需要基于大数据技术构建数据中心,从而挖掘出隐藏在数据背后的信息价值,为企业提供有益的帮助,带来更大的利润和商机。
项目细节:
物流环节:大数据项目主要围绕订单、运输、仓储、搬运装卸、包装以及流通加工等物流环节中 涉及的数据、信息等。
指导方向:通过大数据分析可以提高运输以及配送效率、减少物流成本、更有效地满足客户 服务要求,实现快速、高效、经济的物流,并针对数据分析结果,提出具有中观指导意义的解决方案。
应用案例:针对物流行业的特性,大数据应用主要体现在车货匹配、运输路线优化、库存预测、设备修理预测、供应链协同管理等方面。
人家的面经
作者:杨超越救救孩子啊
链接:https://www.nowcoder.com/discuss/170799
来源:牛客网
早上九点的面试,投的南京的岗位
一面:
一面面试官人很nice,遇到不会的也会安慰我说没关系,
上来先自我介绍,
说下项目,
说说对hadoop的理解,都有哪些组件,分别是干什么的
还了解大数据其他组件嘛?这里我说了下kafka,然后巴拉巴拉,,,
kafka在什么地方需要用到zookeeper
了解HBase吗?
说下spark中的transform和action
为什么spark要把操作分为transform和action
spark中有了RDD,为什么还要有Dataframe和DataSet?
了解函数式编程吗?说下c/c++和scala这种函数式编程语言的区别
Java中抽象类和接口的区别
都有抽象类了为什么还要有接口
了解GC吗?说说
然后写一道编程题,给个字符串,只有(){}[],看看是否是匹配的,
用个栈直接解决了,问下优化,如果遇到右括号,在查看栈顶元素的时候如果不匹配直接返回false
还有什么要问我的吗?
还聊了下他们的团队工作内容,主要对Spark的源码进行修改,还有其他等等
大概是这些内容了。
二面:
二面面试官很严肃的感觉,不像一面面试官那样,比较轻松
上来就聊下项目
项目中kafka怎么使用的
了不了解nginx
给一个日志文件,有用户ID,时间戳,url,用mapreduce如何给出每天每个站点的访问任务
在这个过程可能会出现什么问题?我这里答了会出现数据倾斜,然后问如何解决
数据库都有哪些引擎
数据库的锁了解哪些,说说
应用层协议有哪些
什么场景用TCP,什么场景用UDP
HTTP状态码都有哪些,具体说一下
HTTP长连接和短连接
url和uri的区别
还问了http请求头的一些字段内容
还是上面那个日志,不过现在所有的数据是在数据库中,写条sql语句查询近一个月每天每个站点的访问人数。
有什么要问我的吗
二面很多没答上来,感觉凉了,没想到给我过了,,我现在还在怀疑人家是不是搞错了。。
三面:
三面面试官人也挺好,听声音是个大叔啊哈
首先还是自我介绍
说下项目
平时开发环境是windos还是linux
开发使用什么语言比较多
线程和进程的区别
hashmap的实现
hashmap的loadfactory是干嘛的
hashmap的扩容
为什么每次扩容都是翻倍,增加1.5倍不行吗
扩容的时候为啥不多扩一点,比如4倍
来了道算法题,两个三十六进制字符串的相加
一条直线可以把一个平面分成2个平面,两条直线最多分成4个,问n条直线最多分成几个面
有什么要问我的吗
试着答了一下
1.说说对hadoop的理解,都有哪些组件,分别是干什么的
Hadoop是大数据的组件,由HDFS,MapReduce和Yarn组成,HDFS主要负责数据的存储,MapReduce是作为计算引擎,负责计算,Yarn负责资源调度
2.还了解大数据其他组件嘛?这里我说了下kafka,然后巴拉巴拉,,,
Kafka是一个基于订阅发布模式的高性能、高吞吐的实时消息队列系统,用于实时架构中,实现将实时数据采集的数据进行实时存储,供于SparkStreaming或者Flink等工具实现实时数据消费处理
3.kafka在什么地方需要用到zookeeper
三种情况:
需要用到存储元数据和交换集群信息
解决分布式一致性问题
需要要消费者知道现在那些生产者(对于消费者而言,kafka就是生产者)是可用的。
4.了解HBase吗?
Hbase是一个基于分布式内存和HDFS的按列存储的NoSQL数据库,适合于需要实时的对大量数据进行快速、随机读写访问的场景
5.说下spark中的transform和action
1,transformation是得到一个新的RDD,方式很多,比如从数据源生成一个新的RDD,从RDD生成一个新的RDD
2,action是得到一个值,或者一个结果(直接将RDD cache到内存中)
6.为什么spark要把操作分为transform和action
因为所有的transformation都是采用的懒策略,就是如果只是将transformation提交是不会执行计算的,计算只有在action被提交的时候才被触发。这样有利于减少内存消耗,提高了执行效率
7.spark中有了RDD,为什么还要有Dataframe和DataSet?
RDD叫做弹性分布式数据集
与RDD类似,DataFrame是一个分布式数据容器,但是DataFrame不是类型安全的。
DataSet是DataFrame API的一个扩展,是Spark最新的数据抽象,结合了RDD和DataFrame的优点
8.了解函数式编程吗?说下c/c++和scala这种函数式编程语言的区别
scala便是函数式编程的一种,函数式编程语法比起面向对象语言更加简洁优化,
9.Java中抽象类和接口的区别
1.接口只能包含抽象方法,抽象类可以包含普通方法。
2.接口只能定义静态常量属性,抽象类既可以定义普通属性,也可以定义静态常量属性。
3.接口不包含构造方法,抽象类里可以包含构造方法。
10.都有抽象类了为什么还要有接口
抽象类与接口紧密相关。然接口又比抽象类更抽象,这主要体现在它们的差别上:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。
11.了解GC吗?说说
GC:垃圾回收,使用 GC 可以进行垃圾空间释放操作。
GC 是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘 记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的 GC 功能可以自动 监测对象是否超过作用域从而达到自动回收内存的目的。
然后写一道编程题,给个字符串,只有(){}[],看看是否是匹配的,
用个栈直接解决了,问下优化,如果遇到右括号,在查看栈顶元素的时候如果不匹配直接返回false
还有什么要问我的吗?
结尾
我的想法是约到面试,才能从实战中提升
自己,
这次约上字节的面试是我没想到的,
时间有些仓促,很多东西没准备好,估计一面就得挂了
也仅作为一次正式面试前的练习,
熟悉熟悉面试流程,同时锻炼锻炼自己。
以上是关于秋招面试字节面试准备(一面准备)的主要内容,如果未能解决你的问题,请参考以下文章