大数据专业大二认证考试(==简答题==)

大数据专业大二认证考试(简答题)

A

1. linux中编辑文件的2种方式?(3分) 

  • vi  文件名 和  vim 文件名

2. Linux中如何在显示目录内容的时候以M为单位显示文件大小?(3分)

  •  1 du -sh *
     2 
     3 实例(效果图 并非答案内容):
     4 [root@master /]# cd opt
     5 [root@master opt]# ll
     6 总用量 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.gz
    12 75M    mysql-libs.zip
    13 29M    sqoop-1.4.6-cdh5.5.2.tar.gz
    14 [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 def func(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 join tab2 t2;
    18  4.where外键条件多表查询 多个条件之间用and连接
    19      特点:相当于内连接,效果一致
    20      语法:select * from tab1 t1,tab2 t2,... where 外键条件(关系) and 条件1 and 条件2...;

B

1. linux中管道和重定向的区别?(3分)

区别是:
 1.左边的命令应该有标准输出 | 右边的命令应该接受标准输入
   左边的命令应该有标准输出 > 右边只能是文件
   左边的命令应该需要标准输入 < 右边只能是文件
   
 2.管道触发两个子进程执行"|"两边的程序;而重定向是在一个进程内执行
 ​
再概括下:
 一般如果是命令间传递参数,还是管道的好,如果处理输出结果需要重定向到文件,还是用重定向输出比较好。 

2. 简述Mybatis的作用和特点?(3分)

 作用:
 1. 消除了 90% 以上的jdbcAPI
 2. 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操作字典中存储的数据值value
     2. 字典(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 table limit 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和Edit
Log,将它们加载到内存中进行合并得到新的FSImage。然后会将新的FSImage上传到NameNode上,替换原有的FSImage

3. Flume的三大核心以及作用,配置文件需要修改的地方3点 (8分)

  • Flume Agent 主要由三个组件构成,分别是 Source、channel、Sink
     Source分有不同类型: 
         1. 与系统集成的 Source: Syslog  
         2. 自动生成事件的 Source: Exec 
         3. 监听文件夹下文件变化:Spooling Directory Source,Taildir Source  
         4. 用于 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
     vim 1.txt
     键入 i
     键入 dello dmeo
     键入 esc 
     键入 shift+: --> wq

2. Mybatis中IOC的三种方式?

  • Bean的三种实例化方式(无参构造,静态工厂,非静态工厂)
     <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
             "http://www.springframework.org/dtd/spring-beans-2.0.dtd"><beans>
         <!--使用无参构造实现bean实例化-->
         <bean id="user" class="com.dw.entity.User">
             <property name="name" value="刘文鑫"></property>
         </bean><!--使用静态工厂实现bean实例化-->
         <bean id="userfactory" class="com.dw.factory.UserFactory" factory-method="createUser"></bean>
         <!--使用非静态工厂实现bean实例化-->
         <bean id="userfactory1" class="com.dw.factory.UserFactory1"></bean>
         <bean id="user1" class="com.dw.entity.User" factory-bean="userfactory1"></bean>
         
     </beans>

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应用于家庭日常多
原文地址:https://www.cnblogs.com/lszbk/p/12951073.html