java、python、mysql、ssm、hadoop 的理论知识

java面向对象
1.Overload和Override的区别?Overload的方法是否可以改变返回值的类型?
    Overload是在一个类里面方法的重载, 指方法名相同参数类型,个数,顺序不同, 来实现的方法重载
    Override是在继承关系中, 子类重写父类的方法, 方法名, 返回值, 参数都必须相同. 
    重载的时候是可以改变方法的返回值的, 因为重载与方法的放回值类型无关
2.构造方法的作用是什么?构造方法和普通方法的区别 ?
    构造方法的作用是在新建一个对象的时候, 调用构造方法来创建对象. 
    构造方法和普通方法的区别: 
    1.    普通方法必须有返回值类型修饰符, 而构造方法不能有返回值类型修饰符;
    2.    构造方法名必须和类名相同
    3.    普通方法用来定义对象的行为, 而构造方法用来初始化
3.String和StringBuffer的区别
    1.String对象内容是不可改变的,StringBuffer是可以改变的,并且高效
    1.string对象是不可变的,StringBuilder与StringBuffer都继承自AbstractStringBuilder(抽象)类,    AbstractStringBuilder中是使用字符数组保存字符串,可知这两种对象都是可变的。
4.static的作用和用法?
    Static的作用是把属性和方法定义为静态的, 可以在不创建对象的时候就调用这些属性和方法. 它只需要初    始化一次, 可用来定义不经常改变的属性, 或者是对象的计数器. 
    用法:类名.属性 或 类名.方法名() , 即通过类名直接调用.
5.访问修饰符有哪些?各自的作用范围是什么?
    Private: 私有的, 本类中
    Public: 共有的, 任何位置 
    Protected: 受保护的, 本类, 同一个包和子类中可以访问
    缺省的: 同一个包中
6.什么继承?继承有什么优点?继承使用什么关键字?继承的特点?继承的限制?一个类可以同时继承多个类吗?所有类的父类是什么?
    继承就是一个类继承另一个类的属性和方法. 继承的优点是可以实现代码的重用, 使组件类型保持一致.     Extends关键字, 类只能单继承类, 但可以实现多个接口. 所有类的父类是Object类
7.接口和抽象类的区别
    抽象类是指abstract关键字所修饰的类, 里面可以包含普通方法和抽象方法, 还可以有构造函数和普通属性. 
    Interface是接口,里面只能包含常量和抽象方法, 不能有构造方法,普通属性和普通方法, 也不鞥你有main方    法,
    抽象类是一个类, 而接口的核心是方法
8.请说说引用和对象?
    引用是指一个指向引用数据类型地址的指针, 对象是指一个类的实例. 
    引用可以指向一个对象, 对象也可以包含多个引用
    对象是引用数据类型, 引用数据类型不仅仅包含对象
9.java中异常的处理方式
    A.如果能够找到一个有意义的方法来捕获异常,就立即引入这个方法
    B.否则就应该考虑做某些处理后传递或者再次抛出异常,也可以把异常转换为另一种形式,然后抛出一    个新的异常
    C.另一个方法是,可以完全忽略这个异常,而把它加到方法的头部的throws语句中,由调用这个方法的    方法来处理它
    D.通过捕获一个公共的异常超类,可以在一个块里面捕获多个异常,但不能够用一个空的catch语句 块    来完全制止一个异常
10.什么叫方法的重载?构造方法可以重载吗?
    Overload是在一个类里面方法的重载, 指方法名相同参数类型,个数,顺序不同, 来实现的方法重载
    构造方法可以重载
11.类变量和实例变量的区别
    类变量也叫静态变量,也就是在变量前加了static 的变量;
    实例变量也叫对象变量,即没加static 的变量;
    区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实    例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
12.类属性和实例属性的区别
    1.类的属性类和实例都可以访问,实例的属性类不可以访问只有类能访问,
    2.定义方式也不同
