大数据面试题汇总

面试题1:

老板: 去打开xxx服务器的应用yyy的网页?你会涉及到哪些Linux命令

ip #知道IP,之后需要知道yyy的端口号
ps -ef|grep yyy –》pid # 找到pid
netstat -nlp|grep pid –》port # 找到端口号
浏览器: http://ip:port
要确定ping的通和telnet的通端口号

面试题2:

每隔10s打印一次 怎么做

1
*/6 * * * * # 不对,这是每6分钟

如果时间是秒

1
2
3
4
5
6
7
8
9
[root@hadoop001 ~]# vi ruoze2.sh #每次六次之后休眠,10秒一跳
#!/bin/bash
for((i=1;i<=6;i++));
do
date
sleep 10s
done

[root@hadoop001 ~]# chmod +x ruoze2.sh # 设置完之后需要赋权限,所有人都拥有可以执行的权限

面试题3

datetime timestamp差别

1.datatime字段默认为NULL, timestamp为NOT NULL默认值为当前时间
2.DATATIME使用八字节的存储空间,TIMESTAMP的存储空间为4字节。TIMESTAMP空间利用率更高
3.timestamp存储和时区相关,即会根据时区做转换。datatime存进去是什么就是什么不会变动

面试题4

这个班级的每个学科的成绩的前三名的同学

#哪些部门的哪些职业的薪水和,薪水最高1位的职业是什么
1.每个部门的每个职业的薪水和或者平均值

1
2
3
4
5
6
7
8
9
10
drop view sal; #起别名
create view sal
as
select
deptno,job
sum(sal+ifnull(comm,0))# 注意ifnull
from emp
group by deptno,job;

select * from sal;

2.哪些部门的哪些职业的薪水和,薪水最高1位的职业是什么

1
2
3
4
5
6
7
8
9
10
select 
a.*
from sal a
where
(
select count(*) from sal
where a.deptno=b.deptno
and a.sal<b.sal #判断最高
)=0
order by a.deptno

面试题5

端口号范围:
1-65535

面试题6

HDFS写流程

HDFS写流程

面试题7

HDFS读流程

HDFS读流程

面试题8

HDFS副本放置策略

HDFS副本放置策略

面试题9

HDFS有两套相同作用的上传下载指令:
-get上传 -put 下载
-copyToLocal 上传 -copyFromLocal 下载\

面试题10

MapReduce2.x 架构设计 = mr on yarn提交流程 = yarn的架构设计

https://wangqi1994.github.io/2020/05/17/MapReduce2.x的架构设计/

面试题11

请问作业的主程序运行在那个节点
namenode
datenode
resourcemanager
nodemanager-container干活

面试题12

假如节点有其他组件,比如HBase RS节点
256G内存
cpu物理core 32核

DN
NM
HBase RS=30G

请问以上6个参数如何设置?
预留256*20%=51.8G
暂定52G
dn=2G
nm=4G
HBase RS=30G
container 总内存256-52-2-4-30=168G
物理core32,设置pcore:vcore=1:2
vcore =64
一般设置vcore最大4,那么container有16个
所以每个内存最大是10G

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# cpu参数
<property>
<name>yarn.nodemanager.resource.pcores-vcores-multiplier</name>
<value>2</value> # pcore:vcore=1:2
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>64</value> # 可用虚拟vcore数
</property>
<property>
<name>yarn.scheduler.minimum-allocation-vcores</name>
<value>1</value> #可用虚拟vcore最小数,极限情况下 是32个
</property>
<property>
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>4</value>
</property>

#内存参数
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>168</value> # 该参数控制所有container内存之和,生产上需要调整,默认只有8G
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1</value> #container容器内存最小值,默认1G
</property> #在极限情况下,会存在96个container,每个内存1G
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>10</value> #container容器内存最大值,官方默认8G,应该改为上面参数的最大值
</property> # 极限情况container 16个,所以设置为10G

笔试题1

byte的取值范围0-127

变量做加法时不知道会不会超出范围,所以会自己给提升范围,会改变数据类型,自动变为int,所以会因为类型不一致而编译不过

如果后边是常量,则不会出现问题

笔试1

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2017-2021 WANG Qi
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信