面试-玄武

本文仅自己见解。。。

一、简答题:

1.列出java面向对象的几个基本特性,并说明继承、多态分别有哪些好处。
特性:继承、封装、多态
好处:个人理解是可以减少重复代码的编写,如:可以通过继承父类中共有的特性,子类中只需要实现自己的特性即可

2.java编写多线程有哪几种实现方式
① 实现Thread类
② 实现Runnable接口,然后在实现run()方法
③ 调用Thread的start()方法

3.多线程、线程池分别解决什么问题

4.NoSQL相比传统关系型数据库有哪些关键的优势

NoSQL的优点:
① 灵活的数据模型,结果相比后者更丰富,传统关系型数据库都是结构化的表,nosql可以是列式存储,key-value和文档存储
② 更易扩展,像NoSQL可以随时随地的添加新的服务器
③ 高可用,查询效率高。传统关系型数据库受限于磁盘IO,在高并发的情况下,压力倍增,而像redis这种内存数据库,每秒支持10W次读写
④ NoSQL的成本费用也相较Oracle这种企业级的授权费用要低

NoSQL的缺点:
① 不支持标准化查询
② 不支持事务(redis支持事务,mongoDb不支持事务)
③ 技术不够成熟
④ 只能保证数据的相对一致性

5.Reids、HBase的各自特点以及应用场景

Reids优点:
① 非常丰富的数据结构
② Redis提供了事务的功能,可以保证一串命令的原子性,中间不会被任何操作打断
③ 数据存在内存中,读写非常快,可以达到10W/s的频率

适用场景:
最佳应用场景,使用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序
如:微博、数据分析、实时数据收集、实时通讯等。

HBase优点:
① 存储容量大,一个表可以容纳上亿行,上百万列
② 可以通过版本进行检索,能搜索到所需的历史版本数据
③ 负载高时,可以通过简单的添加机器来实现水平分扩展
④ 可避免单点故障的发生
适用场景:
bigtable类型数据存储
对数据有版本查询需求
应对超大数据量要求扩展简单的需求

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值