python
 切片  列表 字典  集合 元组  面向对象 爬虫模块和方法
1.简述try、except语句的用法
    我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except
    try:
        执行语句
    except (Error),e:
        异常处理
    else:
        如果没发生异常,执行语句
    finally:
        有无异常,都执行
2.简述read. readline. readlines的区别
    f.read() 把所有的字一次性读出并作为一个大的字符串。for遍历时为单字
    f.readline() 只读取第一行,并作为一个字符串输出。for遍历时为单字
    f.readlines() 将整个文本全部读出并输出一个列表,把每行的字做为一个字符串。for遍历时为一行
3.简述实例属性与类属性的区别
    类是一个特殊的对象即类对象,描述类的属性称为类属性,它属于类。类属性在内存中只有一份,所有实例对象公用,在__init__外部定义。
    实例属性:用来描述类创建出来的实例对象,需要通过对象来访问,在各自对象的内存中都保存一份,在__init__方法内部定义。
4.实例方法与类方法,静态方法的区别
    实例方法由对象调用,至少一个self参数,self代表对象的引用
    类方法由类调用,至少一个cls参数,并且需要装饰器@classmethod修饰
    静态方法由类调用,不需要参数,需要装饰器@staticmethod修饰
5.简述切片的语法
    [开始:结束:步长]
    开头:当步长>0时,不写默认0。当步长<0时,不写默认-1
    结束:当步长>0时,不写默认列表长度加一。当步长<0时,不写默认负的列表长度减一
    步长:默认1,>0 是从左往右走,<0是从右往左走
6.简述如何将2个列表转换为一个字典
    字典名 = dict(zip(列1,列2))
7.简述flask的作用
    flask是一个web的轻量级框架,本身相当于一个内核
    作用:降低开发难度,提高开发效率,避免重复造轮子
8.简述pymysql如何连接mysql数据库
    通过pymysql的connect()方法声明一个连接对象db。传入host(ip),user,password,port(运行端口3306)
9.简述爬虫3大模块以及用法
    urllib    urllib.requesturlopen('url')
    urllib3    urllib3.poolmanager().request('GET/POST','url')
    request    request.get('url')
10.pass的作用?continue的作用? break的作用?
    pass    不做任何事情,只起到占位的作用。
    break    终止当前循环,跳出本次循环
    continue    终止本轮循环并开始下一轮循环
11.谈谈你对面向对象的理解?
    万物皆对象
12. 单引号、双引号、三引号的区别?
    双引号""中可以嵌套单引号'',三引号''''''中可以嵌套双引号""和单引号'' 
    三引号的形式用来输入多行文本,也就是说在三引号之间输入的内容将被原样保留,之中的单号和双引号不用转义,其中的不可见字符比如/n和/t都会被保留,这样的好处是你可以替换一些多行的文本
13.Tuple和list的区别
    tuple用()、 list 用 [ ]
    list是一种有序的集合,可以随时添加和删除其中的元素
    tuple是一种有序列表,一旦初始化就不能修改,而且没有append() insert()这些方法,可以获取元素但不能赋值变成另外的元素
14.什么是异常(Throwable)
    程序的运行或者编译时,所产生的错误统称异常(也叫Bug),而异常又分为Error、Exception
15、写代码,有如下列表,按照要求实现每一个功能(12分)

a. 计算列表长度并输出
print(len(list1))
b. 列表中追加元素 “seven”,并输出添加后的列表
list1.append("seven")
print(list1)
c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表
list1.insert(0,"Tony")
print(list1)
d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表
list1.insert(1,"Kelly")
print(list1)
e. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表
list1.remove(1)
print(list1)
f. 请删除列表中的第 3 个元素,并输出删除元素后的列表
list1.remove(2)
print(list1)
g. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表
del list1[2:4]
print(list1)
h. 请将列表所有的元素反转,并输出反转后的列表
reversed(list1)
print(list1)
16、冒泡排序
def bubble_sort(alist):
    # j表示每次遍历需要比较的次数,是逐渐减小的
    for j in range(len(alist) - 1, 0, -1):
        # i表示一次比较要比较多少次
        for i in range(j):
            if alist[i] > alist[i + 1]:
                alist[i], alist[i + 1] = alist[i + 1], alist[i]


