接到一个大佬公司的面试邀请,昨天去了趟感觉到自己的基础还是十分薄弱特别是基础知识这块,这些问题我都接触过但是就是答不出来,之前一直觉得计算机这种东西做出来就行了,然后被深深的打击了一下,现在记录下希望以后回顾继续砥砺前行
1.linux下查看文件第20-30行内容
答:
(1)head -30 ett.txt | tail -11
解析:这个命令是两个命令(head 和tail的组合命令),他的意思是head(显示前多少行)输出前30行,tail(显示后几行)显示后11行(我面试说的10,丢人了)然后就输出了20-30
(2)awk 'NR==20,NR==30' ett.txt
解析:NR表示行号,所以可以直接取出20-30行的内容(没用过这个面试的时候没答出来!!!三剑客要去看看!!)
(3)sed -n '20,30p' file
解析:sed命令 -n 参数搭配p 一起来使用 (-n只显示匹配处理的行,-p打印)
打印尾行
sed -n ‘$p’ file
2.find命令查看.sh文件
答:find / -name=*.sh
解析 / 表示跟目录,当然可以接详细目录,如果要详细查找可以写demo*.sh
3.hbase和hive的区别
答:这个问题我的出发点是两者使用区别,我概述hbase为非关系型数据库,hive为数据查询语言HQL,面试官叫我再重新概述两者调用的底层。
4.hdfs的删除命令
答:这个紧张了差点没答上。。。hadoop fs -rm
5.询问hadoop的搭建过程
答:这个就不解释了,但是他询问了tar -zxvf的参数,这个的确没怎么记过没答上(太菜了还需学习),-z解压zip文件-x从压缩文件提取,-v显示操作过程-f强制解压
6.shuffle是什么
答:这个当时没答上,因为想的是hadoop当中的这个概念接触过但是懵懵懂懂的没细节了解,昨天看了下文章得出结论:从mapp输出到reduce的输入的这个过程称为shuffle过程,步骤为1.分区partition2.Sort根据key排序 3.Combiner进行局部value的合并。(太菜了之前博客自己还写了的东西都忘了)
7.namenode和datanode的作用
答:namenode为管理端负责寻找存储在datanode中的数据以及接受用户请求,datanode是存储端维护blockid到datanode的映射关系
8.请概述下namenode和datanode节点有什么进程
答:这个太多我没记过,当时说的这个没必要记hadoop是master/slave架构设置主从后他会自动将进程进行分配,面试官说不会我下来会继续了解的
9.给你五台云服务器你会怎么搭建hadoop平台
答:我会选择三台异地机房服务器做slave端,两台master做高可用,zabbix用来做监控
10.如果平台10s流量达5g你会选择怎么构建平台
答:我会选择使用八台16g16核服务器,搭建openstack平台按需给相应节点分配资源,其中开设两台跑数据处理,一台做集群监控(技术不过关达不到架构师水平就大概讲解了一下我自己可以完成的工作)
11 hdfs创建文件夹的三个类
答:这个没掌握(面试官说task map reduce)
12 nodemanager和ResourceManager 的作用
答:nodemanager是资源监控器,ResourceManager是资源调度器
13 存储你会采用什么方式
答:会采用hdfs作为存储端,因为运算数据量大而且运算要求速度高,所以io速度必须要快,而且要保证数据安全,老板说的做raid这个的确没掌握过
14.hbase简介下
答:hbase是列处理 key-value架构,可以存储多种类型的数据,他的底层是hdfs,hbase的数据只能修改不能删除
15 你会优化大数据平台吗
答:不会就做过回收站,数据块,同步上传的优化
16 flume用过吗
答:搭建过,但是只是修改了几个配置文件设置了接管日志和输出日志
17 spark搭建过吗
答:搭建过并用了一些很简单的scala处理数据,例如输出乘法表这种
期间还问了很多知识,但是我觉得不具有代表性的我就先不写了,还有一些涉及公司利益的也就不写了,这次面试总的来说还是收获很多的也了解到了自己的不足面试官和老板也很亲切,嘻嘻还是需要多加学习呀