大数据专业大二认证考试(简答题)
A卷
1. linux中编辑文件的2种方式?(3分)
vi 文件名 和 vim 文件名
2. Linux中如何在显示目录内容的时候以M为单位显示文件大小?(3分)
1 du -sh *
2
3 实例(效果图 并非答案内容):4 [root@master /]# cd opt5 [root@master opt]# ll6 总用量 195860
7 -rw-r--r--. 1 root root 92834839 5月 11 20:13 apache-hive-1.2.1-bin.tar.gz
8 -rw-r--r--. 1 root root 77807942 5月 11 20:13 mysql-libs.zip
9 -rw-r--r--. 1 root root 29909691 5月 11 17:33 sqoop-1.4.6-cdh5.5.2.tar.gz
10 [root@master opt]# du -sh *
11 89M apache-hive-1.2.1-bin.tar.gz12 75M mysql-libs.zip13 29M sqoop-1.4.6-cdh5.5.2.tar.gz14 [root@master opt]#
3. HDFS上传以及下载的命令是什么?(5分)
上传命令:
1 hadoop fs -put 源文件 hdfs目标地址
下载命令:
1 hadoop fs -get hdfs原文件地址 linux本地地址(省略默认当前目录)
4. Python中如何构建一个类,如何创建一个方法?(7分)
创建类(关键字 class) :
class Foo(object):
创建方法(关键字 def) :
1 deffunc(self):2 print("Hello Foo")
5. 请解释一下Spring的作用和特点?(7分)
spring 作用
Spring框架是为了解决企业应用开发的复杂性而创建的。
Spring的用途不仅仅限于服务器端的抄开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。使用基本的JavaBean代替袭EJB,并提供了更多的企业应用功能。
spring 特点
1--降低了组件之间的耦合性, 实现了软件各个层之间的解耦2--可以使用spring容器提供的服务, 如: 事务管理, 消息服务3--容器提供单例模式支持4--容器提供AOP技术, 利用它很容易实现权限拦截, 运行期监控5--容器提供了众多的辅助类, 能加快应用的开发(org.springframework.jdbc.core.JDBCTemplate 等)6--spring对主流的应用框架提供了集成支持, 例如: hibernate,JPA, Struts, Mybatis(IBatis)7--Spring属于低侵入式设计, 代码污染度极低8--独立于各种应用服务器9--spring的DI机制降低了业务对象替换的复杂性10--spring的高度开发性, 并不强制应用完全依赖于spring, 开发者可以自由选择spring的部分或者全部
6. MySQL中的两表内连接语句语法?(5分)
1 以下内容出自薛老师笔记2 表连接查询3 连接查询:同时涉及多个表的查询4 连接条件:同时连接两个表的条件 表1.字段=表2.字段5 1.内连接 inner join
6 特点:两个表交叉的部分被查询出来7 语法:select 字段... from tab1 t1 inner join tab2 t2 on连接条件;8 2.外连接9 ①左外连接 left[outer] join [outer]可以被省略10 特点:左表中的记录全部出现在结果中,如果对应的某行记录在右表中没有对应关系,则右表会自动补空(值)11 语法:select 字段... from tab1 t1 left join tab2 t2 on连接条件;12 ②右外连接 right[outer] join
13 特点:右表中的记录全部出现在结果中,如果对应的某行记录在左表中没有对应关系,则左表会自动补空14 语法:select 字段... from tab1 t1 right join tab2 t2 on连接条件;15 3.交叉连接 cross join
16 特点:A表中的记录一一匹配B表中的所有记录17 语法:select 字段... from tab1 t1 cross jointab2 t2;18 4.where外键条件多表查询 多个条件之间用and连接19 特点:相当于内连接,效果一致20 语法:select * from tab1 t1,tab2 t2,... where 外键条件(关系) and 条件1 and 条件2...;
B卷
1. linux中管道和重定向的区别?(3分)
区别是:1.左边的命令应该有标准输出 |右边的命令应该接受标准输入
左边的命令应该有标准输出>右边只能是文件
左边的命令应该需要标准输入
再概括下:
一般如果是命令间传递参数,还是管道的好,如果处理输出结果需要重定向到文件,还是用重定向输出比较好。
2. 简述Mybatis的作用和特点?(3分)
作用:1. 消除了 90%以上的jdbcAPI2. sql从java代码中解耦出来,写到xml配置中,可复用,可读性好3. 数据类型转化,可以实现自动化
特点:1. mybatis是一种持久层框架,也属于ORM映射。前身是ibatis。2. 相比于hibernatehibernate为全自动化,配置文件书写之后不需要书写sql语句,但是欠缺灵活,很多时候需要优化3. 简单易学4. 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
3. HDFS上传以及下载的命令是什么?(5分)
上传命令:
hadoop fs -put 源文件 hdfs目标地址
下载命令:
hadoop fs -get hdfs原文件地址 linux本地地址(省略默认当前目录)
4. Python中字典和集合的存储特点?(7分)
字典存储特点:1. 字典不具备索引的概念,但可以通过字典的键key操作字典中存储的数据值value2. 字典(dict)内部存放的顺序和键key放入的顺序是没有关系的3. 字典可以根据键(key)进行数据的添加、删除、修改、查询等操作4. 字典的key是唯一的且必须是不可变的类型(对象), 如纯元素可以作为字典的key
集合的存储特点:1. 集合(set)是python内置的一种存储无序不重复数据的数据存储模型2. 集合是无序不重复数据的数据存储模型,它没有索引的概念,集合中的数据可以进行添加、删除等操作
5. 请解释一下springmvc的执行流程?(7分)
1. 发起请求到前端控制器 (DispatcherServlet)
2. 前端控制器请求 HandlerMapping 查找 Handler --(可以根据 xml 配置,注解进行查找)
3. 处理器 映射器 HandlerMapping 向前端控制器返回 Handler
4. 前端控制器调用处理器适配器去执行 Handler
5. 处理器适配器去执行 Handler
6. Handler 执行完给适配器返回 ModelAndView
7. 处理器适配器向前端控制器返回 ModelAndView --(ModelAndView 是 SpringMVC 框架的一个底层对象 ,包括 View 和 Model)
8. 前端控制器请求视图解析器去进行视图解析 --(根据逻辑视图名解析成真正的视图(jsp))
9. 视图解析器向前端控制器返回 View10. 前端控制器进行视图渲染 --(视图渲染将模型数据 (在 ModelAndView 对象中) 填充到 request 域)
11. 前端控制器向用户响应结果
6. MySQL中的分页查询的语法?(5分)
select * from tablelimit m,n
limit是mysql的语法,select * from table limit m,n 其中m是指记录开始的index,从0开始,表示第一条记录,n是指从第m+1条开始,取n条。select * from tablename limit 2,4。即取出第3条至第6条,4条记录。
C卷
1. 简述大数据云计算和hadoop的关系?(5分)
云计算因大数据问题而生,大数据驱动了云计算的发展,而Hadoop在大数据和云计算之间建起了一座坚实可靠的桥梁
2. HDFS中三个node以及作用?(5分)
namenode:名字节点维护着整个文件系统的文件目录树、文件/目录的元数据信息和文件的数据块索引(每个文件对应的数据块列表)。这些信息在NameNode中保存在两个文件中,分别是FSImage(命名空间镜像)和EditLog(编辑日志)
datanode:真实存放数据的节点,默认数据块3副本,保证数据的冗余存储
Secondary NameNode:不停的获取在某一个时间点NameNode的FSImage和EditLog,将它们加载到内存中进行合并得到新的FSImage。然后会将新的FSImage上传到NameNode上,替换原有的FSImage
3. Flume的三大核心以及作用,配置文件需要修改的地方3点 (8分)
Flume Agent 主要由三个组件构成,分别是 Source、channel、Sink
Source分有不同类型:1. 与系统集成的 Source: Syslog2. 自动生成事件的 Source: Exec
3. 监听文件夹下文件变化:Spooling Directory Source,Taildir Source4. 用于 Agent 和 Agent 之间通信的IPC Source: Avro、Thrift
channel : Channel Channel 是一个缓存区,是连接 Source 和 Sink 的组件,它缓存 Source 写入的 Event,直到被 Sink 发送出去。
Sink : 负责将 Channel 中的数据写入HDFS
ip 采集日志地址 存放日志地址
4. Hadoop完全分布式和伪分布式的差异4点?(5分)
hadoop完全分布式:3个及以上百的实体机或者度虚拟机组件的机群。
hadoop伪分布式:一个节点
5. Hive中2次排序的语句2种?(7分)
select * from test distribute BY id sort by id asc;select a.* from (select * from test cluster by id ) a order by a.id ;
D卷
1. linux中如何实现创建一个demo目录创建一个1.txt文件并写入内容‘hello dmeo’?(5分)
mkdir demo
cd demo
vim1.txt
键入 i
键入 dello dmeo
键入 esc
键入 shift+: --> wq
2. Mybatis中IOC的三种方式?
Bean的三种实例化方式(无参构造,静态工厂,非静态工厂)
/p>
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
3. Springmvc的核心和3大组件其配置文件在哪个包下 (5分)
WEB-INF
4. Python中如何将2个列表转换为一个字典?(5分)
1 x = ['a','b']2 y = [1,2]3 print(dict([x,y]))4 5 输出结果:6 {1:2,'a':'b'}
5. Mysql中已有teacher表实现查询"李"姓老师的数量?(5分)
select count(*) from teacher as t where t.name like '李%';
6. Linux和window的差异(3点)(5分)
linux开源免费 windows收费
linux安全性高 windows长中毒 安全性差
linux应用于服务器多 windows应用于家庭日常多