if __name__ == "__main__":
    li = [54, 26, 93, 17, 77, 31, 44, 55, 20]
    print(li)
    bubble_sort(li)
    print(li)


Mysql
 常用查询条件
 分组
 排序
 联合查询语法
SSM
 课堂笔记概念部分
1.sprinmvc工作原理?
    1、用户发送请求至前端控制器DispatcherServlet。
    2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
    3、处理器映射器找到具体的处理器生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
    4、DispatcherServlet调用HandlerAdapter处理器适配器。
    5、HandlerAdapter经过适配调用具体的处理器(Controller)
    6、Controller执行完成返回ModelAndView。
    7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
    8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
    9、ViewReslover解析后返回具体View。
    10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
    11、DispatcherServlet响应用户。.
2.写出spring中的注解及其含义(至少6个)
    @Component:其他层
    @Service:业务层
    @Controller:控制层
    @Repository:dao层

    @Autowired:自动装配
    @Qualifier("xxx"):指定bean
    @Resource(name="xxx"):注入bean

    @PostConstruct:初始化
    @PreDestory:销毁
    @Scope(scopeName="xxx"):作用范围

    @Transactional:事务
3.简介Spring MVC中的ModelAndView类?
    ModelAndView用来存储处理完后的结果数据
    model代表模型,view代表视图
    即可返回一个结果数据,又可返回视图信息
4.Springmvc请求转发实现方式
    1.原生的方式
    request.getRequestDispatcher(" ").forward(request,response);
    response.sendRedirect(" ");
    2.redirect和forward
    redirect:路径
    forward:全路径
5.MyBatis的常用动态SQL的元素?
    <if test="条件表达式">:过滤空条件
    when,otherwise:选择
    where,set:条件
    foreach:循环
6.#{}和${}的区别
    #{}:占位符,Java和jdbc类型自动转换,防止sql注入,传简单类型值可以是value或者其他
    ${}:拼接符,Java和jdbc类型不能自动转换,不防止sql注入,传简单类型值只能是value
7. MyBatis编程步骤是什么样的?
    1、 创建SqlSessionFactory
    2、 通过SqlSessionFactory创建SqlSession
    3、 通过sqlsession执行数据库操作
    4、 调用session.commit()提交事务
    5、 调用session.close()关闭会话
8.简述spring是什么
    spring是一个分层的一站式轻量级开源框架
    作用:帮助我们管理bean对象
    目的:将创建对象的过程交给spring容器
9.简述spring和springmvc之间的关系
    springmvc是spring的一部分
    spring是跟容器,springmvc是其子容器
    在上下文中,springmvc容器可以访问spring容器中的bean
    spring容器并不能访问springmvc容器的bean
10.简述spring的2大核心并解释说明
    IOC(控制反转):将创建对象的过程交给spring容器
    AOP(面向切面编程):核心:横向重复,纵向抽取    本质:动态代理
    DI(依赖注入):由容器动态地将某种依赖关系的目标对象实例注入到应用系统中的各个关联的组件之中
11.简述AOP中的名词并解释说明
    joinPoint(连接点):可以被增强的方法
    pointCut(切入点):实际增强的方法
    advice(增强):增强的代码或逻辑
    target(目标对象):增强的类
    aspect(切面):把增强应用到具体的方法上面的过程成为切面
    weaving(织入):把增强应用到目标的过程
    pproxy(代理):将通知应用到目标对象的切入点后,形成代理的过程
12.简述AOP中常用方法5种
    前置通知:before
    后置通知(返回后通知):afterRetruning
    环绕通知:around
    异常通知(抛出后通知):afterThrowing
    最终通知(后通知):after
