三十四 北京国信博飞面试题
(1)自我介绍
(2)项目中你主要负责哪些部分?
(3)小文件的处理
(4)不同数据源的标准化问题,具体怎么执行的?
(5)对数据建模的理解?
(6)为什么用Sqoop导入业务数据?
(7)元数据怎么管理的?
(8)采集数据的时候针对不同的表分别是怎么处理的?
(9)除了做宽表和降维,还有哪些方法来提高查询的效率
(10)Oracle用过吗?
(11)数据中台?
三十五 知因智慧面试题
11.1 学长1
(1)自我介绍
(2) Hadoop是自己搭的吗,用的什么版本?hadoop、flume、kafka、sqoop、spark版本号
(3)多少台服务器?为什么?
(4)你们公司多少人?大数据组多少人?
(5)离线数据从哪儿来的?
(6)网站访问量多大?
(7)并发峰值多少?大概哪个时间点?
(8)加班多吗?
(9)Hadoop启动的时候都有哪些进程?
(10)namenode、datanode、secondnamenode怎么协作的?
(11)介绍一下Java中的Map?Map、set和list的区别?
(12)GC垃圾回收?
(13)HQL用的过程中对SQL的一些优化、hive 的优化?
(14)MapJoin的底层是怎么做的?
(15)小表join大表,多大的表算小表,多大算大表?为什么?
(16)SQL语句做过哪些优化?orderby、sortby区别?
(17)临时表和视图用过吗?说一下
(18)分区表用过吗?什么情况下用的?
(19)用的是动态分区吗?动态分区的底层原理是什么?
(20)分区和分桶都用了吗?
(21)场景:现在有张码表,需要很多次join,这个SQL要怎么写?用什么函数来解决这个问题,直接join不是最好的解决办法?
(22)用Spark做过什么?RDD、dataFrame、dataSet有什么区别?
(23)你是怎么理解RDD的?
(24)在Spark处理过程当中,影响执行效率的参数都有哪些?并行度你们设置的多少,输入的数据量多大?
(25)Sqoop用来做什么?Sqoop遇到哪些问题?
(26)Hive里边字段的分隔符用的什么?为什么用\t?有遇到过字段里边有\t的情况吗,怎么处理的?为什么不用Hive默认的分隔符,默认的分隔符是什么?
(27)ES怎么用的,用来做什么?为什么用ES?ES最大的优点,最适合解决什么样的问题?ES集群是几个节点?
(28) OLAP和OLTP的区别?
(29)impala用过吗,什么情况下用?知道impala为什么快吗?
(30)Hive都用过哪些引擎?Tez用的时候设置的容量有多大?设置了哪些参数?
(31)未来的规划?数据仓库、数据分析、底层维护、数据的标准化?
(32)为什么离职?期望薪水?
(33)你有什么想要了解的吗?
11.1 学长1
CTO给面试,
(1)APP40万的下载量,日活10万。
(2)你们一天数据量有多大:行为日志—10G(按1G/万人)
(3)你们的数据有多少维度:
(4)每个字段有多大:
(5)你们有多少个服务器:27台有左右
(6)Flume 4-5 Agent在后台服务器一块
(7)Kafka 4-5 和Flume Collect共用,数据保留7天
(8)ZK 3 可单独部署也可放在数据节点
(9)Hadoop 12-15 数仓(Hive分层)
(10)Spark 7-8 实时运算的
(11)你们一天数据分配到每个服务器,数据量有多大:
(12)Flume和kafka数据能达到2到3G
(13)Hadoop每台数据达到1G
三十六 考满分公司面试题
1)技术
(1)Hadoop是什么
(2)Java的特性
(3)设计模式
(4)怎么理解scala的函数式编程
(5)tcp,udp的区别
(6)网络七层和网络四层,它们的区别是什么
(7)数据库存储数据的具体文件是什么,有几种
(8)myisam和innodb的区别
(9)数据库锁的类型
(10)数据库explain和show profile的具体应用
(11)redis的五种基本类型,redis的AOF是什么,redis的sentinel哨兵模式
(12)flume有哪些组件,flume的source、channel、sink具体是做什么的(5.9)
(13)kafka的balance是怎么做的(6.18)
(14)kafka的消费者有几种模式(6.19)
(15)hadoop的块大小,从哪个版本开始是128M
(16)Hadoop数据倾斜问题(1.5.2)
(17)ETL是哪三个单词的缩写(1.3.22)
(18)RDD、DataFrame、DataSet的区别
(19)spark中driver和worker的通信框架
(20)akka和netty通信框架的区别
(21)spark算子类型,它的工作机制
(22)Linux常用命令(12.2)
(23)CentOS查看版本的命令(12.1)
(24)你对于Spark官网哪里印象比较深刻
(25)用英语介绍下Spark官网
三十七 亿联银行(石景山瑞达广场)面试题
1)技术总监面试
(1)画出项目流程图,你负责哪一块业务
(2)flume配置参数 flume每分钟产生的数据
(3)hdfs的小文件优化
(4)sparkstreaming消费Kafka的偏移量怎么维护
(5)spark的UDAF函数
(6)对hive的理解和优化策略
(7)Hive有没有自己写过UDF函数
(8)sparkstreaming的窗口函数
(9)Redis在哪用 Redis mysql的区别 为什么用Redis,如果没有redis包 该怎么打 解决办法
(10)Storm 生产上用过吗 你们提交的是全量的jar包 还是 分开 jar包有依赖包 storm里
(11) HDFS拷贝到Hive 数据做了哪些处理
三十八 洋葱科技面试题
技术总监面试
(1)Java中单例模式有哪几种 饿汉式 懒汉式 具体 哪个线程安全 不安全的怎么处理 同步锁怎么加 锁在什么时候会释放
(2)== equals的区别
(3)Scala 样例类怎么使用 Scala 上层的类是什么 (相当于Java中的Object 的类)
(4)HDFS存储很多小文件的话,会有什么影响 如何处理小文件的问题 (压缩技术的例子 压缩之后是否支持分块 )
(5)Yarn调度器
(6)描述HDFS写数据的流程
(7)Hive中使用的数据格式
(8)Hbase热点问题 读写请求会集中到某一个RegionServer上 如何处理
(9)Linux 查看端口调用
(10)SparkStreaming 哪几种方式读取kafka数据 (receiver 和 direct)
(11)SparkStreaming 读取kafka时如何保证实时数据不丢失的问题 至多 至少(数据多一点) 精确一次
(12)如果没有实现精确一次,实现至少一次 会有重复的数据进入下游MySQL数据库 如何解决
三十九 北京卓越讯通面试题
39.1 学长1
1)笔试
(1)JAVA支持的数据类型有哪些?什么事自动拆装箱?
(2)AtomicInteger和Volatile等线程安全操作的关键字的理解个使用
(3)创建线程有几种不同的方式?你喜欢哪一种?为什么?启动线程调用什么方法?
(4)什么是死锁(deadlock),如何确保N个线程可以访问N个资源同时又不导致死锁?
(5)JAVA中的HashMap的工作原理是什么?
(6)GC算法有哪些、垃圾回收器有哪些、如何调优JVM?
(7)JAVA中堆和栈有什么区别?
(8)Spring有哪些不同类型的IOC(依赖注入)方式?
(9)判断下列表达式是否相等
String a = “abc”;
String b = “abc”;
String c = new String(“abc”);
String d = “ab” + “c”;
(10)常用的spring mvc 注解有哪些?
(11)Spring 框架中的单例bean是线程安全的吗?为什么?
(12)Mysql单表数据量过大可以采取什么措施进行性能调优?
(13)请写出二叉树的遍历算法
(14)写出一个单例模式
2)面试题1
(1)pv量,数据量,集群规模
(2)ES分片
(3)Spark Streaming 特点
(4)项目组件的选择,为什么用spark streaming 不用storm
(5) ALS模型参数调优
39.2 学长2
(1)做大数据多久?
(2)用过ES、OZ吗
(3)ES集群多大?配置怎么样?服务器配置?数据量?处理速度?ES做过什么优化?主要负责那个模块?项目的架构和工作流?
(4)你们的Flume怎么做数据监听?有没有做ETL?
(5)有没有自己写过UDF函数?写的是什么UDF函数 功能?
(6) HiveSQL 转MapReduce join 实现怎么处理join关系。写程序,怎么实现两个表join
(7)数据分析有没有用过算法?
(8)在项目中主要的工作是什么
(9)整个工作流,架构的设计,集群搭建 ETL 数据展示能否独立完成
(10)协同过滤、随机森林、能不能靠自己经验完成?
(11)项目中遇到的问题 特别的 怎么解决 哪个Bug 印象最深的部分
(12) wordCount 机制
(13)MapReduce怎么解决数据均衡问题 如何确定分区号
(14)提升多少效率 ?数据倾斜 使用随机数 + key 打散 原有的key
(15)项目中使用Hive的作用?建的是外表?
(16)有没有试过OZ调度Sqoop
(17)集群的监控用的什么
(18)有没有用过HDP CDH
(19)有没有使用OZ调度hadoop任务
39.3 学长3
(1)公司的集群架构,每台部署了什么东西
(2)介绍离线数仓的架构
(3)HDFS读写流程
(4)都做了哪些需求,最难的是哪个需求
(5)离线数仓,都有什么进程
(6)HQL常用的函数,HQL调优
(7)SparkStreaming集群架构
(8)数据洪峰怎么解决
(9)最难的是哪个需求,怎么做的
(10)怎么优化的,遇到过什么故障,怎么解决的
(11)用什么采集数据库的,遇到过哪些问题
(12)为什么要用Flink
(13)做过哪些需求,那个最有难度
(14)Flink项目遇到过什么难题,怎么解决的
(15)延迟大约多少
(16)FlinkSQL了解吗?
(17)ES用过吗,架构
(18)ES规模,文件存储机制,设置几个副本
(19)Flink需求,都实现精确一致性了吗?怎么实现的,有没有什么漏洞
(20)Phoenix二级索引用法,原理
(21)某张表,分库存储的,怎么采集?可能会遇到什么问题,怎么解决?
(22)哪里用过Redis,为什么要用Redis
四十 环信面试题
(1)介绍项目,项目中用到的技术点
(2)一天10多个G的数据量使用Spark累加器是否合适
(3)myisam和innodb的区别
(4)zk的watch观察机制、选举机制
(5)mr的工作机制
(6)mr扔到集群,具体的执行过程
(7)手写Spark的WordCount
(8)Spark有哪两种算子,为什么遇到action操作的算子才会执行
四十一 和讯网面试题
和讯网面试的小伙伴注意:这家公司问得全是业务问题,面试的伙伴注意一定要把项目的业务讲好,技术一点没问。
四十二 e代驾面试题
1)笔试
有一张很大的表:TRLOG,该表大概有2T左右
CREATE TABLE TRLOG
( PLATFORM string,
USER_ID int,
CLICK_TIME string,
CLICK_URL string)
row format delimited fields terminated by ‘\t’;
数据:
PLATFORM USER_ID CLICK_TIME CLICK_URL
WEB 12332321 2013-03-21 13:48:31.324 /home/
WEB 12332321 2013-03-21 13:48:32.954 /selectcat/er/
WEB 12332321 2013-03-21 13:48:46.365 /er/viewad/12.html
WEB 12332321 2013-03-21 13:48:53.651 /er/viewad/13.html
…… …… …… ……
把上述数据处理为如下结构的表ALLOG:
CREATE TABLE ALLOG
( PLATFORM string,
USER_ID int,
SEQ int,
FROM_URL string,
TO_URL string)
row format delimited fields terminated by ‘\t’;
整理后的数据结构:
PLATFORM USER_ID SEQ FROM_URL TO_URL
WEB 12332321 1 NULL /home/
WEB 12332321 2 /home/ /selectcat/er/
WEB 12332321 3 /selectcat/er/ /er/viewad/12.html
WEB 12332321 4 /er/viewad/12.html /er/viewad/13.html
WEB 12332321 1 NULL /m/home/
WEB 12332321 2 /m/home/ /m/selectcat/fang/
PLATFORM和USER_ID还是代表平台和用户ID:SEQ字段代表用户按时间排序后的访问顺序,FROM_URL和TO_URL分别代表用户从哪一页跳转到哪一页。某个用户的第一条访问记录的FROM_URL是NULL(空值)。两种办法做出来:
A)实现一个能加速上述处理过程的Hive GenericUDF,并给出此UDF实现ETL过程的Hive SQL
B)实现基于纯Hive SQL的ETL过程,从TRLOG表生成ALLOG表:(结果是一套SQL)
2)技术部分
(1)hdfs原理,以及各个模块的职责
(2)mr的工作原理
(3)shell脚本里如何检查文件是否存在,如果不存在该如何处理?Shell里如何检查一个变量是否是空?
(4)Shell脚本里如何统计一个目录下(包含子目录)有多少个java文件?如何取得每一个文件的名称(不包含路径)
(5)哪个程序同城与nn在一个节点启动?哪个程序和DN在一个节点?如果一个节点脱离了集群应该怎么处理?
(6)列出几个配置文件优化hadoop,怎么做数据平衡?列出步骤
(7)谈谈数据倾斜,如何发生的,并给出优化方案?
(8)Hive跟hbase的区别是什么?
(9)什么是埋点?流程是什么样的?
(10)现有海量日志数据保存在一个超级大的文件中,该文件无法直接读入内存,要求从中提取出某天访问新浪次数最多的那个IP
(11)已知一个表STG.ORDER,有如下字段:Date,Order_id,User_id,amount。请给出sql进行统计:数据样例:2017-01-01,10029028,1000003251,33.57。
A)给出 2017年每个月的订单数、用户数、总成交金额。
B)给出2017年11月的新客数(指在11月才有第一笔订单)
public class Foo{
Public static void main(String[] args){
Try{
badMethod();
System.out.print(“A”);
}catch(Exception ex){
System.out.print(“C”);
}finally{
System.out.print(“B”);
}
System.out.print(“D”);
}
Public static void badMethod(){
Throw new Exception();
}
}
输出结果是什么?
A.CBD B.B C.BD D.编译失败
Public class Foo{
Public static void main(String[] args){
Integer a = new Integer(1);
Integer b = 1;
If(a == b){
System.out.println(“OK”);
}else{
System.out.println(“NO”);
}
}
}
输出结果是什么?为什么?
(12)详细描述HashMap的内部实现。
(13)分别描述ThreadLocal、Volatile、Synchronized的含义以及应用场景
(14)Redis的数据类型有什么?如何使用Redis实现分布式锁?
四十三 小麦公社面试题
(1)Scala中协变逆变的应用场景。
(2)Spark中隐式转化的应用场景
(3)Spark中基于standalone还是Yarn?计算引擎是什么?
(4)Jdk1.7hashmap怎么设计的,为什么引入红黑树?链表的查找方式和红黑树的查找方式有什么不同?
(5)Java并发安全是怎么理解的?
(6)Map和 FlatMap区别 对结果集的影响有什么不同
(7)对RDD的理解
(8)Transformation和action的区别
(9)常用的RDD?HadoopRDD MapPatitionRDD
(10)对DAG怎么理解的?怎么形成的?划分不同的stage的依据是什么?
(11)对DAGSchedular 和TaskSchedular的理解?
(12)Spark里面怎么提交job的 大概涉及到哪些类 怎么提交的
(13)Spark2.11默认的消费引擎是什么?
(14)Shuffle是一个挺消耗资源的操作,对shuffle有什么优化措施?如何避免数据倾斜?产生数据倾斜的原因是什么?什么情况下会进行重新分区?重新分区调用什么方法?如何做到既能重新分区又不产生shuffle?
(15)SparkStreaming怎么做到流式计算?工作原理是什么?DSStream是一个什么样的结构?里面有哪些对象?
(16)Kafka里面用的什么方式 拉的方式还是推的方式?如何保证数据不会出现丢失或者重复消费的情况?做过哪些预防措施,怎么解决以上问题的?Kafka元数据存在哪?
(17)在Standalone模式中Master worker driver三者是怎么协同的?程序出错了会跟谁汇报?
(18)Yarn模式下,资源是怎么分配的
(19)Hive做过哪方面的优化?Spark中怎么优化?BroadCast广播变量
(20)SparkSQL底层对catalyst做了哪些优化
(21)千万级的数据落地到MySQL中,MySQL查询比较慢,落地到ES中,检索快。
四十四 中关村在线面试题
1)笔试
(1)下面哪个操作会使数据行数变大?
A.map B.flatmap C.reduceByKey D.zipWithIndex
“sc.parallelize([(1,2),(1,3),(2,3),(2,4),(3,1)]).reduceByKey(lambda x,y:x+y).count”操作中会产生()个stage?
A.1 B.2 C.3 D.5
(2)Spark streaming 中的DStream不支持的操作是()
union B.filter C.foreach D.updateStateByKey
(3)Spark streaming中用于调试输出数据的命令是?
(4)如何减少spark运行中的数据库连接数?
(5)如何减少spark运行中的分片(partitions)数?
有日志如下,请写出代码求得所有用户和活跃用户的总数及平均年龄。(活跃用户指连续两天都有访问记录的用户)
日期 用户 年龄
11,test_1,23
11,test_2,19
11,test_3,39
11,test_1,23
11,test_3,39
11,test_1,23
12,test_2,19
13,test_1,23
(6)hbase查询一条记录的方法是什么?Hbase写入一条记录的方法是什么?
(7)HDFS如何保证数据安全性?
(8)Kafka如何保证不同的订阅源都收到相同的一份内容?
(9)写出你知道的协同过滤算法的名称。
(10)写出你知道的聚类算法和分类算法名称。
(11)现有文章若干和用户已有的文章阅读日志,请描述思路为用户推荐未读过的10篇文章
四十五 思特奇面试题
1)笔试
(1)在hadoop中定义的主要共用InputFormats中,哪一个是默认值:()
(A).TextInputFormat
(B).KeyValueInputFormat
©.SequenceFileInputFormat
(2)两个类TextInputFormat 和TextInputFormat 的区别是什么?
(3)在一个hadoop任务中,什么是InputSplit?
(4)hadoop框架中文件拆分是怎么被调用的?
(5)参考下面的MR系统的场景:
–hdfs块的大小为64MB
–输入类型为FileInputFormat
–有三个文件的大小分别是:64KB 65MB 127MB
(6)Hadoop框架会把这些文件拆分为多少块?
(7)Hadoop中RecordReader的作用是什么?
(8)Map阶段结束后,Hadoop框架会处理:Partitioning Shuffle和Sort,在这个阶段都发生了什么?
(9)如果没有定义partitioner,那数据在被送达reduce前是如何被分区的?
(10)分别举例什么情况使用cmbiner,什么情况不会使用?
(11)Hadoop中job和Tasks之间的区别是什么?
(12)Hadoop中通过拆分任务到多个节点运行来实现并行计算,但某些节点运行较慢会拖慢整个任务的运行,hadoop采用何种机制应对这个情况?
(13)流API中的什么特性带来可以使map reduce任务可以以不同语言(如Perl,ruby,awk等)实现的灵活性?
(14)有可能使HashMap任务输出到多少个目录中么?如果可以,怎么做?
(15)如何为一个hadoop任务设置mapper的数量?
(16)如何为一个hadoop任务设置要创建reducer的数量?
四十六 快看漫画面试题
1)笔试
(1)SQL中LEFT JOIN的含义是____,如果tbs_user表记录了学生的姓名(name)和学号(id),tbs_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(id)和考试成绩(score)以及考试科目(subject),要想打印出所有及格(每一天都大于60分)学生的姓名及其各科总成绩,则可以用SQL语句______.
(2)请描述hadoop2.x中HDFS的高可用架构(high availability)是如何实现的。
(3)请简要描述spark任务中的“宽窄依赖”是什么?每个spark任务的stages是怎么划分的?
(4)有一个体积较大的HDFS文件,文件每一行的格式为:作品ID,用户ID,用户性别。请用一个spark任务实现以下功能:统计每个作品中,所有不同用户的性别分布。输出格式如下:作品ID,男性用户数量,女性用户数量。
(5)实现一个方法,传入整数n这个参数,输出所有和为n的连续整数序列。
例:输入n=15,输出:
1,2,3,4,5
4,5,6
四十七 乐窗面试题
(1)HDFS中的block默认保存几份?
(2)哪个程序负责HDFS数据存储?
(3)HDFS默认Block Size
(4)集群通常最主要的瓶颈是什么?
(5)关于SecondaryNameNode哪项是正确的?
A.它是NameNode的热备
B.它对内存没有要求
C.它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间
D.SecondaryNameNode应与NameNode部署到一个节点
(6)一副牌52张(大小王已去掉),从中抽取两张牌,一红一黑的概率是多少?
(7)简述Apache原生Hadoop,CDH,HDP的区别。
(8)通过spark sql 将下表中的preservel字段拆分成2列,spark sql如何书写。
ID Ips_did preservel
1 006CFDAIB916 Time 06/20/45 item 2017155
2 HZG02GYQ Time 06/20/46 item 731462
注:preservel中的分隔字符为普通的空格。
(9)下表是班级的考试成绩表,查询班里地理成绩第2名的姓名和ID。简述查询思路,并写出SQL查询语句。
ID 姓名 课程 成绩
1 张三 地理 95
……
四十八 金和网络面试题
(1)编写表达式,判断一个正整数n是不是2的幂
(2)字符串”jhddata”的二进制哈夫曼编码有几位?
(3)请用shell脚本写出查找当前文件夹(/home)下所有的文本文件内容中包含有字符”a”的文件名称
(4)请用SQL写出商品分类表中一级分类下面所有的分类数据(描述:商品分类表中不确定有多少级,可能有2级,可能有3级,4级)表字段:id:分类id,parentid:父类id,currentlevel:处于的当前的级别,
分类id Name 父类id currentlevel
(5)请用sql写出所有用户中在今年10月份第一次购买商品的金额,表ordertable字段(购买用户:userid,金额:money,购买时间:paymenttime(格式:2017-10-01),订单id:orderid)
(6)怎样决定一个job中的map和reduce的数量
(7)简述一下MapReduce运行原理(写要点)
(8)请说一说对数据可视化的理解
(9)简要描述一下自己对以下名词ORCFile、RCFile、TextFile、SequenceFile的认识(写要点)
(10)试说明Yarn中运用程序的基本流程
(11)什么是数据倾斜,数据倾斜是怎么产生的,并给出优化方案
四十九 一下面试题
(1)hashMap和hashTable的区别。
(2)怎样实现数组的反转。ArrayList arrayList=new ArrayList();
arrayList.add(“A”);arrayList.add(“B”);
(3)请用]ava实现二分查找。
(4)描述hbase的rowkey的设计原理,
(5)hbase中compact的用途是什么,什么时候触发,分为哪两种,有什么区别。
(6)hive的sort by和order by的区别
(7)用任何一种语言书写wordcount
(8)描述一种方式解决kafka到sparkStreaming的数据重复与数据丢失问题。
(9)描述一下kmnans算法原理。
(10)jvm在gc时产生了oom你是如何解决的?
五十 造数面试题
(1)使用c语言实现一个stremp 函数
(2)什么是堆和栈
(3)unix中进程间通信的方法有哪些
(4)多进程和多线程有什么区别
(5)tcp和udp有什么区别
(6)cookie和session的区别
(7)https比较http有什么优势,缺点
五十一 言之有物面试
1)一面:
基础:
(1)Hbase的读写流程
(2)MapReduce的工作原理
(3)Zookeeper的分币式锁(如何保证其他线程来抢锁),watcher机制及实现原理(回调),临时节点(如果有锁的挂了)watcherl是pull还是poll
(4)Redis的事务控制、哨兵模式与watcher的区别(pull/poll)
(5)单到模式、工厂模式
项目:
(1)说一下项同中spark SQL的优化(写个sql项目中)
(2)数据量增加每天100万,集群需要做什么改动吗?增加节点,数据需要迁移?(我说Hadnp有个reblance)其他节点也增加。
(3)隐语义模型原理与协同过滤的区别
(4)隐代义底层如何实现只拆分成两个小矩阵
(5)ALS的原理
(6)你的有没有测试过你们设计的算记实时推荐对用户有用?
(7)离线:你们怎么知道推荐效果
(8)我们的算法的讲解(那个k次是什么,后来我们数据每周更新一次,这个k次怎么取的)
APP
(1)第二层Flume如果一个挂了,那数据还是会丢失啊
(2)手动维护offset时是消费1条就存offset到2k吗?
那2k压力不会太大吗?
(3)留存率、新鲜度昨算的,(这个需要crontab晚上跑吗?怎么实现)
(4)项目中遇到的难题(我说的移植、改原码)
算法:
(1)2亿条数据,内存有限、统计每个ip的个数,自己设计(不能用spavk,MR)
(2)满树50个长度有几个节点
(3)快排
(4)redis实现点击量top100(1000万数据量)
(5)实时实现商品堆度随时间t对用户的影响是递减的(设计一函数算法)
(6)广告的竞价
2)二面:
(1)JVM的垃圾回收为什么采用分代GC。跟语言有关系吗?
(2)Hive的HQL是如何转换为Mr的 例如 select count()from a where r》1 group by …分了几个job task。
(3)进程和线程的区别。一台机子可以分多少进程和线程。
(4)讲一下协同过滤的原理。
(5)Hbase的原理 regionserver挂了 如何恢复数据 ?新的数据从Hlog里读出来是如何恢复的?
(6)一天的数据量,每天的用户量。
(7)列式存储和行级存储的区别
(8)Hadoop的分片机制 为什么进行分片 有啥好处 是基于什么原理分片的
五十二 在线途游(途游游戏)
52.1 学长1
1)Linux篇:
vi命令:
(1)批量替换:
(2)删除4行:
(3)粘贴:
定时任务:脚本start.sh每月1日早六点执行:
2)JAVA 篇:
(1)ArrayList、LinkedList 区别:
(2)HashMap、TreeMap区别:
3)Hadoop 篇:
(1)Hive + Hbase整合表中,多个Hive表能否映射一个Hbase 表。简单说明
(2)列举几个常用的Spark算子:transformation、action:
(3)Flume三大组件是?作用是什么?列举用过的组件?
4)ELK扁:
Elasticsearch官方维护的组件有哪些,分别有什么作用,简单列举:
Elasticsearch中关联查询如何实现?
5)应用篇:
现有登求日志——login:
user_id、record_id、device_id、event_time、ip_addr、app_id
user_id:用户唯一标识;
record_id:日志记录ID,全局唯一;
device:用户设备号,例,mi:7762089
event_tme:登录时间;
ip_addr;登水IP;
app_id:登录的app编号;
说明:日志量2亿条,包含3个月的日志:
新表结构[分区表]:
表名:login_desc
分区:day:日期
列:
user_id:用户唯一标识;
record_id:日志记录ID,全局唯一
device_name:用户设备厂商,例:mi:7762089中mi;
device_id:用户设备编号,例:mi:7762089中7762089为设备编号
event_time:登录时间;
ip_addr:登录IP;
app_id:登录的APP编号;
(1)将这部分日志导入新表,写出数据导入SQL;
(2)由于上传日志时重试的关系,导致数据有重复,可根据record_id去重,请写出去重SQL语句;
(3)统计各APP中,DAU TOP10的手机厂商;
备注:DAU是每日活跃用户数
52.2 学长2
整个面试过程和轻松、主要问了一下集群规模,集群类型Apache还是CDH.是否参与过集群的措建。关于技术方西的较少,主要是问了hadoop的namenode.2NN.hafs的文件 上传等。
五十三 东方国信
53.1 学长1
Hadoop工程师笔试题(金融事业部)
1)技术基础题(共十题,每题5分)
(1)列举在Linux系统下可以在看系统各项性能的工具(区分CPU、内存、硬盘、网络等)
(2)HDFS写入数据的实现机制
(3)Yarn支持的调度器及管理硬件资源种类
(4)如何决定一个job的map和reduce的数量
(5)在map、reduce 迭代模型中,如何实现数据去重
(6)简单描述HBase的rowkey设计原则
(7)HBase海量历史数据入库方案
(8)Hive中内部表与外部表的区别
(9)Hive中UDF、UDAF、UDTF的区别
(10)Spark Job运行架构
2)场景设计题(共二题,每题10分)
假设海量小文件使用HBase进行管理,要求对一批文件进行批量存储,并支持对单文件进行更新操作,保留历史版本信息。查询时可根据批次号获取该批次的全部文件内容,也可根据文件标识可获取单文件内容,支持最新版本及所有版本查询。根据业务场景,设计HBase存储方案。
53.2 学长2
大数据工程师笔试题
1)理论题
(1)HDFS的存储机制是什么?
(2)mapreduce的工作原理,请举个例子说明mapreduce是怎么运行的?Combiner的作用?
(3)简单介绍对Hadoop的理解,包括系统架构和Hadoop整个生态系统,详细介绍工作中曾用到过的?
(4)对流式计算storm的认识?其与Spark streaming有何区别?项目中应用到storm的应用场景简介。
2)实践题
(1)利用Spark或者mapreduce或者hive(要求建表)编写搜索日志分析:用户在0点12点对各个APP的搜索量。搜索日志存放路径为/input/data.txt.文件用竖线分割,第一列为时间字段,第三列为APP名称。字段名及字段类型可自己定义。
日志内容如下:
00:00:0012982199073774412|[网易新闻]|8|3
00:01:00|0759422001082479|[今日头条|1|1
13:01:00|2982199073774412|[网易新闻]|1|1
14:30:00|07594220010824791|今日头条]1|1
(2)现有图书管理数据库的三个数据模型如下:
图书(数据表名:BOOK)
序号 字段名称 字段描述 字段类型
1 BOOK_ID 总编号 文本
2 SORT 分类号 文本
3 BOOK_NAME 书名 文本
4 WRITER 作者 文本
5 OUTPUT 出版单位 文本
6 PRICE 单价 数值(保留小数点后2位)
读者(数据表名:READER)
序号 字段名称 字段描述 字段类型
1 READER_ID 借书证号 文本
2 COMPANY 单位 文本
3 NAME 姓名 文本
4 SEX 性别 文本
5 GRADE 职称 文本
6 ADDR 地址 文本
借阅记录(数据表名:BORROW LOG)
序号 字段名称 字段描述 字段类型
1 READER_ID 借书证号 文本
2 BOOK_D 总编号 文本
3 BORROW_ATE 借书日期 日期
(1)创建图书管理库的图书、读者和借阅三个基本表的表结构。请写出建表语句。(Oracle实现)
(2)找出姓李的读者姓名(NAME)和所在单位(COMPANY)。(Oracle 实现)
(3)查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。(Oracle实现)
(4)查找价格介于10元和20元之间的图书种类(SORT)出版单位(OUTPUT)和单价(PRICE),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。(Oracle 实现)
(5)查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。(Oracle实现)
(6)求”科学出版社”图书的最高单价、最低单价、平均单价。(Oracle实现)
(7)找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。(Oracle实现)
(8)考虑到数据安全的需要,需定时将“借阅记录”中数据进行备份,请使用一条SQL语句,在备份用户bak下创建与“借阅记录”表结构完全一致的数据表BORROW_LOG_BAK.井且将“借阅记录”中现有数据全部复制到BORROW_1.0G_ BAK中。(Oracle实现)
(9)现在需要将原Oracle数据库中数据迁移至Hive仓库,请写出“图书”在Hive中的建表语句(Hive实现,提示:列分隔符|;数据表数据需要外部导入:分区分别以month_part、day_part 命名)
(10)Hive中有表A,现在需要将表A的月分区 201505 中 user_id为20000的user_dinner字段更新为bonc8920,其他用户user_dinner字段数据不变,请列出更新的方法步骤。(Hive实现,提示:Hlive中无update语法,请通过其他办法进行数据更新)
7.SQL优化题
(1)SELECT TAB_NAME FROM TABLES WHERE TAB_NAME =
(SELECT TAB_NAME FROM TAB_COLUMNS WHERE VERSION=604)AND DB_VER=(SELECT DB_VER FROM TAB_COLUMNS WHERE VERSION = 604),
考虑到过多子查询造成SQL性能下降,请针对上述SQL.语句进行优化,提升执行效率(Oracle实现)
UPDATE EMP SET EMP_CAT =(SELECT MAX(CATEGORY)FROM EMP_CATEGORIES),SAL_RANGE=(SELECT MAX(SAL RANGE)FROM EMP_CATEGORIES)WHERE EMP_DEPT = 0020,在含有子查询的SQL语句中,过多对表的查询会造成SQL性能下降,请针对上述SQL.语句进行优化,提升执行效率(Oracle实现)
EMP表数据量很大,user_id存在空值,以下语句会造成数据处理结果存储倾斜,请提供优化策略解决数据倾斜问题。(注:数据倾斜由关联字段空值引起,Hive实现)
SELECT* FROM EXP A JOIN DEPT B ON A.USER_ID= B.USER_ID
(2)Hbase 常用基本命令,创建表,添加记录,查看记录,删除记录。
五十四 中企动力
(1)Hive的原理,hiveSQL底层实现的过程
(2)Hbase的原理,hbase的预分区是如何实现的rowkey的设计
(3)Offset的保存,为啥用高级api
(4)任务调度的命令
(5)大数据组几人,他们的背景如何(上家公司,哪的人,多大)
五十五 方正
数据挖掘工程师笔试题
1)请简述你做过的一个数据挖掘/数据分析相关的项目,包括对项目概述(M决了什么问题)、你在其中负责完成的主要内容及(计算)方法、项目过程中遇到了什么问题及解决办法。选答:项目完成后的心得体会。
2)根据下列场景,任选其中一种进行阐述:
(1)假设你是淘宝某服装店的负责人,目前你有长达年的各个客服与客户的线上聊天记录,从这些文字记录中你可以分析出什么样的内容,这些内容分别对应的目的是什么(可以解决什么问题),选答:用什么分析方法(算法),
(2)如果你是某市交通部门的负责人,目前你有长达一年的各种交通大数据集,包括出租车GPS数据,地铁刷卡数据,公交车刷卡数据,公交车GPS数据等等,从这些数据中你可以分折出什么样可以服务于政府各部门(提升政府管理、公共服务水平等)的内容。选答:用什么分析方法(算法)。
(3)降维的方法有哪些?如何提高机器学习中的预测精度、分类准确率?如何评估模型是否理想?
3)请描述你对于该岗位胜任的优势之处(包括但不限于业务能力),并针对特优势做详细说明。
五十六 东方金信
1)Hadoop部分
一、单选题
1.下面哪个程序负责HDFS数据存储。
a)NameNode bllobtracker c)Datanode d)secondaryNameNode e)tasktracker
2.HDIS中的block 默认保存几份?
a)3份b)2份c)1份
d)不确定
3.下列哪个程序通常与NameNode 在一个节点启动?
a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker
4.HDFS默认Block Size a)32MBb)64MB c)128MB
5.下列哪项通常是集群的最主要瓶颈
a)CPU b)网络c)碰盘d)内存
6.关于SecondaryNameNode哪项是正确的?
a)它是NameNode的热备
b)它对内存没有要求
c)它的目的是帮助NameNode合并编辑日志,减少NameNode 启动时间d)SecondaryNameNode应与Name
二、多选题:
7.配置机架感知的下面哪项正确
a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的DataNode中c)MapReduce会根据机架获取离自已比较近的网络数据
8.Client端上传文件的时候下列哪项正确
a)数据经过NameNode 传递给DataNodeb)Client端将文件切分为Block,依次上传c)Client只上传数据到一台DataNode,然后由NameNode 负责Block 复制工作
9.下列哪个是Hadoop运行的模式
a)单机版
b)伪分布式
c)分布式
三、判断题:
1.Block Size是不可以修改的。()
2.Nagios不可以监控Hadoop集群,因为它不提供Hadoop支持。()
3.Hadoop是Java开发的,所以MapReduce只支持Java语言编写。()
4.Hadoop支持数据的随机读写。()
5.NameNode负责管理metadata,clent端何次读请求,它都会从磁盘中读取成则会司入metadata信息非反馈clent幅、(
6.NameNode本地磁盘保存了Block 的位说信息。()
7.Hadoop自身具有严格的权限管理和安全措施保障集群正常运行。()
8.Slave节点要存储数据,所以它的磁盘越大越好。(>
9.hadoop dfsadmin-report命令用于检测HDFS损坏块。()
10.Hadoop默认调度器策略为FIFO()
11.集群内每个节点都应该配RAID,这样避免单磁盘损坏,影响整个节点运行。()
12.因为HDFS有多个副本,所以NameNode是不存在单点问题的。()
13.Mapreduce的input split就是一个block.()
14.Hadoop环境交量中的HADOOP HEAPSIZE用于设置所有Hadoop守护线程的内存。它默认是200GB.()
15.DataNode首次加入cluster 的时候,如果log中报告不兼容文件版本,那需要NameNode执行"Hadoop namenode-format"操作格式化磁盘。()
SQL部分
已知数据库中有以下表:student(s#,sname,sage,ssex)学生表course(c#,cname,t#)
课程表
sc(s#,c#,score)
成绩表
teacher(t#,tname)
教师表
且表结构为:
create table student
(
S# int,
sname varchar(32),
sageint,ssex varchar(8)
);
create table course
C# int,
cname varchar(32),
t# int
);
create table sc
(
S# int,
C# int,
score int
);
create table teacher
(
t# int,
tname varchar(16)
);
请写出以下查询的SQL语句:
1)查询“001"课程比*002”课程成绩高的所有学生的学号:
2)查询平均成绩大于60分的同学的学号和平均成绩:
3)查询所有同学的学号、姓名、选课数、总成绩:
4)查询出只选修了一门课程的全部学生的学号和姓名:
5)
查询有两门或两门以上课程成绩小于60分的学生学号、姓名、不及格课程名称、分数:
6)查询没学过“叶平”老师课的同学的学号、姓名:
7)查询同时选修了“001”和“002”两门课的学生学号和姓名:
8)查询任何一门课程成绩在70分以上的姓名、课程名称和分数:
9)查询各科成绩最高和最低的分:以如下形式显示:课程id,最高分,最低分:
10)
查询“001”和“002”课程成绩第4名到第10名的学生学号、姓名、课程名称和成绩;
大数据工程师笔试题
2)数据库题目
1)已知表T1中有2行数据,72中有3行数据,执行语句"selecta."fromTla,T2b"后,返回的行数为_
A、2行B、3行C、S行D.6行
2)
已知表T1和T2的字段定义完全相同,T1,T2中各有5条不同的数据,其中T1有2条数据存在于表T中执行语句"select。from T1 union all select。fromT2返回的行数为_____
A、8行B、10行C、3行D、12行
3)SQL语句优化的策略都有哪些?
4)什么是事务?什么是锁?
3)Hadoop题目
1)创建HDFS目录/user/user1:
2)上传文件test1.txt到/user/user1下:
3)查看/user/user1/test1.txt内容:
4)为文件/user/user1/test1.txt授权为rWXr-Xr-X:
5)在Hive中,查看表member详细描述信息:
6)在Hive中,向表member中插入一条记录,其中id=a,age=24:
7)浏览HBase的表member中的所有数据:
8)在HBase中,从表member中获取rowkey=a,列族=info 的所有数据:
9)以下组件的默认端口号是多少?
HDFS web:resourcemanager web:HiveServer2 thrift:hive metastore.uris:kafka broker:spark web:
10)请简述你认为什么样的情况下使用HBase?什么样的情况下使用Hive?
11)请简述Hadoop怎样实现二级排序?
五十七 四维图新
(1)了解的推荐算法、项目上用到的算法,原理,
(2)是否会设计推荐模型
(3)讲一下Hbase,Hbase二级索引用过吗?
(4)rowkey的设计原则
(5)你们的实时业务怎么实现的
(6)说一下知道的数据结构
(7)spark的提交job的流程
(8)说一个服务器的分布情况,数据量多大
(9)spark的开发过程中有遇到什么问题吗?
五十八 网库
(1)spark hive的调优
(2)spark提交流程
(3)RDD是什么 有啥好处
(4)mr的shuffle
(5)推荐系统讲解。App的项目架构讲解
(6)ZK的选举机制
(7)ES
(8)ALS算法讲解 协同过滤 kmeans 线性回归 逻辑回归。
(9)还会什么推荐算法
(10)如何建模
(11)如何抽取产品的维度
(12)ALS中的参数是如何确定的
(13)未来的发展规划
(14)了解贝叶斯公式吗 傅立叶函数 都是干啥的
注意:网库的话 大家看一下机器学习的算法 和推荐
五十九 巧达科技
(1)二分法 快排
(2)一个大的文件 实现不同的key进行不同的操作(数据处理分析)不用现成的框架 使用多线程的思想实现
(3)一个文件一个线程读 多个线程写 阻塞队列
(4)Hadoop保存文件的特性 :分片 备份
(5)spark的原理
(6)宽窄依赖
(7)shuffle 什么时候进行
(8)spark开发遇到的困难
(9)集群部署
(10)如何处理数据倾斜
(11)一个线程负责读,假设读的速度很快,然后交给其他线程,组成阻塞式消息队列(类似于Kafka)
(12)一般队列和阻塞式队列的区别
六十 作业盒子的面试题
(1)写一个sql将每个月的top3 取出来 我用了三个子查询做出来不行
(2)讲一下最近做的项目
(3)还有项目的session字段
(4)项目中的如何分辨数据(错误日志,正确日志)
(5)Hive中的表的创建(项目中的表如何构建,创建的字段的组成)
(6)Hive的优化,mysql的优化
(7)Scala的算子的实际用法,场景
六十一 宝兰德
答题须知:
1、笔试时间为30分钟;
2、请保持试题整洁,将答案写到答题纸上;
3、笔试题目请独立完成,不要使用任何参考书,不要请其他人协助完成;
4、答题完成后,请将答题纸和试卷本身均交给工作人员。
一 单选题(每题3分)
1、下面代码的运行结果是()
public class Test{
List a = null;
test(a);
System.out.println(a.size());
}
public static void test(List a){
a = new ArrayList();
a.add(“abc”);
}
A 0
B 1
C NullPointerException
D 以上都不是
1.下面代码的运行结果是()
public class Test{
public static void main (String [] args){
int x = 2;
int y = 3;
System. out. print(xly);
System. out. print(",");
System. out. print(x&y);
System. out. print(",");
System. out. print(x^ y);
System. out. print(",");
System. out. print(ly<
System. out. print(~x);
}
}
A 3,2, 1, 12,-3
B 1,1,,12,1,4
C 3,2,0,12,-5
D 2,2,1,8,-3
2.下面代码的运行结果是()
public class Test {
public static void main (String [] args){
Test t = new Test();
System.out.println(t.value);
}
}
public String value{
int a = 5;
try{
throw new Exception();
}catch{
return “a=” + a;
}finally{
a = 7;
System.out.println(“a=” + a);
}
}
A a=5 b=7
B a=7 b=5
C a=5 b=5
D a=7 b=7
3.如下代码实现存在何种缺陷()
try{
FilelnputStream fis = new FilelnputStream(new File(“in.dat”); FileOutputStream fos = new FileOutputStream(new File(“out,dat”);
byte[] buffer = new byte[1024];
int offset = 0; remain=0;
int ret=0;
wlile((ret =fis.read(buffer))!=0){
fos.write(buffer,0,ret);
}
fis.close();
fos.close();
}catch(Exception e){
e.printStackTrace();
}
A 不存在任何缺陷
B 出现文件句柄泄露
C 死循环
D 出现文件句柄泄露并且抛出异常
5.如果我们指定了throw object:但该object不是Throwable 对象,下面说法正确的是()
A.throw 将是有效的
B.该参数将转换为Throwable对象,然后执行该语句
C.编译器将指出一个错误
D.它将引发一个异
6.下面代码执行的输出结果是()
public class Parent {
static int a= 1;
static
{
a = 10;
System.out.print(“1”);
}
public Parent() {
System.out.print(“2”);
}
public static void main(String[]args)
{
System.out.print(“3”);
Parent c = new Child();
}
}
public class Child extends Parent {
static int a=2;
static{
a=20;
System.out.print(“4”);
}
public Child(){
}
}
A . 1324
B.1342
C.3124
D.3142
7.下面关手锁的描过错误的是()
A.synchronized 可以给对象加锁
B.带有同部代码的程序发生异常,会释放锁
C.sleep()方法会释放锁
D.wait()方法会释放锁
8.已知一个多线程为myThread,除run方法外还包含一个方法void disp()。以下说法正确的是()
A. myThread mt = new myThread();mt.start();mt.disp();运行完线程体 run方法后再运行disp()方法
B. myThread mt = new my Thread();mt.disp();mt.start();运行完disp()后才能启动线程体run
C. myThread mt = new myThread();mt.start();mt.disp();线程体run一定会在disp结束前结束
D. myThread mt = new myThread();mt.start();mt.disp();mt.start()和mt.disp()两条命令,哪条放在前面哪条放在后面运行结果一样。
9.哪种引用类型适用于缓存机制()
A.强引用
B.软引用
C.弱引用
D.幽灵引用
10. 关于内部类,说法错误的是()
A.匿名内部类可以继承其它类
B匿名内部类不能有构造函数
C.内部类中不允许定义静态变量
D.内部类有一个指向其外部类对象的引用
11. Class的常量池放在哪个JVM内存区域()
A.新生代
B.虚拟机栈
C.本地方法栈
D.方法区
12. 关于HotSpot垃圾回收器,下述说法错误的是()
A.堆分为新生代和老年代
B.新生代分为Eden和Survivor区
C.采用引用计数算法
D.采用分代回收算法
13.Java序列化,下述说法错误的是()
A. 静态变量序列化时不保存
B. Transient修饰的字段序列化时不保存
C. 基类方法的Signature改变后,子类的序列化ID发生变化
D. 反序列化后,对象的构造函数不被调用
14. Linux下查看进程占用的CPU的百分比,使用工具()
A. ps
B. cat
C. more
D. top
15.下面程序的运行结果()
public static void main(String[] args) {
int num1 =0;
int num2 =0;
int num3 =0;
int num4 =0;
int num5 =0;
for (int i = 0; i < 5; i++) {
switch(i){
case 1:num1++;
case 2:num2++;
case 3:num3++;
case 4:num4++;
case 5:num5++;
}
}
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
System.out.println(num5);
}
A. 4 4 4 4 4
B. 1 2 3 4 4
C. 1 1 1 1 0
D. 1 2 3 4 5
18. JVM内存里的哪个区域不可能发生OutOfMemaryError?()
A 程序计数器
B 堆
C方法区
D本地方法栈
19. 下面关于阻塞队列(java.util.concurrent.BlockingQueue)的说法不正确的是()
A 阻塞队列是线程安全的
B 阻塞队列的主要应用场景是“生产者-消费者”模型
C 阻塞队利里的无素不能为null
D阻塞队列的实现必须显式地设置容量
20.如果现在需要创建一组任务,它们并行地执行工作,然后在进行下一个步骤之前等待,直至所有任务都完成;而且这种控制可以重用多次。这种情形使用java.util.concurrent包引入的哪种同步工具最合适?()
A CountDownLatch
B CyclicBarrier
C Semaphore
D FutureTask
二、问答题
1.在JAVA中,为什么基类型不能作为HashMap的键值,而只能是引用类型,把引用类型作为HashMap的键值,应该注意哪些地方?(7分)
2.编写一个工具类StringUtil,提供方法int compare(char[] v1, char[] v2) 方法,比较字符串v1,v2,如果按照字符顺序v1>v2则return1,v1=v2则return 0,v1
4.Java出现OutOfMemoryError(OOM错误)的原因有哪些?出现OOM错误后,怎么解决?(16分)
六十二 金证科技
请尽可能彩地回答以下问题,以使我们能更多的了解您
一、JAVA相关
1、解释一下Map与List区别(10分)
2、请说出你所知道的线程同步的方法。(10分)
3、请描述下 spring mvc工作原理(10分)
4、请画出装饰模式类图以及类描述。(10分)
二、HTML、Javascript相关
1.请看下列hml代码,请画出这段代码在浏览器中的大致显示效果。(10分)
三、数据库相关
问题描述:有如下几张表
客户信息表:
create table CLIENT
(
CLIENT_ID VARCHAR2(18),–客户号
BRANCH_NO NUMBER(10),–营业部号
CLIENT_NAME VARCHAR2(60),–客户姓名
CLIENT_SEX CHAR(1),–客户性别
OPEN_DATE NUMBER(10),–开户日期
)
客户资料扩展表:
create table CLIENTINFO
(
CLIENT_ID VARCHAR2(18),–客户号
E_MAIL VARCHAR2(64),–EMAIL
FAX VARCHAR2(32),–传真
MOBILE_TEL VARCHAR2(24),–手机号码
)
委托表:
create table ENTRUST
(
CLIENT_ID VARCHAR2(18),–客户号
INIT_DATE NUMBER(10),–委托日期
EN’TRUST_NO NUMBER(10),–委托流水号
STOCK_CODE VARCHAR2(6),–股票代码
ENTRUST_AMOUNT NUMBER(19,2),–委托数量
ENTRUST_PRICE NUMBER(9,3),–委托价格
)
已知:
1、CLIENT与CLIENTINFO是一一对应的关系
2、CLIENT与ENTRUST是一对多的关系
3、日期数据的格式均为201107类似格式
按照要求实现下列SQL语句:
1、写出查询今年开户的客户号和姓名(10分)
六十三 北大英华
一、选择题(单、多选)
1.下面哪个程序负责HDFS数据存储 ()
a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker
2.下列哪个程序通常与NameNode在一个节点启动()
a) SecondaryNameNode b)DataNode c)TaskrTracker d)Jobtracker
3.下列哪项通常是集群的最主要瓶颈()
a)CPU b)网络c)磁盘d)内存
4.关于SecondaryNameNode 哪项是正确的?()
a)它是Namewode的热备
b)它对内存没有要求
c)它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间
d)SecondaryNameNode应与NameNode 部署到一个节点
5.有关hashMap 跟hashTable 的区别,说法正确的是()
a) hashMap和hashTable都实现了Map接口
b)HashMap是非synchronized,而HashTable是synchronized
c)HashTable 使用Enumeration,HashMap使用Iterator
d)HashTable直接使用对象的hashcode,HashMap重新计算hash值,而且用与代替求模
6.以下说法正确的是()
a)对于局部内部类,不能在class前加任何修饰符(public default private protected)来修饰
b)只要没有定义不带参数的构造函数,JVM都会为类生成一个默认的构造函数
c)向上转型中,父类与子类拥有相同名字的普通方法时,访问的是子类的成员方法
d)单例模式中类的构造方法使用private修饰,声明为私有,这样就不能在类的外部使用new关键字来创建实例对象
7.在JAVA中关于抽象类的描述正确的说()
a)抽象类可以被实例化
B)如果一个类中有一个方法被声明为抽象的这个类必须是抽象类
c)抽象类的方法必须是抽象的
d)声明抽象类必须带有abstract关键字
8.Client 端上传文件的时候下列哪项正确
a)数据经过NameNode传递给DataNode
b)Client 端将文件切分为Block,依次上传
c)Client 只上传数据到一台Datalode,然后由NameNode负责Block复制工作
9.以下说法正确的是()
a)Hadoop是Java 开发的,所以MapReduce只支持Java 语言编写
b)Hadoop 支持数据的随机读写
c)Ganglia 不仅可以进行监控,也可以进行告警
d)Block Size 是不可以修改的
10.下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:
byte[] src,dst;()
a)dst=String.fromBytes(src,“GBK”).getBytes(“UTF-8”)
b)dst=new String(src,“GBK”).getBytes(“UTF-8”)
c)dst=new String(“GBK”,src).getBytes()
d)dst=String.encode(String.decode(src,“GBK”)),"UTF-8)
11.以下说法正确的是()
a)Slave 节点要存储数据,所以它的磁盘越大越好。
b)Hadoop默认调度器策略为FIFO
c)Mapreduce的input split 就是一个block
d)集群内每个节点都应该配RAID,这样避免单磁盘损坏,影响整个节点运行
12.以下关于kafka的说法正确的有()
a)producer向broker发送事件
b)consumer从broker消费事件
c)事件由topic区分开,每个consumer都会属于一个group
d)相同的group中的consumer不能重复消费事件,而同一事件将会发送给每一个不
同group的consumer
13.下面哪个操作肯定是宽依赖()
A. map B. flatMap C. reduceByKey D. sample
14.下面哪个端口不是spark自带服务的端口()
A. 8080 B.4040 C.8090 D.18080
15.下面哪个是spark的action操作
a) map b) collect c)filter d)countByKey
16.以下说法错误的是()
a)启动一个新线程是直接调用run()方法
b)CyclicBarrier和CountDownLatch都可以用来让一组线程等待其它线程
c)如果手动结束一个线程,可以用volatile布尔变量来退出run()方法,循
环或者是取消任务来中断线程
d)wait和notify方法要在同步块里掉用
17.hive的元数据存储在derby 和 MySQL 中有什么区别()
A.没区别 B.多会话 C.支持网络环境 D.数据库的区别
18.Spark默认的存储级别()
A MEMORY_ONLY B MEMORY_ONLY_SER
C MEMORY_AND_DISK D MEMORY_AND_DISK_SER
19.Spark中Stape的Task的数量是由什么决定的()
A Partition B Job C Stage D TaskScheduler
20.以下代码运行输出是()
public class Person{
private String name = “Person”;
int age = 0;
}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p = new Child();
System.out.println(p.name);
}
}
A)输出:Person
B)没有输出
C)编译出错
D)运行出错
二,简答部分
1.scala中的隐式函数的关键字?
2.Hbase如何优化的?
3.hadoop中的combine函数的作用?
4.hadoop如何杀死一个job?
5.spark血统的概念?
6.写出在base shel1中的命令:
a)hbase中查询表名为test,谁的值=001
b)hbase中查询表名为test,rowkey为userl开头的
六十四 中金惠民
(1)kafka中learder的选举机制?
(2)scala柯里化的理解?
(4)hbase表的设计有哪些注意点?
(5)topn怎么实现?
六十五 海致网络
算法1:以下road二维数组代表一张地图,其中1表示有路可走,0表示无路可走,路的入口位于0,0位置,出口位于二维数组的最后一个元素,寻路时只能向右或向下两个方向走,请实现方法def hasWay(road:Array[Array[int]]):Boolcan(语言不限),用于判断给定的road是否存在一条可以走通的路(从入口向右或向下走,可以走到出口)。
//此road中存在一条可以走通的路
var road = [
[1, 0, 0],
[1, 1, 0],
[0, 1, 1]
];
六十六 开天创世
(1)画图讲解spark工作流程,以及在集群上和各个角色的对应关系
(2)spark哪些算子操作涉及到shuffle
(3)spark性能优化主要有哪些手段
(4)map-reduce程序运行的时候会有什么比较常见的问题
(5)hadoop和spark的shuffle过程,你怎么在编程的时候注意避免一些性能问题
(6)hadoop的TextInputFormat作用是什么,如何自定义实现
(7)有哪些数据倾斜,怎么解决
(8)有订单数据表server_id(服ID)、role_id(角色ID)/money(充值金额)统计每个服中累计充值金额排名前3的角色ID与总充值金额分别使用HIVE SQL、Spark算子实现
六十七 方正国际
(1)大多公司不用Hive了,用Impala
Impala:新型查询系统,提供SQL语义,能查询存储再HDFS和HBase中的PB级大数据。
最大卖点是相比较于Hive得快速
(2)HBase与mysql得区别
六十八 智慧图
1)画出自己工作主要参与的业务架构和技术架构并标注自己实现的部分
要求:写出大数据相关系统的版本号
2)有50万个不重复的整数,从中随机取出不重复的10万个整数。
要:执行时间尽可能少,代码实现(开发语言不限,不要求用MR方式解决)
3)举例一个工作中的业务场景,描述MR的过程
4)kafka或flume运行机制及设计实现描述
5)统计一个月的日志,根据日志中的用户id 统计uv和新增的uv。每月第一天新增的uv,等于当天的uv;第二天的新增uv等于二天的uv排除第一天的uv;第三天新增的uv等于第三天 的uv排除前两天的uv。
要求:内存中无法存储整月id的uv进行排重处理,导致io调用频繁。如何优化?画图描述优化此业务的处理过程。
6)Linux常用过的命令及参数。(排除一下命令cd ls vi)
要求:命令不少于3个,每个命令至少2个参数描述
六十九 中体骏彩
1.HDFS 客户端首先下面哪个程序扶取数据信息()
a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker
2.HDfS中的block 默认保存几份()
a)3份b)2份c)1份d)不确定
3.下列哪个程序通常与NameNode 在一个节点启动()
a)SecondaryNameNode b)DataNode cTaskTracker dlobtracker
4.Client端上传文件的时候下列哪项正确()
a)数国经过NameNode 传递给DataNode
b)Client瑞将文件切分为Block.依次上传
c)Client只上传数据到一台DataNode,然后由NameNode 负责Block 复制工作
5.下面与HDFS类似的框架是()
a)TFS b)T32
c)GFS d)EXT3
6.下列哪项通常是集群的最主要瓶颈()
a)CPU b)网络 c)磁盘 IO d)内存
7.关于SecondaryNameNode哪项是正确的()
a)它是NameNode的热备
b)它对内存没有要求
c)它的目的是帮助NameNode 合并编辑日志,减少NameNode 启动时间
d)SecondaryNameNode应与NameNode部署到一个节点
8.配置机架感知的下面哪项正确()
a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的DataNode中
c)MapReduce会根据机架获取离自己比较近的网络数据
9.HBase来源于哪篇论文()
A)TheGoogle File System
B)MapReduce
C)BigTable
D)Chubby
10.HBase数据存储底层是()
A)HDFS
B)Hadoop
C)Memory
D)MapReduce
11 HBase消息通信机制是()
A)Zookeeper
B)Chubby
C)RPC
D)Socket
12下面些选项正确描述了HBase的特性()
A)高可靠性 B)高性 C)面向列 D)可伸缩
13 LSM含义是()
A)日志结构合并树
B)二叉树
C)平衡二叉树
D)长平街二叉树
14、下面对LSM结构描述正确的是()
A)顺序存储
B)直接写硬盘
C)需要将数据flush到磁盘
D)是一种搜索平衡树
15 LSM结构的数据首先存储在()
A)硬盘上
B)内存中
C)磁盘阵列中
D)闪存中
16.HFle数据格式中的DaA)字段用于()
A)存储实际的KeyValue数据
B)存储数据的起点
C)指定字段的长度
D)存储数据块的起点
17.HFile数据格式中的KeyVaue 数据格式中Value部分是()
A)拥有复杂结构的字符串
B)字符串
C)二进制数据
D)压缩数据
18.关于HBase二级索引的描述,哪些是正确的()
A)核心是倒排表
B)二级索引概念是对应Rowkey这个“一级”索引
C)二级索引使用平衡二叉树
D)二级索引使用LSM结构
19.下列关于Bloom Filter 的描述正确的是()
A)是一个很长的二进制向量和一系列随机映射函数
B)没有误算率
C)有一定的误算率
D)可以在Bloom Flter中删除元素
20.请列出hadoop的进程名称和其功能
21.一个datanode宕机,怎么一个流程恢复
22.用mapredce怎么处理数据倾斜问题
23.hive内部表和外部表的区别,生产环境中为什么建议使用外部表
24.Spark应用执行的流程流程
七十 航天信息
6.写出Spark经典算法wordcount伪代码(java scala python均可)(5分)
一、数据库部分(共10分)
1、设学生表和课科表的结构分别为(学号,姓名)和(学号,课程号,成绩).如果希望查询出“成境大于90分的学生姓名”。则对应的SOL请句是( )。(2分)
A、SELECT姓名FROM学生表WHERE学生表.学号一课程表.学号AND课程表.成绩>90
B、SELECT姓名FROM课程表WHERE学生表.学号=课程表.学号AND课程表.成绩>90
C.SELECT姓名FROM学生表,课程表WHERE学生表.学号=课程表.学号OR课程表.成绩>90
D.SELECT姓名FROM学生表,课程表WHERE学生表.学号=课程表.学号AND课程表.成绩>90
2、执行数据库查询时,如果查询的数据很多,下面喝线办法是提高在询效率( )(4分)
A 采用连接池,增加数据库执行线程
B 反复使用PreparedStatement.成少查询次数
C 增加数据库缓冲区,提高数据库I/O方面性能
D 建立索引
3.有一下每门课程都大于80的学生姓名:学生表stulent 分数长grade(4分)
二、简答题(40分)
(1)现有集合A(集合学段为 Jxfp id,gf nsr_ key,je,se),B(集合字段为jxfp_id, gf_nsr_key, wpmc).两个集合的关联字段为jxfp_id,请计算集合C(C-A-B)(5分)
(2)请完成下面的方法,该方法的目的是采用递规的方式计算结果 (5分)
public static double recursive(int i){
}
(3)简述HDFS的主要功能节点及其作用(0分)
(4)解释一下工厂模式(5分)
(5)简述MapReduce框架的三大主要功能节点及其作用?(10分)
七十一 嘉联支付
1、数学竟赛后,小明、小华和小强鲁获得一枚奖牌,其中一人得金牌,一人得银牌,一人得铜牌。老师猜测:“小明得金牌,小华不得金牌,小强不得铜牌。”结果老师只猜对了一个,那么谁得金牌,谁得银牌,谁得铜牌?()
A、小明得金牌,小强得银牌,小华得铜牌。
B、小华得金牌,小强得银牌,小明得铜牌。
C、小强得金牌,小华得银牌,小明得铜牌。
D、小明得金牌,小华得银牌,小强得铜牌。
2、从所给的四个选项中,选择最合适的一个填入问号处,使之呈现-定的规律性。
3、根据一种心理学理论,一个人要想快乐就必须和周围的人保持亲密的关系。但是,世早上伟大的画家往往是在孤独中度过了他们大部分时光,并且没有亲密的人际关系。所以,这种n理学理论是不成立的。以下哪项最可能是上述论证所假设的?()
A.世界上伟大的画家都喜欢逃避亲密的人际关系。
B.有亲密的人际关系的人几乎没有孤独的时候。
C.孤独对于伟大的绘画艺术来说是必需的。
D.世界上伟大的画家都是快乐的。
4、以下是某市体委对该市业余体育运动爱好者一项调查中的着干结论:所有的桥牌爱好者都爱好围棋;有围棋爱好者爱好武术;所有的武术爱好者都不爱好健身操;有桥牌爱好者同时爱好健身操。
如果上述结论都是真实的,则以下那项不可能为真?()
A.所有的围棋爱好者也都爱好桥牌。
B.有的桥牌爱好者爱好武术。
C.健身操爱好者都爱好围棋。
D.围棋爱好者都爱好健身操。
5、烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
七十二 中金支付
阅读程序(读下面的程序,写出执行结果)
程序1;eclass SuperClass{
public inta;public SuperClass(){
a= 1;
Syslem.ouprintn(“ais”+a);
Public int getA(){return a;}
public class SubClass extends SuperClass {
public int a = 2;
public SubClass() { System. out. printn(“a is”+a); }
public int getA() { return a; }
public static void main(String[] args) {
SuperClass aClass = new SuperClass();
SuperClass bClass = new SubClass();
System.out.println(“num1 is”+ (aClass.a + bClass.a));
System. out. println(“num2 is”+ (aClass. getA() + bClass. getA));
System.out.println(“num3 is”+ (aClass.a + bClass. getA()));
System. outprintn(“num4 is”+ (aClass. getA() + bClassa));
}
}
分别写出linux/unix中对应下列操作的命令。列出当前目录下所有文件及目录,包括隐藏的
(命令带参数);查看PID为7724的进程占用系统资源的情况,每2秒自动更新(命令带参数);在/home 目录下查找以“.log”结尾的文件名(命令带参数);查看8080端口的占用情况(命令带参数);列出当前运行的Java进程(命令带参数)。
选择题
1.请你仔细观察数列的特列规律。
然后从四个供选择的答案中选择出带认为最合道、最合理的一个,来填补空镇:23.37.55.77.1
A.83
B.103
C.97
D.1072.
2.秋季,果农收获果实,如果颗果树上有10个原子,果子无差期,每次镇取1个城2个果子,请问全部摘完共有多少种摘法(
A.91
B.88
C.89
D.90
简答题
windows XP中,如何打开dos窗口?如何打开注册表编辑窗口1在C:\WINDOWS\system32\drivers\etc\下有一个文件hosts.请问是做什么用的?
七十三 值得买
(1)请说明hadoop为何不适合存情大量小文件。假如有小文件存储需求如何优化。
(2)container的含义和作用是什么?
(3)hadoop启动成功后启动了哪些进程?分别有什么作用?
(4)检查并列出下所有“hive/warehouse/dt”文件的状态,请写出相关命令
(5)数据文件为data.txt,请用MapReduce求出其中最大值,文件内容如下,
2
8
3
5
…
七十四 联创众升
算法工程师面试题
1.请列出几种文本特征提取算法。
2.简述几种自然语言处理开源工具包。
3.请简述几种熟悉的分类算法。
4.请简单描述一下深度学习?主要应用范围?常见工具有哪些?
5.说明一下利用HMM实现实体识别的过程?
6.请简述文本数据结构化表示涉及技术方法。
7.如何构建一个简单的领域知识图谱。
8.以下代码是Java实现中文分词,请简述分词过程。
public class SplitChineseCharacter {
public static void main(String[] args) {
String input = “太好了,今天是星期六啊”;
new Split(input).start();
}
}
class Split {
private String[] dictionary = { “今天”, “是”, “星期”, “星期六” };
private String input = null;
public Split(String input) {
this.input = input;
}
public void start() {
String temp = null;
for (int i = 0; i < this.input.length(); i++) {
temp = this.input.substring(i);
if (this.isInDictionary(temp)) {
System.out.println(temp);
this.input = this.input.replaceAll(temp, "");
i = -1;
}
}
if (null != this.input && !"".equals(this.input)) {
this.input = this.input.substring(0, this.input.length() - 1);
this.start();
}
}
public boolean isInDictionary(String temp) {
for (int i = 0; i < this.dictionary.length; i++) {
if (temp.equals(this.dictionary[i])) {
return true;
}
}
return false;
}
}
七十五 看准网
1.遍历Java Map的所有对象,打印key,value
2.有一个线上服务器访问日志格式如下(用sql和shel两种方法答题)
时间 接口 ip地址
2016-11-09 11:22:05 /api/user/login 110.23.5.33
2016-11-09 11:23:10 /api/user/detail 57.3.2.16
…
2016-11-09 23:59:40 /api/user/login 200.6.5.166
求11月9号下午14点(14-15点),访问api/user/login接口的top10的ip地址
3.给定一个整数数组a,该数组已经排好序(非降序排列),再给定一个整数target,写程序提供一个方法,找出target在a中出现的位置(数组下标k,并返回k:如果在数组a中没有target出现则必然有一个位置n可以插入插入之后依然保持数组有序,找出这个位置n并返回-1*(n+1)。
4.有A、B、C三个远程方法实现了相同的功能,返回类型也相同,写程序提供一个方法,同时访问这三个接口,采用最先返回的结果进行返回。
具体访问A、B、C方法处,可以使用伪代码
七十六 知道创宇
(1)为啥用rdd不用DF或者是DS
(2)sparkstreaming窗口函数处理数据时,如果我处理近一个小时的数据,但是出现上一个小时数据如何处理
(3)sparkstreaming处理数据时,出现kafka消费数据延迟,出现上一个小时数据,如何处理
(4)scala和java相比开发spark的优点
(5)你对隐式函数的了解,能看懂隐式函数吗?
(6)如何实现topn
(7)如何实时更新topn
(8)你们需求谁提的,目的是啥
七十七 中科软
1)简答题
(1)java内存模型
(2)Linkedlist 和ArrayList的区别
(3)Linux下,查看Java进程的命令
(4)Linux下,配置JDK环境变量有几种方法,分别是什么?
(5)在分布式环境中,ZooKeeper的作用是什么?
(6)HDFS总体架构是什么?组成组件都有哪几个?
(7)Kaka架构都包括哪些组件?
(8)说一下spark streaming与storm各自的适用场景
(9)什么是Redis?Rdis的特点是什么?
(10)M品peuce的编腰模型的思想是什么?mpedce计编任务分为哪几个协段?
2)问答题
现有海量日志成据保存在一个超级大的文件中,该文件无法直接读入内存,要求从中提取出某天访问百度次数最多的那个IP,请简述处理步骤。
七十八 北美高中
(1)hadop 生态系统图谱.组成及特点
(2)描述hadoop.spark.MPI 3种计算框架特点及适用场量
(3)集群规模、画架构图
(4)hadoop配置文件及作用.如何升级Datanode
(5)什么是聚类分析.几种算法、推荐算法
(6)海量数据.某日访问百度次数最多的IP
(7)Kafka和2k理解(画图).
七十九 明特量化
1、分析如下代码,编译运行后的结果()
public static void main(String[ ] args){
Systes.out.println(1/2);
Systcm.out.println(l.0/2);
Systen.out.println(1.0/2.0);
}
A、0,0.5,0.5 B、1.0,0,0.5 C、0.5,0.5,0.5 D、0,0,0.5
2、分析如下代码,编译运行后的结果()
Public class Test1{
public static void main(String[ ] args){
Systes.out.println(init());
}
Public static int init(){
try{
return 1/0;
}catch (Exception e){
Systes.out.println(”Error”);
Return -1;
}finally{
Return 1;
}
}
}
A、-1 B、Error -1 C、Error 1 D、编译出错
3、Java中的HashMap是通过()方法来确定键值对的索引。
A put()
B hashcode()
C get()
D equals()
4下列有关Java的说法正确的是()
A String是最基本的数据类型
B float f=3.4是错误的
C启动一个线程是通过调用run()方法实现的
D Java允许多继承
E main主方法中必须通过new实例来访问非static变量。
F以上选项都错误
5.Scala中关于变量定义、赋值,错误的是( )
A.val a=3 B.val a:String=3 C.val b:Int=3;b=6 D.var b=”hello”;b=”123”
6.Scala中下列表达式不是过程的是( )
A.def foo(num:Int)={println(num*2)}
B.def foo(num:Int)={num}
C.def foo():Unit={println(“hello”)}
D. def foo():String={“hello”}
7.在Scala中若val t1=Array(1,3); val t2=Array(2,4),那么t2.zip(t1)返回的值是()
A.(1,2,3,4) B.((1,3),(2,4)) C.((1,2),(3,4)) D.((2,1),(4,3))
8.在Scala中何种情况下赋值语句x=y=1是合法的(
A.val x={} B.var x=1 C.var x= “text” D.以上选项都是错误的
9关于Scala中trait 和Java中的Interface描述正确的是()
A.Scala trait不允许包含抽象方法和具体实现,而Java Interface 允许。
B.Scala和Java都不允许多重维承,但可以叠加多个特质和接口
C.Java只能在类层面上添加接口的实现,而Scala可以在类和对象层面上”混入”特质,其中对象加入特质时,用and
D.以上选项都是错误的
10关于Scala函数,下列说法正确的是()
A.函数是”头等公民”,就和数字一样
B.支持非具名函数,也即匿名函数
C.可以将函数设为另一个函数的参数
D.以上答案都是错误的
11在Centos 6中,查询本机IP地址的命令是()
A. ipconfig B. ip addr C. ifconfig D. ip
12在Linux系统中查询本机内存的命令是()
A.free-m B.df-h C.fdisk-l D.top
13在Linxu系统中start.sh文件的权限为:-rw-r–r--,下列哪条命令可使属主具有可执行权限()
A.chmod 644 start.sh
B.chmod 744 start.sh
C.chmod +X start.sh
D.chmod U+X start.sh
14 在Linux系统中的w编辑器,下列的命令表示强制保存的是( )
A :q B :wq C :q! D :wq!
15 下列表示Redis的说法正确的是( )
A Redis是一个基于内存的高性能Key Value数据库
B Redis通过PING命令来测试客户猫与Redis服务器的连接是否正常
C Redis3版本不支持master-slave模式
D Redis3支持事务
E Redis 3版本提供两种持久化方法:Redis Database和Append-only fle
16 在Redis-cli中执行以下命令,
hset person name xiaowang
hset person age 27
hmset person company bank deployment IT
获取key-person全部字段和字段值的命令是( ),其共有( )个字段(field)
A getall person,3 B hget person,4 C hgetall person,3 D heetall person,4
17 下列属于 Hadoop生态组件的有( )
A HBase B Hive C Spark D Tez E Kafka F Strom
18 Hadoop-1.x与Hadoop-2.x中HDFS的block size默认是( )
A 64M 64M B 64M 128M
C 128M64M D128M 128M
19 HDFS是一个分布式文件系统,其适合的读写任务是( )
A一次写入,一次读取 B 一次写入,多次读取
C多次写入,一次读取 D 多次写入,多次读取
20 下列关于MapReduce的说法正确的是( )
A 如果输出目录已存在,或者输入路径已存在,那么MR程序将抛出异常。
B shuffle是指Map输出传给Reducer输入的过程,其是MR优化的重点。
C 在shuffle中可以加入combiner,其意义在于使map输出更紧凑,传给reducer的数据更少。
D 如果map函数的输出类型是list(K1,V1),那么reducer函数的输入类型必须是(K2,list(V1))-
21 下列关于Yarn的说法正确的是( )
A ResourceManager ApplicationMaster、NodeManger、Container、JobTracker.
TaskTracker都是Yarn的组成部分。
B ResourceManger是Yarn的全局资源管理器。
C NodeManger是每个节点上的资源和任务管理器。
D JobTracker协助ResourceManger进行资源管理。
30 下列关于RDD的说法正确的是
A、 Transform操作只会由一个RDD生成另一个新的RDD.不会进行实质计算,只有第一次Action时, 才会真正计算。
B、 Spark用户能够通过SparkContext 的 parallelize(seq)方法创建RDD.
C、 Spark通过读取外部数据,如HDFS. Hive等,创建RDD.
D、 Spark中RDD之间的依赖关系分为两种,窄依赖和宽依赖。其中窄依赖 是指多个子RDD的分区依赖一个父RDD的分区。
二 在CentOS 7中,/home/centos/txt的方容如下:
aaa bbb abc
ccc aaa ddd
aab eee fff
aaa ggg hhh
(1)查找以aaa开头的行,要求一行命令
(2)将以aaa开头的那一行中的全部a换成大写A,要求一行命令。
三 在Linux的/root/text.txt中内容知下:
aIsjdlfkjsdlkfjd
alskdjf
laksdjfoiewjoijwf
lskdsldkj
lasef jiojefIkjdsjlk
eowjflakjsdlfkj
liaeaw
编写Scala代码,将test.txt中所有字符数大于12的单词打印出来。
八十 01财经
大数据笔试题
1)选择题
1.HDFS 里面,blocksize 上的块大小默认是()
A 32MB B 64MB C 128MB D 256MB
2.HDFS 中的block默认保存几份?(
A 2 B 3 C 4 D不稳定
3.下面哪个程序负责 HDFS 数据存储。
A NameNode
B Jobtracker
C Datanode
D secondaryNameNode
E tasktracker
4.访问 hadoop+HA web的默认端口是()
A 50070
B 60010
C 8088
D 8020
5.访间 zookeeper 客户端的端口是()
A 9000 B 3888 C 2888 D 2181
6.提交mr作业时,由yarn来分配资源,那么yarn启动的一个进程名是()
A ResourceManage BApplicationMatser C NodeManage D RunJar
7.关于 SecondaryNameNode 哪项是正确的?()
A 它是 NameNode 的热备
B 它是内存没有要求
C 它的目的使帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
D SecondaryNameNode 应与 NameNode 部署到一个节点
8.下列项通常是集群的最主要瓶颈()
A 磁盘IO B CPU C 网络 D 内存
2)简述题
1、请说明hive中sort by,order by,cluster by, distribute by各代表什么意思
2、Hive数据倾斜如何通过参数来调优
3、spark-submit的时候如何引入多个外部jar包
4、spark cache和pesist的区别
5、简述spark广播变量和累加器
6、rdd.groupBykey().mapValue(.sum)与rdd.reduceByKey(_)的区别
7、spark.yarn/executor.memoryOverhead和execoutor-memory的区别,以及其默认值
八十一 汇通金财
1)笔试部分
(1)在Linux系统中每隔10天的23点55执行test.sh脚本的怎么实现?
(2)Linux下查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名
(3)写一个n(n-1)(n-2)…*1的小程序
(4)创建对象的几种方法
(5)表名t_idx中有一列名为id的字段,这个字段有重复值,写一条sql查找出不重复的id
(6)hibernate分页查询主要方法。
(7)JSP页面之间传递参数的方法有哪些
(8)假如QQ号码是8-10位,用正则表达式写出QQ号码
(9)往一个集合中插记录是用ArrayList还是LinkedList?为什么?
(10)如何格式化日期?
(11)mysql默认端口多少,oracle客户端呢?
(12)log4j日志级别有哪几种?
(13)哪个程序性负责HDFS数据存储
(14)HDFS中的block默认保存几份?
(15)哪个程序通常与Namenode在一个节点启动?
(16)通常是集群的最主要瓶颈是什么?
(17)Secondarynamenode目的是什么?
(18)集群管理的组件有哪些?
(19)Hadoop的核心配置是什么?
(20)MapReduce的原理?
(21)HDFS存储的机制?
八十二 世纪高通
(1)请写出快速排序的伪代码:列出你所知道的至少另外两种排序算法。并试看分析这三种排序算法的时间及空间复杂度。
(2)请说出List、Map、Set、Array四种容器的特点及适用场景。
(3)请面出JVM内存结构图,并说出他们的作用。
(4)假设try仔语句块中里有一个return语句,那么紧跟在这个try 后的finally{}里的代码是否会被执行,什么时候被执行,在return前还是后?
(5)若你的程序或脚本运行在Linux(RetHat 或Centos)上,请至少列出两种方式将你的程序通过SSH运行在服务器后台。
(6)请至少列举一个你所熟知的结构化数据库与NO-SQL数据库,并对比分析其试用场景。
(7)请画图说明Spark的基本结构,并说明各部分的主要作用。
(8)请画出简图说明Spark任务的执行过程,并举例说明Spark RDD的几种操作类型。
(9)有平面上的两条线段P1(x0,y0)P2(x1,y1)及Q1(x2,y2)Q2(x3,y3),请写出判断两条线段是否相交的方法步骤?
[附加题]:请问SpringMVC中的M、V、C分别指什么,其核心功能思想是什么
八十三 小年糕
大数据开发笔试题
(1)现在公司业务迅速扩充,原有书籍服务无法支撑现在的超大型大数据量,请您设计一个相对完善的系统架构(包含但不仅限于数据采集、分析、管理、数据仓库、要求支持大样本量、高维度数据。)
(2)10亿个随机字符串、去重,请用MapReduce给出设计思路和核心代码(java代码实现)
(3)hadoop在处理10pb级别的数据时,大概需要的集群配置,计算瓶颈,解决方案
八十四 盖娅互娱
1)编程题
(1)写一段代码判斯一个单向链表中是否有环。
(2)一串首尾相连的珠子(m个),有N种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度
2)解释题:
(1)java.util.concurrent.ConcurrentHashMap的实现原理。
(2)tcp ip三次握手和四次挥手流程和原理解释
3)设计题:
有一个监控系统,有大量的数据记录包括(url,用户访问ip,时间},要对这个监控系统进行维护,并提供查询。设计一个能存储和维护1000亿条记录,实时监控,并支持以下两种查询:
(1)指定任意一个时间段(精确到分钟)和某个url,查询这个时间段内的所有 url的访问总量。
(2)指定任意一个时间段(精确到分钟)和某个ip,查询这个时间段内的ip访问总量。
八十五 GrowingIO
1)现有如下数据文件需要处理
格式:CSV
位置:hdfs://myhdts/input.csv
大小:100GB
字段:用户ID,位置ID,开始时间,停留时长(分钟)
4行样例:
UserA,LocationA,2018-01-01 08:00:00,60
UserA,LocationA,2018-01-01 09:00:00,60
UserA,LocationB,2018-01-01 10:00:00,60
UserA,LocationA,2018-01-01 11:00:00,60
2)解读:
样例数据中的数据含义是:
用户UserA,在LocationA位置,从8点开始,停留了60分钟
用户UserA,在LocationA位置,从9点开始,停留了60分钟
用户UserA,在LocationB位置,从10点开始,停留了60分钟
用户UserA,在LocationA位置,从11点开始,停留了60分钟
该样例期待输出:
UserA,LocationA,2018-01-01 08:00:00,120
UserA,LocationB,2018-01-01 10:00:00,60
UserA,LocationA,2018-01-01 11:00:00,60
3)处理逻辑:
(1)对同一个用户,在同一个位置,连续的多条记录进行合并
(2)合并原则:开始时间取最早时间,停留时长加和
要求:请使用Spark、MapReduce或其他分布式计算引擎处理
八十六 世纪高通
(1)请写出快速排序的伪代码:列出你所知道的至少两种排序算法,并试着分析这三种排序算法的时间及空间复杂度。
(2)请说出List、Map、Set、Array四种容器的特点及适用场景。
(3)请画出JVM内存结构图,并说出他们的作用。
(4)假设try{}语句块中里有一个returm语句,那么紧跟在这个try后的finally{}里的代码是否会被执行,什么时候被执行,在return前还是后?
(5)若你的程序或脚本运行在Linux(RetHat或Centos)上,请至少列出两种方式将你的程序通过SSH运行在服务器后台。
(6)请至少列举一个你所熟知的结构化数据库与NO-SQL数据库,并对比分析其试用场景。
(7)请画图说明Spark的基本结构,并说明各部分的主要作用。
(8)请画出简图说明Spark任务的执行过程,并举例说明Spark RDD的几种操作类型。
(9)有平面上的两条线段P1(x0,yO)P2(x1,y1)及Q1(x2,y2)Q2(x3,y3),请写出判断两条线段是否相交的方法步骤?
【附加题】请问SpingMVC中的M、v、C分别指什么,其核心功能思想是什么?
八十七 璧合
1轮普通同事问
问spark的rdd的特点,问action和transformation算子分别有哪些,问了cache和checkpoint机制,什么场景使用,问了flume参数调优,问了mr原理。
2轮技术负责人问了
flume遇到哪些问题,是单层还是双层架构,什么场景下出现的,怎么解决的,问了storm与kafka区别(他们公司有用storm的),问了kafka原理,isr中什么情况下brokerid会消失(就是我说了一种,他说了一种),出了一个场景方案题,手写一个A2I(没听过,他解释说是将字符串转整形)的编程题,一个二分查找题,对了问了es这一块的问题,他们有用,有一个没回答出来,建议准备手写排序和二分查找,场景题看现场发挥了!
3轮CTO
只出了一个基于他们业务的场景题,基本上方案没问题(估计答不出来就gg了),最后就是问他问题,目前业务量大,可能经常加班,目前集群50台的样子,每天流量1个T吧,目前产品有2个,主要是做广告精准投放,主流的框架都用;
4轮hr问
问薪资期望(我回答的2015,最低19),上一家薪资,3年合同6个月试用期,3个月考核通过可以转正,新三板上市,目前150人团队,技术70人左右,大数据团队多少人忘问了,六险一金,一年一次国外旅游,没细问是否免费,去哪个地方,加了微信待会问一下,12薪,有季度奖,月度奖,年终奖,早9晚6弹性半小时,正常基准交社保,璧合下面有子公司,广告子公司可能会单独拆分上市,最后给了我2412,回她下周一5点给他答复!
八十八 中体彩
【选择题】
1.Spark Job 就认的调度模式()
A.FIFO B.FAIR C.无 D.运行时指定
2.下面哪个不是RDD的特点()
A.时分区 B.可序列化 C可修改 D可持久化
3.天于广播交量,下面哪个是错误的()
A.任何函数调用 B.是只读的 C.存储在各个节点 D.存储在磁盘域HDFS
4.下面哪个操作是窄依赖()
A.join B.filter C.group D.sort
5.spark的master和worker通过什么方式进行通信的?()
A.http B.nio C.netty D.Akka
6.hive的元数据存储在derby 和MySQL中有什么区别()
A.没区别 B.多会话 C.支持网络环境 D.数据库的区别
7.下列哪项可以作为集群的管理?()
A.Puppet B.Pdsh C.Cloudera Manager D Zookceper
8.MapReduce与HBase的关系,哪些描述是正确的?()
A两者不可或缺,MapReduce 是HBase可以正常运行的保证
B两者不是强关联关系,没有MapReduce,HBase可以正常运行
C MapReduce可以直接访问HBase
D它们之间没有任何关系
9.下面与HDFS类似的框架是?()
A.NTFS B.FAT32 C.GFS D.EXT3
10.LSM含义是?()
A日志结构合并树 B二叉树 C平衡二又树 D长平衡二叉树
11.关于HBase二级索引的秒速,哪些是正确的?()
A 核心是倒排表
B 二级索引概念是对应Rowkey这个“一级”索引
(图中少二个选项,自己想下。。。)
12简述HDFS的存储机制
13请说明hive中Sort By,Order By,Cluster By ,Distrbute By 各个代表什么意思?
14你觉得成员一个优秀开发工程师应该具备哪些职业素养?你看过哪些软件开发方面的书籍?
八十九 光宇游戏系统部
光宇游戏系统部应用开发组-笔试题
开发工程师-大数据方向
以下题目不区分编程语言,请使用你擅长的语言解答
答题时长不得超过1小时可以采用伪代码描述逻辑
请一定要保持字迹清晰可认
1.给定a、b两个文件,各存放50亿个url,每个ur各占64字节,内存限制是4G,让你找出a、b文件共同的url?
2.有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M,要求返回频数最高的100个词。
3.详细叙述hadoop2.X HA实现原理。
4.叙述Hbase的特性,以及怎么去设计rowkey 和columnFamily,怎么去建一个table
5.Hive常用调优方法
6.Hive中如何调整map和reduce的个数
7.简述实时数据分析系统架构设计
8.有一个充值日志表如下:
CREATE TABLE credit log
(dist_id
int(11)DEFAULT NULL COMMENT ‘区组id’,account
varchar(100)DEFAULT NULL COMMENT ‘账号’,money
int(11) DEFAULT NULL COMMENT ‘充值金额’,create_time
datetime DEFAULT NULL COMMENT ‘订单时间’)ENGINE=InnoDB DEFAUILT CHARSET-utf8
请写出SQL语句,查询充值日志表2015年7月9号每个区组下充值额最大的账号,要求结果:
区组id,账号,金额,充值时间
9.有一个账号表如下,请写出SQL语句,查询各自区组的money排名前十的账号(分组取前10)
CREATE TABIE account
(dist_id
int(11)
DEFAULT NULL COMMENT ‘区组id’,account
varchar(100)DEFAULT NULL COMMENT ‘账号’ ,gold
int(11)DEFAULT NULL COMMENT ‘金币’ PRIMARY KEY (dist_id
,account_id
),)ENGINE=InnoDB DEFAULT CHARSET-utf8
10.有三张表分别为会员表(member)销售表(sale)退货表(regoods)
会员表有字段memberid(会员id,主键)credits(积分);
销售表有字段memberid(会员id,外键)购买金额(MNAccount);
退货表中有字段memberid(会员id,外键)退货金额(RMNAccount);
业务说明:
1、销售表中的销售记录可以是会员购买,也可是非会员购买。(即销售表中的memberid可以为空)
2、销售表中的一个会员可以有多条购买记录
3、退货表中的退货记录可以是会员,也可是非会员4、一个会员可以有一条或多条退货记录
查询需求:分组查出销售表中所有会员购买金额,同时分组查出退货表中所有会员的退货金额,把会员id相同的购买金额-退款金额得到的结果更新到表会员表中对应会员的积分字段(credits)
九十 北京思路创新科技有限公司
1)选择题:
1.在“迷人的“篮球对抗赛中,Centurinos队被Raiders 队打败,Saracens 队打败了Centurions。Saracens队被Raiders队和Aztecs队打数。Centurions 队和Raiders队被Aztecs队打败。
Saracens队高了几场比赛?()
A.1 B.2 C.3 D.4
2.CARTON,ENJOYMENT,WORDSMITH按照上面这些词的顺序,接下来的那个应该是().
A.COPY B.REEF C.COPE D.REST
3.电视台要播放一部30集电视连续剧,如果要求每天安排播出的集数互不相等,该电视剧最多可以播().
A.7 B.8 C.9 D.10
4.25,32,27,36接下来那个数应该是().
A.27 B.25 C.38 D.40
5.一辆小汽车以每小时40公里的速度行驶一段距离后,再以每小时60公里的速度原路返回。
请问这辆车在行驶过程中的平均速度是().
A.20公里/小时 B 48公里/小时
C 30公里/小时 D 64公里/小时
6.在下列相关词语中,哪对与“模仿:摩擦”在逻辑关系上最为贴近(
).
A鹦鹉:问好 B音乐会:侵权
C复制:官司 D复印:卡纸
7.幽默使人如沐春风,也能解除尴尬,一个懂得幽默的人,会知道如何化解眼前的障碍。我们有时无意中让紧张代替了轻松,让严肃代替了平易,一不小心就变成了无趣的人。对这段理解不准确的是()。
A紧张的生活需要幽默调剂 B许多人在生活中不擅长使用幽默
C生活中幽默可以化解许多难堪 D有情趣的生活是因为有了出默
8. (873x477-198) + (476x874+199)= ()
A.0 B.1 C.2 D.3
9.世界上人口密度最高的国家是()。
A日本 B马耳他 C新加坡 D梵蒂冈
10.(1)大量有机物积聚(2)形成石油(3)复杂的化学变化(4)剧烈地质变化(5)古浮游生物残骸沉积海底
从逻辑关系上考虑,正确的排序是()。
A(1)(5)(3)(4)(2)
B(5)(4)(1)(2)(3)
C(3)(1)(2)(5)(4)
D(5)(1)(4)(3)(2)
11.生物质能是指太阳能以化学能形式贮存在生物质中的能量形式,根据上述定义,下列不属于生物质能的是()
A利用动物脂肪做快艇燃料
B利用纤维素废科生产酒精
C利用动物粪便制作燃料
D利用太阳能集热器发电
12.甲,乙,丙三种货物。如果购买甲3件,乙7件,丙1件需花3.15元。如果购买甲4件,乙10件,丙1件需花4.2元,那么购买甲乙丙各1件需花多少钱?()
A.1.05元 B.1.4元 C.1.85元 D.2.1元
13.
A.2.5 B.1 C.-1.5 D.-2.5
2)填空题
1、2016年10月17日, 载人飞船在清泉卫星发射中心点火升空,于2天后与天宫二号空间实验室“牵手”太空,景海鹏和陈冬完成了中国航天员迄今最长太空驻留。
2、纪念红军长征胜利___周年大会 10月21日上午在北京人民大会堂隆重举行。习近平在会上发表重要讲话强调,“艰难困苦,玉汝于成”,长征永远在路上。
3、2020年奥林匹克运动会将在 举行。
3)计算题
A、B、C三项工程的工作量之比为1:2:3,由甲、乙、丙三个施工队分别承包。同时开工若干天后,甲完成的工作量是乙未完成工作量的1/2,乙完成的工作量是丙未完成工作量的1/3,丙完成的工作量等于甲未完成的工作量。求三个队的工作效率之比。
4)论述
三个臭皮匠赛过一个诸葛亮和三个和尚没水喝你更认同哪个观点,为什么?(几句话阐明观点即可)
九十一 货车帮
没有笔试题,但是问的很全面,概括就一句话,啥都问,问的还贼底层,贼细!!!
面试官比较看重经验,先从项目问起,问架构、问你简历上项目写的一切!!!
(1)推荐算法,以及推荐系统的实现过程;
(2)每天数据量多少,spark每天处理多少条数据;
(3)es在使用中有没有遇到什么问题,数据下沉等等……(我想到了咱们的ELK……emmm)
(4)hive一共几张表,ODS层几张表;
(5)spark数据倾斜发生在什么阶段,怎么解决数据倾斜;
(6)hive以日期分区,问count(*)和count(日期)有什么区别;
(7)hive如何解决数据倾斜问题;
(8)flume对接HDFS,如果HDFS挂了会发生什么?他说会发生文件损坏,然后又问hadoop怎么查看文件是否损坏(他说是个不常用的命令~~~);
(9)hbase的rowkey设计,问你们是怎么设计的;
(10)hbase底层是如何存数据的(列族和列是怎么存的?),我说了memstore貌似还不够底层……
(11)为什么用kafka?kafka是如何存数据的,
(12)redis的RDB和AOF特点,你们用哪种?RDB和AOF分别会导致什么问题,redis什么情况下会导致假死?
(13)REST风格接口;
(14)mysql的索引;
(15)mongoDB是怎么用的;(因为我简历上写了)
(16)springCloud的组件架构图,手画!
(17)给一个数组,排序算法,手写伪代码!
他手写题:
(a,3)
(b,2)
(c,5)
…
(a,10)
(a,1)
要求输出(不限方式,mapreduce也行,spark也行)
(a,1,3,10) value是排好序的
(b,2)
(c,5)
…
…
貌似是用groupbykey;
九十二 康加科技
医疗公司,公司15年成立,公司目前70人左右,马上招人到100人左右,马上融资1000万,公司在招Java,安卓,大数据,现在只有Java团队,大数据没什么人,面试官基本不懂大数据,电商平台估计九月份请别人搭建成功。
1)技术面试题简单,
(1)介绍Hadoop
(2)Hbase,hive和redis的区别
(3)Hbase的特点
(4)懂不懂算法,介绍哈推荐系统
(5)公司如何进行用户画像
(6)数据仓库的搭建流程和工作流程
(7)公司的架构是怎么样的
(8)公司一天处理的数据量多大
(9)Spark处理数据的所需时间是多长
Ps:问题不难,但是回答要稳,即使说错了,也要有底气,不能自乱阵脚,条理最好清晰有逻辑!
2)非技术面,
(1)自我介绍,离职原因,
(2)你对我们公司还有没有什么想了解的,
(3)我们是创业型公司,你怎么看待,
(4)在北京准备呆多久,
(5)住在哪里,你还有什么想再问我的吗?
九十三 借贷宝
编程 【请选择你最熟练的编程语言回答】
1、[item**2 for item in range(5) ] 结果时什么【python】
2、Spark与Pandas中DataFrame 怎么相互转换【python】
3、Python中哪些核心对象具有序列操作属性【python】
4、请简单介绍几种序列操作?【python】
5、讲一下进程和线程的区别【java】
6、请创建一个单例程序【java】
7、浅谈java的设计模式【java】
8、请用java写一个hive udf函数【java】
9、var,val 和def三个关键字之间的区别【Scala】
10、object和class的区别【Scala】
11、trait(特质)和abstract class(抽象类)的区别?【Scala】
1、数据仓库有哪几种模型,谈谈他们的优缺点和应用场景?
2、元数据如何定义?
3、如何设计缓慢变化维
大数据相关
1、hive内外表的区别?
2、请写一个创表语句和导入语句,讲.txt的数据导入hive库中
3、浅谈一下HBASE的读写原理
4、HBASE预分区的作用及原理
5、浅谈HBase rowkey设计原则
6、Spark的Stage的划分原理
7、请说说Spark中map算子和mapPartition算子的区别
还有一张卷子没有还没有拍下来,卷子写了一半,他们公司大数据部门的来了一个人,卷子不用写了,直接开始面试。先是让自我介绍一下,问了为什么要离职,然后问了数仓方面的知识,hadoop的shuffle和Spark的shuffle,宽窄依赖等等,问了问对现在主要框架的认识。
九十四 安智网
公司人数 400人左右 办公环境不错 面试官也很好目测应该是同事(没有笔试)
(1)自我介绍?
(2)JAVA相关?
(3) JVM相关?
(4)Hadoop shuffle 和Spark Shufflle 区别?
(5)Spark RDD特性(作用)?
(6)Hive 内部表和外部表区别?
(7)SQL 语句?
(8)Sqoop框架原理?(这个真不知道 ,只说出了是干啥的)
(9)Spark 特性?
(10)Spark ReduceByKy和GroupByKey的区别?
(11)Saprk 宽依赖和窄依赖的区别?
以上相对来说比较简单 问的都比较基础!
后边没太记住 总之 Spark各种问,建议大家看看
聊了40分钟 出来了
九十五 数据联盟
(1)用到哪些linux命令,如果一个文件夹占了很大的存储空间,比如文件夹下有几千个文件,怎么用命令找到这个文件夹
(2)常用的shell语法
(3)谈谈hbase有哪些组件,hlog是什么,region切分在什么时候会发生
(4)用过redis吗,是自己搭的集群吗,redis出现过问题吗,什么问题
九十六 天融信科技有限公司
(1)公司集群多大?
(2)服务器内存多大?
(3)JVM底层结构?
(4)了解的设计模式?
(5)Flume采集数据会丢失吗?
(6)只有一个Reducer,让你存入HDFS和HBase?
(7)给你两个集合,一个可以放入内存,另一个放入内存就会报内存溢出OOM,求这两个集合的差集?
(8)你们公司HBase中RowKey的设计?
(9)HBase没有rowkey,只有列族和列名,让你查出指定列名的数据做TopN?
(10)公司数据流向?
然后实时:Flume->Kafka->Spark->HBase->ElasticSearch+后台展示分析
他又问那你们的数据不是有重复?
九十七 花生好车
没有笔试,直接开面,首先两轮hr面,很简单,就是自我介绍,为什么从上一家公司离职,每个项目做了哪些事情,如何进入这个行业的,想进入一个什么样的公司,上一家公司的税前税后工资是多少(注意:一定要事先计算好,并且我这里坦白了我没有交社保,当时没想到会问税后,hr迟疑了,最好薪资构成也提前算一下血泪史),然后就是我问他们一堆的问题,然后就是漫长的等待CTO的神秘身影,只可惜等来了一个普通开发,先是自我介绍,然后就是问spark的调度模块,我讲了DAGScheduler源码,任务提交过程,Stage划分算法,然后就是讲到shuffle,spark的shuffle和hadoop中的shuffle都让我比较了一遍,然后就是问yarn,就给他讲讲过程,讲讲主从机制,然后就说他没有问的了,然后就是一大堆我的问题甩过去,然后他就有些回到不上来了;仅供参考
九十八 百旺股份有限公司
(1)公司集群配置,数据量
(2)MapReduce过程,shuffle过程、分区
(3)hbase的二级索引,然后问协处理器熟悉吗?我学的不好,就说知道但是不是很熟悉,他说协处理器不熟怎么创建二级索引?二级索引需要协处理器吗?我真不知道。
(4)hbase的读写过程,我按照学的正常答的,然后他问.root文件是什么?哪个版本的?一问版本我有蒙圈了,他说新版本已经没有.root了,然后他说我漏掉了master,读写过程中master做什么了吗?
(5)hive的优化,udf函数,我说udf一进一出,udaf多进一出,然后面试官说udf函数时一进一出吗?
(6)flume用过几种source?flume的断点续传问题,怎么修改源码?
(7)手写wordcount,并取出topN
(8)算法随便写一个
(9)shell脚本用kill -9 停止正在运行的hadoop和spark。
九十九 北京流体网络科技有限公司
8月30 16:30北京流体网络科技有限公司北京市朝阳区北苑路甲13号院北辰新纪元大厦2号楼1404室(14层即15a层)北苑路北A2口西北口,穿跃地铁口边的下跃式停车通道,步行150米可到。公司人比较小,创业公司
(1)项目问的多,前期都在问项目具体的流程,数仓的具体搭建,每一层都要细讲
(2)Spark问的多,算子问的多,调优没问
(3)Java中hashMap和arrayList底层
一百 广而告之
(1)近期做得什么项目,你负责什么模块,什么技术难点让你影响深刻。
(2)Flume可不可以写数据到HDFS,架构中为啥要加kafka。
(3)公司集群分布。
(4)Zookeeper为啥做3台。
(5)NN故障转移,现在还出过故障没有。
(6)公司人员分配。安卓开发多少人,iOS多少人。
(7)JVM调优,具体参数
(8)RDD是什么
(9)黑名单是什么策略,为啥要做黑名单。
101 正保教育
(1)他们公司数据量大概100M/s
(2)上来先问上家公司情况
(3)MySql什么情况下索引失效
(4)MySql数据库了解有多深(我说了Mysql的架构)
(5)解释以下Scala闭包,这样做有什么好处
(6)Hbase的二级索引是什么
(7)Java多线程状态(生命周期)
(8)Sleep和wait有啥区别
(9)多线程锁有几种(我讲的8锁)
(10)Synchronize this和Synchronize Class那个力度大
(11)Synchronize this和Synchronize Class什么时候用合适
102 巧达数据
1)指出以下代码错误并进行改正:(10分)
/求1!+2!+3!+ 4!+…10!/
public class Prog{
public void main(String args[]){
int i =0;
int sum= 0,fact = 0;
while(i< 10){
fact = fact*i;
sum =sum + fact;
i++;
fact++;
}
System.out.printin(sum);}}
2)以下程序会输出什么?(10分)
public class MyThread
{
public static void main(String args[]){
Thread t = new Thread(){
public void run(){
System.out.print(currentThread().getName());
}
};
t.start();t.run();
System.out.print(‘Hello’);
}
}
3)简述Spark shuffle过程在哪些情况下会发生?为什么这些情况下需要进行shuffle?(15分)
4)有哪些方法可以对spark任务进行调优(15分)
5)哪些情况会发送数据倾斜,如何解决?(15分)
6)假设有一个1亿行的大文件(内存无法放下),需要读取每一行中的数字进行复杂运算(每行之间相互独立),另假设读取的速度远大于计算的速度。应该如何设计方案高效的完成计算?(限定只能使用java基本类库,不能借助其他系统,如hadoop、spark、redis等)(20分)
7)请用Java代码实现快速排序算法(15分)或二分查找算法(10分)
103 北京开拓天际
(1)hadoop集群怎么配,前期要做些什么,用的什么搭建的(他不是要问配置文件等等,我说要装JDK,用的包是编译好的,然后死活想不起来其他还有啥)
(2)Kafka为什么读写效率高(我往topic和partition_上说,他不太满意,后来环节问问题我问他,他往磁盘分片啥的上说)
(3)spark job划分:action算子
(4)fulme和Kafka有序吗(我知道Kafka根据key划分分区所以是无序的,然后呢?
(5)flume和Kafka区别
(6)linklist和arraylist那个效率高,存同一个对象那个更占内存
(7)Kafka调度,FiFO啥的,问题也记不清
(8)spark流程
(9)Hbase的region昨么划分,每次划分大小都一样吗
(10)rowkey设计及大小范围
(11)zookeeper选举机制(我答了半数选举,myid大小之类,他说还有其他吗,除了根据myid)
104 水滴互助
(1)HDFS文件系统中,fsimage 和edit的区别
(2)请描述MR中shuffle的过程以及作用。
(3)YARN的配置文件中,
yarn.resourcemanager.scheduler.class
yarn.nodemanagerresource.cpu-vcores两个参数分别有什么用?
(4)请实现二分查找。(不限开发语言)。
(5)Linux中,如何调整文件最大打开数
(6)请列举几个常用到Linux命令?
(7)Hivesql中,left outer join和left semi join的区别
105 融易通
(1)一上来说项目项目是干什么的有什么用然后围绕项目把大海哥的牌本说了一个用户行为分析
(2)问我了不了解JVM没答出来然后问我自己最了解哪些框架
(3)我把ZK.HADOOP.flume.kafka.hbase.讲了一下最后问我有没有问题问他,我就跟他了解了一下北京这边公司概况,和他们公司做什么的,让他跟我的面试情况做和评价,说我薪水为什么要这么高对各个框架还算是比较了解但是也有说错的地方,但是他没想起来那些地方说错了,感觉面试官也不怎么会,感觉他对kafka了解一点主要让我自己讲框架他没怎么扣技术点
106 北理工新能源
1)友情提示:公司依托于北京理工大学,规模小,大数据的业务主要是做新能源汽车的监控和故障检测,拿来练手即可
2)分为笔试和面试两部分
(1)笔试题:20道,都是基本题型
①hdfs工作,各个模块的作用,读写流程
②hadoop1.x和2.x的区别
③zk是什么,简单描述业务场景
④flume的基本组件,列举常用组件
⑤hive、mysql、hbase简介及区别
⑥kafka的0.10和0.8区别?kafka的offset如何维护?kafka的结构?如何保证数据一致性?
…
(2)面试,一共有两面(组长,然后经理):关于项目只是问了一下架构,其他的都没问,还是kafka、hbase、mysql这些问题
(3)hr面试:自我介绍,薪资待遇,离职原因,公司在自身成长中有哪些帮助…
3)面试感受:在北理工学校内,环境虽好,但规模小,不建议去
107 安妮股份
安妮股份(共3个半小时):
1)机试(Ubantu):
单点部署hadoop、Hive(采用MySQL数据库)、通过hive将一张表写入MySQL
2)面试:
由技术经理一个人面试,如果觉得合适公司cto会再一轮面试,面试主要包括
(1)java:线程、jvm、ArrayList源码、网络编程、httpServlet…
(2)数据库:mysql索引、引擎、与hive、hbase的区别
(3)hadoop:mr工作机制
108 TalkingData
1)业务类
1.项目整体架构
2.HBase二级索引及RowKey设计
3.数仓整体分层及架构
2)非业务类
1.Hive调优
我重点讲了CombineInputFormat和JVM重用;hive.groupby.skewindata与hive.aggr.enable调节数据倾斜;
2.Spark实现mapJoin?
使用广播变量,小表先广播出去,然后在Executor中读取其副本与当前表mapJoin
3.MapReduce实现innerJoin?
Reduce阶段的K-V的V中如果有两个或以上的内容,即表示innerJoin成功;
4.Spark内存模型?
Executor:静态内存规划与统一内存规划;
Driver:上课没讲,文本里面说很简单;
5.RDD底层结构?
很复杂,包括sparkConf,sparkContext,lineage,storageLevel,partitioner等
详见:https://blog.csdn.net/u011094454/article/details/78992293
https://www.jianshu.com/p/dd7c7243e7f9?from=singlemessage
6.JVM的引用类型?
四种:Strong,Soft,Weak,Phantom,各自在垃圾回收时有不同的机制;
7.JVM结构与GC算法。
略
109 微钛科技
面试,给纸,当面写
二分查找法
二叉树后序遍历,如何优化给定一个数组,找出里面个数最多的元素(写了个for循环,说上亿条数据怎么办?这样效率很低,不知道,给提醒,用map结构,还不会)
我说换个题吧,面试官说说这是最简单的算法了,这都不会就没必要聊下去了,直接走人~
110 易华录
1)笔试
一、单选题(102 20分)
1、下面哪个程序负责HDFS数据存储?
A NameNode B Jobtracker C Datanode D secondaryNameNode
2.下列哪项通常是集群的最主要瓶颈?
A CPU B网络 C磁盘 D内存
3、关于SecondaryNameNode哪项是正确的?
A它是NameNode的热备
B它对内存没有要求
C它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间
D SecondaryNameNode 应与NameNode部署到一个节点
4、HBase依靠()存储底层数据。
A HDFS B Hadoop C Memory D MapRedure
5,解压tar.gz 结尾的HBase 压缩包使用的Linux 命令是?
4 tar -zxvf
B tar -zx
C tar -s
D tar -nf
6、spark的master 和worker 通过什么方式进行通信的?
A http B nio C netty D Akka
7、hive的元数据存储在derby和MySQL.中有什么区别7
A没区别
B多会话
C支持网络环境
D数据库的区别
8、Master的ElectedLeader事件后做了哪些操作?
A通知driver B通知worker C注册epplication D直接ALIVE
9、下列说往正确的是?
A一个文件里可以同时存在两个,public修饰的类
B构造函数可以被重马(override)
C子类不能访问父类public和protected 作饰的属性
D final修怖的类可以被维承
10、关于JAVA堆,下面说法错误的是?
A所有类的实例和数组都是在堆上分配内存的
B对象所占的堆内存是由自动内存管理系统回收
C堆内存由存活和死亡的对象,空闲碎片区组成
D数组是分配在楼中的
二 多选题(5+3 15分)
11、Rowkey设计的原则,下列哪些选项的描述是正确的?
A尽量保证越短越好
B可以使用汉字
C可以使用字符串
D本身是无序的
12、下列哪些选项是安装HBase 前所必须安装的?
A操作系统 B JDK C ShellScript D JavaCode
13、MagReduce 与HBase的关系,哪些描述是正确的?
A两者不可或缺,MapReduce 是HBase可以正常运行的保证
B两者不是强美联关系,没有MapReduce,HBase 可以正常运
C MapReduce可以直接访问HBase
D它们之间没有任何关系
14、下列哪项可以作为集群的管理工具?
A Puppet B Pdsh C Cloudera Manager D Zookeeper
15.Cloudera提供哪几种安装CDH 的方法?
ACloudera manager B Tar ball C Yum D Rpm
三、判断题(53-15分)
16、如果namenode意外终止,secondarynamenode 会接替他是集群继续工作。
17、Hadoop是 Java开发的,所以MapReduce只支持Java语言编写。
18、datanode 通过长连接与namenode保持通信。
19、集群内每个节点都应该配RAID,这样避免单磁盘损坏,影响整个节点运行。
20、NameNode 本地磁盘保存了Block 的位置信息。
四、主观题(10*5=50分)
21、HDFS 的体系结构。
23、请列出hadoop的进程名称。
24、怎么解决kafka的数据丢失。
25、spark streaming读取kafka数据的两种方式。
26、kafka 控制台向topic生产数据的命令及控制台消费topic数据的命令。
27、写出你对zookeeper的理解。
28、Hbase的rowkey怎么创建比较好?列族怎么创建比较好?
29、描述hbase的scan和get功能以及实现的异同。
30、谈谈hadoop的优化。
2)面试
(1)自我介绍
(2)说下你们公司的数据流向(从kafka出来的是结构化还是非结构化信息,有没有试过导入结构化数据)
(3)HBase的rowKey设计,为什么这样设计?
(4)Mysql千万级,亿级数据怎么导出ElasticSearch在你们公司怎么用的?
(5)Redis在实时处理中如何使用?
(6)Hadoop优化
111 神州泰岳
牛逼上市企业,主要做实时数据对接展示,用到flume+kafka+kafka清洗再回kafka+streaming+redis+es+展示
项目一条一条细抠,技术基本全问,spark优化和数据核对验证方面比较在意。没有笔试题
112 如禹投资
如禹投资 窗口函数,udf函数,数仓搭建。大概就这些吧。公司刚搭数仓,数据都没全导入进入呢。
113 国信博飞
(1)Map成者HashMap的存储原理
(2)当数据表中A、B字段做了组合索引,那么单独使用A或单独使用B会有索引效果吗?
(3)HTTP协议,GET和POST的区别?
(4)一条sql执行过长的时间,你如何优化,从哪些方面?
(5)序列化的原理和作用?
114 天虹商场
(1)如果canal传入kafka的数据无序应该怎么办?
(2)Flink实时和spark的区别?
(3)你们的数据存在hdfs上还是hbase,格式是什么
(4)你们公司的数据量有多少
(5)你在公司项目中起到什么作用
(6)Join和left join
115 袋鼠云面试题
115.1 学长1
(1)Spark怎么做到Exactly-once?
(2)flink的怎么和rocksDB交互的。画一个流程图。(这个我也不会)
(3)flink怎么实现Exactly-once?
(4)flink on yarn 的任务提交流程?
(5)rocksDB为什么可以存储那么大的数据量。
(6)使用eventtime+watermark的时候,如果数据到6点结束了。怎么保证最后一条数据能计算。
(7)你理解的什么样的数仓是一个好的数仓。
(8)你们有做过数据的结果的校验吗?怎么校验的(很重要,金融的业务不允许有误差,深圳的是金融业务部门。可以容忍慢,但是不能错。)
(9)要是能自己去看看flinksql就更好了。最新的flink已经支持sql的写法了。业务用的就是flinksql。
(10)公司是做数据中台。主要用的技术就是flink。多准备一下flink的技术。
***面试通过者,薪资可以参考20
115.2 学长2
(1)Flink topN的实现
(2)使用状态后端的时候与hdfs/rocksdb的交互(没懂,不是checkpoint检查点机制)
(3)窗口的触发机制、压力监控及处理、设置时间语意、连续处理
(4)jvm
(5)用原生api创建线程池和调用
(6)map和list的各实现类的用法与区别
(7)数仓各层的理解
(8)物流宽表和订单宽表为什么不做到一块儿
(9)怎么把hdfs上的数据导到hive,内外表
(10)星型模型和雪花模型,事实表维度表
(11)namenode的内存结构
(12)数据质量监控
(13)kafka的数据重复在数仓怎么处理的
(14)存储格式及对比
(15)项目中遇到的问题
116 飞贷金融面试题
(1)Pulsar与Kafka的主要区别
(2)Java常用的设计模式,适用场景
(3)Java多线程,多线程的阻塞,唤醒,中断,适用场景,如何控制
(4)Impala运行机制,架构,优化机制(自己写的)
(5)CDH怎么增加,删除一一个节点
(6)堆序???我给他说了堆排序不知道是不是
(7)Sqoop的应用场景,会有什么限制,4M的性质,跟1M有什么区别,什么场景用4M,那种场景不可用4M,架构如何,优化
总结:这个人比较喜欢问Java,对Java要求比较高,姓谭,比较喜欢简说各种名词,你没听清回问他,他会不耐烦
117 喜茶面试面试题
一共面了5轮,人事,技术,人事,产品,人事。
目前数据部门有4个人,负责人说是数仓已经搭建完了,刚上spark,用spark sql去跑指标,想招会实时的。他看着简历的技能点来问,问了flume,kafka,都是基本的问题比如kafka的副本机制,flume是如何搭建的,又遇到什么问题,随便编一下就好了。然后主要问实时算子,map和mappartition源码有没有看过,我说没看过,但是说了一下具体的区别和使用场景,开发问了一下实时指标,但是他没问我实时指标的具体实现过程。然后转回来问数仓数仓的架构,然后我就每一层做什么都说了一遍,问题有哪些维度表,怎么确定主题,拉链表怎么做的,问了做过哪些离线指标,也没有问具体实现。然后问数仓的CUID(我不知道这是啥)是怎么实现的,我说我了解过,然后问我HQL能力怎么样,问我有几种子查询类型问我用过几种,会不会写select的子查询,这时候我有点懵,但是他很快又转了话题,问spark streaming 怎么实现精确一次,又问了kafka挂了怎么办,然后就说他们需要用java写spark代码(方便维护和扩展),问我可以转过来吗?我说我得适应一段时间,他说给1个月时间可以吗,我说我试试吧(心虚),之后就没谈到技术相关的。
重点是,人事,人事,人事,这人事先后和我聊过3次从不同的角度问同一个问题,一直让我说上一家公司,领导印象,怎么入职的,最难的工作经历,为什么来深圳等等,有的问题问了3遍,我去!她一直面带c微笑,笑里藏刀,反复核实我过往经历的真伪,真不好搞,最后说了薪资结构,1周内给回复。
再补一句,人事重复问经历,java做实时计算,产品指标理解,这三个重点想一下。
118 五矿证券面试题
(1)mapreduce的理解,答了五个步骤
(2)hive半天跑不出任务。也没有报错,你咋办?实际工作中就是会出现。你怎么分析
(3)spark和hive的shuffle区别。性能优缺点
(4)spark任务的过程,spark 工作的优化
(5)hive工作的优化
(6)你怎么保证数据的准确性。他们做金融的,要求很高。
(7)任务调度。azkaban 感觉很重要。他们可能想招运维。问我如果做自己不喜欢的工作咋办。
(8)如果一个男生水平跟你相当,怎么劝服我选你,不选他。(这是什么鬼问题)
(9)你怎么确定数据的准确性。
(10)如何保证数据干净。
(11)讲了一堆,我都不理解的问题。电商跟金融相差太远了。对数据的侧重点也不–样。
119 来电面试题
(1)首先让我画出数仓的结构
(2)问我mysql中改变的业务数据如何做监控,例如用户修改资料如何捕捉到
(3)之后问了我如何做清洗,UDF怎么写
(4)然后问了我整个离线的架构,然后我就画了图
(5)之后他问我那些表做全量哪些表做增量,状态改变的数据该用哪些表(我说拉链表然后他问我拉链表的实现
(6)之后问了我公司集群资源的问题,我们公司共有多少计算资源内存资源和存储资源
(7)然后问我们离线任务和在线任务的资源是如何分配的,给各类任务会分配多少,会不会有分配不够的情况,分配不够的情况怎么办。
(8)然后问了任务调度问题(阿兹卡班,问了任务失败了如何重试,如何设计依赖或流程自动解决这种问题
(9)然后问了我我们的在线业务的架构,并询问在线业务资源分配情况,以及kafka如何和spark结合,在线和离线如何分配计算资源,解决计算资源上的不足
120 太平金科面试题
1)选择题
1.下面哪个程序负责 HDFS 数据存储?
A、NameNode B.Jobtracker C.Datanode D、secondaryNameNode
2.HDfS中的block 默认保存几份?
A、3份 B、2份 C、1份 D、不确定
3.下列哪个程序通常与NameNode 在个节点启动?
A、SecondaryNameNode B、DataNode C.TaskTracker D、Jobtracker
4.HDFS默认BlockSize 是多少?
A、32MB B、64MB C、128MB
5.Client 端上传文件的时候下列哪项正确A、数据经过NameNode 传递给DataNodeB、Client 端将文件切分为Biock,依次上传C、Client只上传数据到一台DataNode,然后由NameNode 负责Block复制1作
6.下列哪项通常 是集群的最主要瓶颈
A、CPU B、网络C、磁盘10 D、内存
7.关于 ScondaryVNameNede哪项是正确的?
A、它是NameNode的热备
B、它对内存没有要求
C.它的目的是帮助NameNode 合并编辑日志,减少NameNede 启动时间D、SecondaryNameNode应与NameNode部署到一个节点
8.下列哪项可以作 为集群的管理?
A、Puppet B、Pdsh C、ClouderaManager D、Zookeeper
9.配置机架感知的下面哪项正确
A、如果一个机架出问题,不会影响数据读写
B、写入数据的时候会写到不同机架的DataNode中C、MapReduce会根据机架获取离自己比较近的网络数据
10.下列哪个是 Hadoop运行的模式
A、单机版B、伪分布式C、分布式
11.Cloudera 提供哪几种安装CDH的方法A、Cloudera manager B、Tarball C.YumD.Rpm
12.下面对 HBase的描述哪些是正确的?
A、不是开源的
B、是面向列的C、是分布式的
D、是一种NoSQL数据库
13.HBase依靠()存储底层数据,依靠()提供消息通信机制,依赖()
提供强大的计算能力。
A、HDFS B、HadoopC、Memory D、MapReduce A、Zookeeper B、Chubby C、RPC D、Socket A、Zookeeper B、Chubby C、RPC D、MapReduce
14.MapReduce与HBase的关系,哪些描述是正确的?
A、两者不可或缺,MapReduce 是HBase可以正常运行的保证B、两者不是强关联关系,没有MapReduce,HBase 可以正常运行C、MapReduce可以直接访问HBase D它们之间没有任何关系
15、HBase中的批量加载底层使用()实现,HBASE 分布式模式最好需要()个节点。
A、MapReduce B、Hive C、Coprocessor D、BloomFilter A、1B、2C、3
D、最少
2)叙述题
1、简述hdfs的体系结构。
2、请列出你所知道的hadoop调度器,并简要说明其工作方法?
3、hadoop 的namenode 宕机怎么解决?
4、简述HDFS读写数据的过程
5、SPARK集群运算的模式
121 边锋科技
(1)关系型数据库和非关系型数据库的区别和应用场景?
(2)MySQL事务和隔离级别
(3)HDFS读写流程
(4)MapReduce流程
(5)HIVE和Hadoop的关系
(6)数仓分层,每层都做了什么;都有什么事实表
(7)分析的指标有什么?
(8)数据倾斜的处理?
122 明天医网(杭州)
(1)集群服务器配置
(2)集群架构的分配,为什么这样做
(3)如何保证集群数据的安全性
(4)数据如何监控 zabbix插件来监控
(5)数据如何可视化 echarts kibana quickBI
(6)集群数据保存多长时间 半年到一年,公司一般会进行数据存档一次
(7)项目组成员分工
(8)集群的数据量
(9)APP的用户数 100w,每天交易的用户数 10w,每天的数据量 100g
(10)分析得指标
(11)如何实现每天的数据进入数仓中,自己手动写SQL吗,还是其他的方式? 数据通过flume+kafka采集到hdfs上,然后写sql导入依次导入ods,dwd,dwd。ads(azkaban调度)
(12)未来的发展规划
123 大地
薪资不高,能开到22左右。
大概要招聘3到4个那样子。刚起步
上班时间10点----19点
1)技术部分
(1)主要做会员的用户画像,用户行为分析。
(2)目前在北京有大数据团队,他们用的是clickhouse做的数仓,神测数据做的数据分析。
(3)后期想将大数据部门clickhouse中的会员数据在
(4)深圳在搭建一套clickhouse集群,并将数据抽取过来,
(5)对flink cep 的事件处理有要求,最少能答出来。flink的原理,窗口函数,背压,等会问。
2)面试1面hr
(1)问项目中遇到的有难度的事 可以答权限的这个
(2)写了兴趣,比如看书,他会问你最近看了什么样的书。
(3)华为的管理啥的,google的工作技巧啥的。偏重领导层
(4)面技术就答看的技术书了 什么kafka实战啥的。
3)二面技术
(1)先自我介绍,基于自个的业务可以介绍用到的数仓建设
(2)实时指标统计等。
(3)然后会问flink的原理,flink的cep,一系列的。
(4)能答出clickhouse的各种表引擎更好。
4)三面lead
(1)对数据中台建设的简单扼要概括
(2)线性矩阵,维度建模,分层,血缘,数据管理,数据地图等
5)四面 小boss
(1)一个业务场景 不同事件实时统计指标
(2)往flink cep上靠就好了。
(3)他问你有啥好问的,问他数据战略方向
(4)让他多说,稍稍做个符合就好。
124 比客面试题
124.1 学长1
比客的面试:你写了什么就问什么,不写他不问,还是看你简历
(1)Java的熟不熟,常见的Java集合说一下
(2)spark streaming消费kafka,怎么样保证数据消费唯一性,举一个例子说明一下
(3)说一个你熟悉的spark实时指标(我说了黑名单的实时指标,我说最后把数据放到redis中,然后问我为什么设置这样的格式存储,你手写一下具体的实现过程,写完后,他说,你公司的广告有几千个吧,日活有100万,每天每个用户点击的每个广告都统计,至少是亿级别的吧,你们存放到redis中不会挂)
然后我就说了一句不会,我们用redis cluster,然后就没问了
(4)hdfs读写原理,spark shuffle过程,zk的写原理(我简历写了),spark常用的算子
(5)kafka的leader挂了怎么样吧,kafka消费数据堆积怎么样处理
(6)spark数据倾斜,hive调优
(7)随便写了几个字段,叫你分析一下,每个部门的员工薪资top3
(8)你了解hbase,说一下写流程,读写流程谁快
124.2 学长2
PKFARE比客 2019.11
1)技术部分
(1)用canal同步mysql发送到kafka,发送订单状态表,状态一直在变化,怎么知道状态的时间顺序?比如加购订单支付这三个状态来的时间不一样,怎么判断谁先谁后?怎么不消费状态错误的数据?
(2)怎么证明你从kafka消费的数据没有丢失?导入的每张表的数据都是正确的?如果有100张表,不可能每张表都去写模拟数据测。(不是埋点测数据量这个答案,是要每张表都能保证数据正确)
(3)dws层主要做什么?为什么要有dws层?你们宽表怎么建模的?你有没有建过模?所以你就是负责写hql?。。。
(4)flink的指标spark streaming做不到吗?说低延迟的话,会问这个指标的实时性好像也没有要求这么高吧?
(5)他们用druid和kylin很多。。。
(6)用oozie调度任务,假设说我有一张ads层的表不想导了,要自动把前三层跟这张表相关的那些表也停止不导了,怎么做?
(7)最近看什么书?为什么离职?前公司情况?对公司的期望?
2)二轮人事面
3)三轮总监面,非科班会质疑你怎么学习大数据的,还有给一些场景问要怎么解决
4)四轮老板面要等老板有空再安排
125 上海飞末
(1)hadoop的高可用是如何配置的 zk + jn
(2)大量数据集合在一个dn如何平均分配
(3)hdfs上数据满了如何处理
(4)最近的工作,你的主要任务是什么?
126 滴普科技面试题
滴普科技(深圳 电话面试,人事面)
电话面试基本对着你的简历来,上来直接就是:
(1)Hadoop读写流程;
(2)MR整个流程;
(3)宽窄依赖
(4)spark提交流程(结合topN来说,我直接分开说的);
(5)spark提交参数
(6)sparkstreaming消费kafka中数据的API?有什么区别
(7)说几个行动算子;reguceByKey是什么算子
(8)spark优化
(9)kafka的框架(会问每个分区数据怎么分配);kafka如何保证数据准确(应该说的是精确消费)
(10)redis框架,内存会出什么问题(应该是穿透和血崩,我没答上来),redis的数据类型,set与zset的区别
(11)HBase读写流程
(12)oozie和azkaban的区别,框架,流程,模型(我想挂掉电话了)
(13)MySQL的两种引擎,区别,索引
(14)JVM内存分区?各区主要干啥的?
(15)Java的类加载知道吗,说一下
(16)GC机制
(17)hashmap的底层源码,容量是多大,再问了一个并发安全的什么map(我没听懂)
(18)Druid框架
(19)hive架构,那四个器件的作用
(20)整个离线框架,
(21)Linux查CPU和内存和磁盘的命令
(22)awk用过吗(我直接说没用过)
(23)vim快捷键 到最后一行等
原谅我还有几个小问题实在想不起来了,他们做服务中台的,要派到甲方公司去干活,不是外包那种。小公司A轮,36楼办公室不大,她说后面会搬,深圳的团队还在搭建。
127 索信达面试题
(1)没问技术点直接问项目
(2)Spark消费kafka产生多个task为什么?
(3)Hive分区分桶
(4)Hive如何实现top N
(5)Spark转换算子有哪些
128 加满分科技面试题
1)笔试题
(1)Hive中Sort By.Order By,Cluster By.Distrbute By各代表什么意思
(2)写出将jmf.txt文件放入Hive中jmf,jmf 的分区字段是day_time.写出建表语句,并将数据加载到jmf这张表中。jmf.txt 文件地址为linux的/root/jmf.txt
(3)假设现有一张Hive表,表名为jmf
元数据格式为:
字段:sentence stirng
数据格式如下:a,b,c,d,a,a,e,e
需要变成:
a 3
b 1
c 1
d 1
e 3
129 凯立德面试题
大数据开发工程师面试题(笔试题)
答题时间:60 分钟
(1)请列出正常工作的hadoop集群中hadoop都需要启动哪些进程,他们的作用分别是什么?
(2)请简述mapreduce中combiner、partition 作用?
(3)ZooKeeper集群中角色分别有哪些,简述其作用。
(4)spark有哪些组件?
(5)Kafka 中的HW、LEO、LSO、LW等分别代表什么?
(6)Scala中两种变量类型val和var的区别?
(7)Maven编译、测试、打包、安装、清理与发布命令操作?
130 云帆加速面试题
公司主要使用spark做数仓,需要好好准备spark,如果可以,可以一直说,停下来后,基本对着简历一个个问题问
(1)hadoop读写流程,yarn得job提交流程,如果客户端在dn上,会怎么样,以及写数据时候有序节点的顺序会有哪几种情况,机架感知相关内容
(2)spark job,stage,task任务划分,shuffle及优化
(3)项目中服务器混用?服务器数量,主要问了kafka,flume是否混,如何隔离
(4)azkaban做任务调度时候,那些场景使用到 任务依赖
(5)用过scala?用了哪些算子,groupbykey和reducebykey区别
(6)是否了解storm,flink
(7)spark消费kafka时用了哪些api
(8)GC常见算法
131 华泰人寿
(1)主要是离职原因的询问
(2)项目中用到的架构及技术,最擅长的技术是什么?
(3)不会的问题怎么解决(查阅资料,还是问人)
(4)学习新技术的渠道
(5)大数据项目团队多少个人
132 行云全球汇面试题
(1)公司没有大数据部门
(2)面试我的人是个大汉,感觉不会大数据,他是湖北宜昌的
(3)他要构建离线数仓项目,没有实时需求
(4)业务数据存在金蝶中,需要帮他设计方案
(5)业务每天变化的数据量大概一天1g
人事问的很麻烦,什么都问,你对组长的看法,能从组长那里学到什么啊?为什么选择它们
133 新房网络科技面试题
面试我的是大数据架构师 偏java方向
(1)自我介绍
(2)尽量将项目讲的细致,es和hbase最好不用,数据量太小,用这两个,他会问很多,如果你有自己的讲解和说服他的地方,可以作为一个亮点
(3)介绍你最熟悉的项目(参与度最高的)我讲的实时项目,他们实时和离线都有用到
(4)你的项目中有遇见什么问题,怎么解决的
(5)面试官是会问java的内容,你每年多少代码量,主要是写什么东西
人事也会问一些组织架构,多少人之类的,
开的薪水范围20k 13薪
现在两个大数据,还要找2个
134 中科闻歌面试题
(1)线程和进程区期2多线程有几种实现方式?
(2)如何理解Jlava接口?
(3)Java 有序集合有哪些?
(4)数据库索引类型有哪些?常用数据库函数有哪些?mysql如何性能优化?
(5)常见排序算法有哪些?编写快速排序程序
(6)Redis 集合类型有哪些?简要说明
(7)列出比较常用的爬虫框架?
(8)数据采集遇到的常 见问题有哪些?
(9)Kafka 的容错机制?
(10)如何优化hive查询速度?(大数据职位)
(11)简要描述大数据生态环境(大数据职位)
(12)Spark 应用转换流程?(大数据职位)
135 科蓝金信面试题
(1)hadoop的shuffle
(2)Spark的shuffle
(3)sqoop导入增量和变化
(4)Azkaban怎样调度
(5)flume拓扑
(6)窗口函数
(7)数仓分层
136 中国联合航空有限公司
(1)hive和mysql的区别
(2)kafka中队列和主题的区别
(3)Hadoop和spark,scala的版本号
(4)hbase存储那些东西
137 前海云途物流面试题
(1)问题比较常规
(2)然后sparkcore要会
(3)他们是准备把老的集群换成hadoop和spark的架构
(4)他们公司12台机器,一台512g的内存。半年的活跃数据在1t左右。每天业务数据50g左右。
(5)准备搭的架构是spark对接hbase,数仓四层数据全部放到hbase中,用sparkcore和Sparksql处理,主要做实时。离线不太需要。然后hive和hbase做一个映射,hive中只存ods和ads层,做一些报表。
(6)还问了canal监控的一些问题,canal是什么?监控的什么?
138 广州高奈特面试题
这家公司是为公安局开发大数据的,提早预测某些犯罪的发生,或寻找犯罪人员之类,做维稳的。偶尔要出差广西柳州,大概一个月出差2周。没有笔试,但有十几个大数据开发人员,所以面试会问一些技术问题,大部分尚硅谷教的可以回答,尤其要复习一下spark。还有,问过,10000个线程的for循环每条睡5秒,要多久运行完成。还有行为数仓跟业务数仓都导出到hive的话,怎么保证数据一致性?
139 健康160面试题
(1)hadoopshuffle过程
(2)hive优化
(3)flume几个主要组件
(4)hive怎么实现多目录
(5)spark的shuff过程
(6)推荐算法
(7)推荐系统
140 梦享网络面试题
(1)窗口函数,
(2)hive实现topn
(3)为什么用kafka
(4)数据直接导到hive不行吗
(5)datanode副本是同步还是异步
(6)spark的优化,数据倾斜怎么办
(7)业务指标,离线和实时都要说
(8)用户新增怎么实现
(9)穿透机制,
(10)namenode挂了怎么办
(11)整体流程还是不连贯,
(12)数仓分层,每层干什么
(13)实时安全用什么协议
(14)java面向对象吗和面相函数你的理解
(15)hbase会的话可以多聊很多
(16)雪花模型和星星模型的不同
(17)sparkstreaming可靠性语义
(18)map和mappartition的区别
(19)精准一次性消费的可靠性语义
(20)scala中方法和函数的转换
(21)scala用什么实现1到100的累加,用左折叠
(22)讲项目,实时离线都要说
(23)会问一些上家公司的基本情况,日活,数据量,多少台服务器,以及服务器配置
(24)sparkStreaming和flink的区别
(25)redis缓存穿透
141 国网信通亿力科技
(1)为什么用Hbase 存得多,还算可靠,可以自己设计rowkey,根据自己的业务需求提升查询效率
(2)spark优化
(3)数仓建模
142 六度人和面试题
(1)以项目为主,自己说。
(2)做实时过程中,如果手机app 端,数据正好准备上传,但是网断了。然后一个小时之后,这个数据才发过来。那你们怎么进行处理。
(3)es 你做了几页。你的doc 有多少数据量。
(4)实时部分, canal 监控主机,然后主机挂了,从机上位,这个过程中的数据变化咋办
143 中汽知识产权投资运营中心(北京)有限公司
(1)hive的优化
(2)数仓分层及能否应用到公司投资业务上,需求实现
(3)集群架构
(4)HR、经理、技术、组织者一块视频面试
144 数梦工场面试题–杭州
1)一面
(1)说一下你最熟悉的框架的底层原理
(2)hadoop的map端的一个分区数据如果有大量的重复,怎么去重?
(3)es的连接池是怎么做的?
(4)sparkstreaming消费kafka的数据
(5)自定义了哪些udf udtf函数
(6)最难的指标
(7)kafka的offset维护的方式
(8)flink底层是怎么实现精准一次性消费的
(9)kafka的峰值速度
(10)广播变量在代码的哪里开启?
2)二面
(1)spark streaming 过程中oom了怎么办?去哪里查看,怎么调试?
(2)常用的查看内存的工具有哪些?
(3)java的线程池有几种?
(4)spark 做了那些优化?
(5)kafka的架构
(6)数据中台和数据仓库
3)三面
(1)加班可以到什么程度?
(2)可以接受出差吗?
(3)为什么来杭州?
145 安云面试题
(1)对RDD每次处理都是以Job的形式来执行的,DACSheduler 将Job拆分成一系列的Stage.每个Sstage由相关的task 进行处理,DAGSheduler 拆分Job的原则是什么,为何要这么拆分
(2)调用下面类中的方法时报错“Task no1 srilzblo”,为什么public calss Test{
private int param= 10:public function(JavaRDDCintr> rdd)(
rdd.map(x =>x +
param)
}
(3)有3个RDD:P、cl、c2其依赖关系如下,请问父p与子cl、c2是窄依赖,还是宽依赖p---->clp---->c2
(4)为何说Yarn是一个双层调度架构
(5)HBase Column 支持哪些数据类型,用HBase Shell命令定义一个table
(6)HBase 怎样进行条件过滤,与MySQL相比,有何限制
(7)Cassandra 的宽行么理解,举例说明
(8)Cassandra partion-key,cluster-key 上怎样进行范围搜索
(9)请描述,当在Client 端提交一个Spark 应用到Yarn 上发Cluster方式运行时,Client、RM、Driver、Executor、Task 之间的关系
146 讯方面试题 -深圳
146.1 学长1
(1)介绍一下Hive的业务场景及使用经历?
(2)介绍一下Spark的业务场景及使用经历?
(3)简答题:现已从相关网站及平台获取到原始数据集,为保障用户隐私和行业敏感信息,已进行数据脱敏。脱敏后的数据存放hdfs:hoteldata/hoteldata.csv.初始数据集来自多个网站及平台系统,且为多次采集汇总,因此数据集中不可避免地存在一些胜数据,即源数据不在给定的范围内或对于实际业务毫无意义,或是数据格式非法,以及在源系统中存在不规范的编码和含糊的业务逻辑。请分析数据集hoteldata,根据题目规定要求实现数据清洗。基础字段信息包括但不限于:city:tring,hotel:Sring,price:Double,grade:Double,consumer:String,address:tring.roomsNum:String1
(1)城市游客接纳能力是城市规划建设中的重要指标,其中城市的酒店数量和房间数量是城市游客接纳能力的关键要素。请编写程序或脚本根据酒店管理网站中的数据统计各城市的酒店数量和房间数量,以城市房间数量降序排列并输出前10条统计结果,并写入指定的数据库或数据文件。
(2)酒店的间夜量也叫间夜数,是酒店在某个时间段内,房间出租率的计算单位。1个房间被使用1个晚上被记作1个间夜数,如一个酒店一周内有30个房间被入住1晚,7个房间被入住两晚,则间夜数为130+27,44个间夜。
根据现有数据及给定参数完成酒店间夜量数据统计,并写入指定的数据库或数据文件。
146.2 学长2
1)一面
(1)自我介绍
(2)描述一下数据源和流向
(3)描述一下kafka中broker、topic、partition的关系 相同partition的不同副本如何分布
(4)hive支持的文件格式
2)二面
(1)自我介绍
(2)对hadoop生态圈哪些更熟
(3)实时熟还是离线熟 能聊下实时架构吗
(4)描述hbase写数据的流程 region元数据放在哪里
(5)kafka ack应答机制描述
(6)spark数据倾斜了解吗 数据倾斜会导致什么现象 如何判定那个key造成数据倾斜
(7)hbase大合并和小合并 预分区
(8)flume架构组成 常用的channel类型 常用的sink类型 flume调优指的是哪些
(9)zookeeper选举机制
(10)yarn提交流程
(11)hbase主键设计原则
(12)shell脚本呢 是定时任务还是人工
(13)linux命令 磁盘 内存 剩余内存free 定时任务
(14)es了解吗
(15)问问题 集群交付和技术支持 你的职业规划 你冶金工程如何做到软件开发这个行业的 编程语言 上家离职原因 期望薪资
147 及刻科技面试题
(1)At-least-once、At-most-once、Exactl-once的可靠性语义是什么意思?
(2)简单描述下自已理解的Raft或Paxos协议。
(3)Kafka 的架构是怎么样的?Kafka如何保证可靠性?
(4)Flume-NG,LogStash的使用场景?区别在哪?
(5)Hadoop的架构是怎么样的?怎么保证高可用?HDFS的读写流程是怎么样的?
(6)Yam的架构是怎么样的?执行MapReduce任务的过程是怎么样的?
(7)HBase和Cassandra的使用场景?区别是什么?
(8)请简述hive工作原理,元数据存储方式、基本数据类型及复杂数据类型。
(9)hive的开窗函数使用场景,简述你使用开窗函数的例子。
(10)请简述 下如何使用Spark Streaming.
(11)布隆过滤 器的原理是怎么样的?如何在Hadoop.上使用布隆过滤器?
(12)假设有10个指标需要统计,用MapReduce怎么去统计?如果有10000个指标又怎么去统计?
(13)简述Hbase的fter的实现原理,列几个常见hbase fiter 并说明其作用。
(14)请写出以下执行命令
a)杀死一个job?
b)删除hdts上的1tmp/aa 目录
c)加入一个新的存储节点和删除一个计算 节点需要刷新集群状态命令?
148 雁联科技面试题
Flume 采集数据时如果进程挂了,如何实现数据的唯一不出现重复,在哪里实现去重操作,,然后问语言 java单例模式,jvm,spring依赖注入如何实现,scala有没有看过源码 对哪些算子熟悉,spark与数据库进行连接的时候如何进行减少连接使用foreachpartition替代foreach,cdh版本的集群如何搭建,然后目录很深的jar包如何查找
149 中软国际面试题
149.1 学长1
(1)hdfs的Izo到hive的orc怎么实现
(2)mapjoin是小表提前缓存内存中具体那个节点
(3)数据倾斜一般发生在哪端
(4)reduce数据倾斜怎么优化
(5)ads数据分析展示
149.2 学长2
(1)你做过的项目说一下?
(2)你们大数据组有多少人?你负责什么?
(3)你对最近两年和后面几年大数据发展方向有什么看法?
(4)你们公司用的都是Apache,是有专门的运维人员吗?会用CDH吗?为什么你上家公司这么小不用CDH?
(5)你们上家公司的指标都有什么,你负责的讲一下
(6)你做一个指标需要多久?
(7)如果要你将一个kafka堆积的数据取出来怎么办?(已经堵死了)
(8)讲一下Spark和Flink的区别。
(9)你们上家公司主要用的是java还是Scala?都用过什么API?
(10)讲一下你多JVM的看法?
150 QQ音乐面试题
1.s市A,B共有两个区,人口比例为4 :7,聚利时统计A的犯罪率为0.013%,B的犯罪率为0.017%,现有一起盗窃案发生在S市,,那么该案件发生在A区的概率有多大?请写出具体计算过程
2.一个盒子装有六只乒乓球,,其中四个是新球(即未使用过的球),第一次比赛时随机从盒子中取出两只乒乓球,使用完后又放回盒子,第二次比赛又随机取出两只。求:第二次取出全是新球的概率。请写出计算过程。
3. 一个栈的的入栈序列为 ABCDE,则栈的不可能的输出序列为
A. DCBEA B, ACBED C. DCEBA D. DEBCA
4.已知一棵二树,如果先序遍历的节点顺序是: ADCEFGHB CDFEGHAB,则后序遍历结果为
请画出该二树的结构
5、SQL语言允许使用通配符进行字符串匹配的操作,其中%可以表示
A 零个字符 B. 1个字符 C. 多个字符 D 以上都是
6.以下表的设计,最合理的是
A 学生(id,mname,age), 学科(id,name),分数(学生id, 学科id, 分数)
B 学生(id, name,age)分数(学生id,学科id,学科name,分数)
C 分数(学生id,学生name,学生age,学科id,学科名称,分数)
D 学科 (id,name), 分数(学生id,学生姓名,学生age,学科id, 分数)
7.如有有一张表 player,有id,name两个列,我想知道这张表有多少行数据,id最大的前10位的name是什么,请问这两个SQL语句如何写?
8. 1)使用SQL实现以下数据表行转列及总分、平均分(数据表:table)
输入表:t_user_score1
姓名 科目 分数
备注:包含语文、数学、外语
输出表:t_user_score2
姓名 语文 数学 外语 总分 平均分
2)使用SQL实现以下数据表列转行
输入表:t_user_score1
姓名 语文 数学 外语
输出表:t_user_score2
姓名 科目 分数
备注:包含语文、数学、外语
9.查询数据表(play),基本字段如下:
省(province),市(city),歌手(singer_id),播放次数(paly_cnt)
求每个市的歌歌手排名前三的歌手和播放次数
10.用户登陆日志表为user_id, log_time(格式为:“2018-10-20 10:20:30” 字符串),session_id,platform
1)用sql查询近30天,每天平均登录用户数
2)写sql查询出近30天,连续访问7天以上的用户数量
11、设张三的mp3里有1000首歌,现在希望设一种随机算法来随机播放,与普通随机模式不同的是,张三希望每首歌随机到的概率比是与一首歌的豆瓣评分(0~10分)成正比的,如朴树的《平凡之路》评分为8.9分,逃跑计划的《夜空亮的星》评分为9.5分,则希望听《平凡之路》的概率与《夜空中最亮的星》的概率比为89:95现在我们已知这1000的豆瓣评分,请设计一种随机算法来满足张三的需求
12. 有7克、2克砝码各一个,天平一只,如何用这些物品三次将140克的盐分成50克、90克两份?
151 迅策科技面试题
1)技术面:
(1)RDD、DF、DS的区别
(2)实时数据怎么获取?做过哪些比较难的实时指标?怎么做的?
(3)Spark内核:提交流程、shuffle工作原理、DAG、任务切分(每个问的很细)
(4)窗口函数怎么用的?有没有优化的办法?
(5)Spark做过哪些优化?Kryo序列化原理是什么?(因为简历写了这个)
(6)Spark实时每天处理的数据量多少?
(7)Spark和MR的区别?
(8)zookeeper选举机制(机制名称,具体原理)
(9)Kafka节点挂了怎么办?数据积压怎么办?
(10)离线数据哪里来的?业务数据有哪些?业务数据的字段有哪些?数据量有多少?分析指标需要多久?
(11)数仓负责哪一块?怎么做的?表结构知道吗?有没有做过比较难的指标?怎么实现的?
(12)dws层有哪些?字段有哪些?
(13)为什么要用Redis?讲一讲Redis的原理?用Redis集群了吗?宕机怎么办?
(14)推荐系统用了哪些算法?原理你懂吗?能手推吗?怎么实现的?要跑多久?
(15)Java基础怎么样、数据结构与算法(队列、链表、排序算法等)有没有学过?有没有实现过?
(16)还有很多各框架的基础问题,好好复习资料足以应付。
本次面试,来的直接是负责人,不让自己介绍项目,直接不间断提问一个小时,基本上都是围绕你简历上出现过的技术点和框架去问(简历翻了快10遍…………),问的范围超过简历的,实在不会就说不了解即可。
2)HR面:
(1)刚进入公司什么情况?
(2)你们公司是做什么的?
(3)做过哪些工作?
(4)部门人员组成,你负责的内容?
(5)为什么来深圳?
(6)之前税前薪资多少?多少薪?
(7)期望薪资多少?
152 美辰科技面试题
(1)mapreduce cache file的原理
(2)spark shuffle宽窄依赖
(3)Hadoop的调度
(4)hbase的filter原理,说说你项目中用到的场景
(5)sqoop中把hdfs的数据写入mysql,怎么保证数据不重复,sqoop怎么操作
(6)zk工作原理
153 平安面试题–外包金证科技
平安外包金证科技
3.请简要描述数仓的分层结构,以及每一层的作用和搭建原则。
4.简述Hive静态分区和动态分区的区别。
154 平安面试题–平安(58楼)
1、简单阐述内部表和外部表的区别
2、如何建立分区表
3、分区表的作用
4、简单阐述 TXT、RC、ORC文件类型的区别
5、之前工作经验中的调优实战
6、如何识别数据倾斜,数据倾斜的原理与解决措施
155 平安面试题–网新新思(平安外包)
先是自我介绍,完了介绍项目、项目架构,他们貌似没有用到两级的Flume,问为什么不能直接用一级Flume怼到HDFS,我回答的是kafka消息队列是为了sparkStreaming流式处理用的,离线是可以直接只用一级Flume(也不知道对不对);还有怎么监控到数据采集丢了数据,我回答用Ganglia,如果尝试次数大于成功次数那就是丢数据,然后他又问丢数据了怎么办,我说日志数据丢点无所谓,他说假如就不能让你丢怎么办;我说那channel就用FileChannel、ack改为-1;他说这样效率很慢;我说那既要安全又要效率那就有点困难,他说客户就要这样,最后给他扯了说把实时和离线两条线拆开来,离线就只用Flume-HDFS,实时就是Flume-kafka-SparkStreaming,(这样其实我感觉也没什么大的卵用)还有数据采集有没有遇到过什么问题:我就说了两个:TaildirSource重复消费数据问题和kafka数据积压问题
他们目前主要面临有两个问题:
1、就是前面说的数据采集的质量,怎么可以高效率又安全的传输;
2、他们业务扩张要数据库迁移,从Oracle到Hive,会问若像订单数据昨天同一个客户将已经下好的订单退货了,而你昨天晚上已经将数据到入到hive中了,今天又将Oracle的订单进行的物理删除,问Oracle和hive的数据不一致了怎么办;
我回答做拉链表跟踪订单状态,但是他觉得这个不是最好的办法,想要知道还有没有其他的更好的解决办法;我就不懂了。。。
有大神知道怎么解决的话可以去试一试,可以多要点薪水。。
156 平安面试题–平安本部54楼寿险
(1)hdfs读写流程
(2)解释一下etl
(3)手写快排
(4)sqoop如何实现增量导出
(5)一些sql题,我不懂就只有行列转置
157 平安面试题–平安寿险外包(核心开发部门)
157.1 学长1
(1)下面两个sql语句查询的结果相同吗?如果不同,不同在哪里,在什么情况下,查询的结果是相同的,请查询出两个语句查询结果不同的数据
select a.,b. from a left join b on a.id=b.id and a.no=b.no
select a.,b. from a left join b on a.id=b.id where a.no=b.no
(2)a,b两个表都有id、name两个字段,b是a的子集,请写出sql查询出a中数据不在b中的数据
(3)hive数据倾斜的处理
(4)给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?