hadoop
  课堂笔记概念部分
1.简述云计算的3种模式 并解释说明
Iaas 基础设施即服务
Paas 平台即服务
Saas 软件即服务
2.简述大数据、云计算、hadoop之间的关系
hadoop是云计算的产物,是云计算的一种实现
云计算的底层是hadoop,hadoop管理大数据
3.简述hadoop集群中常用的组件
hdfs:分布式文件系统
yarn:分布式资源调度器
mapreduce :分布式基本计算框架
ZooKeeper:分布式协调服务ZooKeeper
HBase:分布式数据库HBase
Sqoop:数据的导入导出
4.简述hadoop中3个node的工作机制 
Namenode: 管理着文件系统的Namespace,分别是Namespace 镜像文件(Namespace image)和操作日志文件(edit log)
SecondaryNameNode:第二名字节点,它定时到NameNode去获取edit logs和系统快照(fsimage)并合并为Eidtlog.new然后在交给名字节点(NameNode).
DataName:DataName按块存储,保存真正的数据
5.简述什么是心跳机制 什么是副本机制
心跳机制 :在namenode和datanode之间维持心跳,当datanode发出的一个数据包没有被namenode收到时,就会认为datanode挂掉了,则重开一台并将数据恢复到新的节点上。
副本机制:每一块都会有2-3个备份存在其他的设备上
6.简述mapreduce的工作流程
map:通过指定的规则截取数据
shuffle:将相同的key放到同一个分区中
reduce:将相同的key保留一个,value的值进行累加。
7.简述HQL与SQL的差异8条
        HIVE        SQL
(1)查询语言        HQl        sql
(2)数据存储位置    HDFS        本地的操作系统的文件系统
(3)数据格式        用户定义        系统定义
(4)数据更新        不支持        支持
(5)索引        无        有
(6)执行(底层)    mapReduce    Executor
(7)执行延迟        高        低
(8)可扩展性        高        低
(9)数据规模        大        小
8.简述hive中加载数据的4种方式
(1)put 直接加载
(2)load data local inpath '' into tabl 表名 (本地加载)
(3)load data inpath '' into tabl 表名 (hdfs加载)
(4)create table 表名 as 查询语句 (复制加载)
9.简述hive的三种安装模式以及特点
(1)内嵌模式:这是最简单的模式,元数据服务和Hive服务运行在同一个JVM中同时使用内嵌的Derby数据库作为元数据的存储,
        该模式最多能支持同时一个用户打开Hive会话。
(2)本地模式:Hive服务和元数据服务仍运行在同一个JVM中不同的是,采用外置的Mysql数据库作为元数据的存储,该方法支持多个用户同时访问hive
(3)远程模式:元数据服务和hive服务运行在不同的JVM中,好处是数据库的底层可以完全地置于防火墙之后,客服端则不需要数据库的验证。
10.简述hbase中都包含什么并解释说明
(1)表名
(2)行键:rowkey(类似于主键)
(3)列族:columnFamily K:V相同列的家族
(4)时间戳:Timestamp 一个key可以有多个value但是每个value都对应有不同的时间戳,默认使用最新的版本。
11.简述hbase和zookeeper之间的交互流程
每个region server 会在zookeeper注册自己的信息zookeeper通过心跳机制管理region server 并将实时数据发送给master 
12.简述flume是什么  其中3大组件的作用
flume是数据采集工具。
三大组件:(1)source(读取数据)
     (2)channel(数据缓存)
     (3)sink 下沉(数据写入)
13.简述什么是yarn 在集群中的作用
YARN是分布式资源调度器 ,作用:控制整个集群并管理应用程序向基础计算资源的分配。
14.简述hadoop1.x与2.x datanode的默认大小
hadoop1.x:64MB
hadoop2.x:128MB
datanode的默认:64MB
15.简述伪分布式和分布式的差异
hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。
hadoop伪分布式:一个节点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值