java面试题

IT行业经典非技术面试题汇总

 

工作面试自我介绍怎么说?(附范文)

 

Java实习生笔试

 

我碰到的Java实习面试题集合

 

java类的初始化及实例初始化加载顺序

https://blog.csdn.net/qq_38815856/article/details/90107122

 

java最全的单例模式详解

https://blog.csdn.net/qq_38815856/article/details/90114864

 

面向对象主要有四大特性

 

redis持久化

RDB持久化:

是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。

优点:

  • 节省磁盘空间
  • 恢复速度快

缺点:

  • 虽然redis在fork是使用了写实拷贝技术,但是如果数据庞大还是比较耗费性能。
  • 在备份周期在一定时间做一次备份,所以如果redis意外down掉,会丢失最后一次修改。

 

AOF持久化:

以日志的形式记录服务器所处理的每一个写、删除操作。查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。

优点:

  • 备份机制更稳健,丢失数据概率更低
  • 可读日志文本查询处理误操作

缺点:

  • 比RDB占用更多的磁盘空间
  • 恢复备份更慢
  • 每次读写都同步,有一定性能压力

redis持久化的两种方式

https://www.cnblogs.com/chenliangcl/p/7240350.html

 

Mysql建立索引场景

定义:可以理解为“排好序的快速查找数据结构”。

优势:

  • 提高检索效率,降低数据库的IO成本
  • 通过索引列对数据进行排序,降低数据排序的成本,降低了CPU消耗

劣势:

  • 降低了更新表的速度,对表进行insert、update和delete都会对调整因为更新所带来的键值变化后的索引信息,因为更新表会更新这些索引信息
  • 所以也是一张表,保存了逐渐与索引字段,并指向实体表的记录,所以要占用空间。

使用场景:

  • 主键自动创建唯一索引
  • 频繁作为查询条件的字段
  • 查询中与其他表关联的字段,外键关系建立索引
  • 单键/组合索引的选择问题,组合索引性价比更高
  • 查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度
  • 查询中统计或者分组字段

不适用场景:

  • 记录太少
  • 经常改动
  • where条件里用不到的字段
  • 过滤性不好的字段(比如性别难以定义出单条数据)

 

Redis在项目中的使用

数据类型

使用场景

String

比如说 ,我想知道什么时候封锁一个IP地址。Incrby命令

Hash

存储用户信息【id,name,age】

Hset(key,field,value)

Hset(userKey,id,101)

Hset(userKey,name,admin)

Hset(userKey,age,23)

----修改案例----

Hget(userKey,id)

Hset(userKey,id,102)

为什么不使用String 类型来存储?

Set(userKey,用信息的字符串)

Get(userKey)

它会取出多余的字段序列化,影响性能

List

实现最新消息的排行,还可以利用List的push命令,将任务存在list集合中,同时使用另一个命令,将任务从集合中取出[pop]。

Redis—list数据类型来模拟消息队列。【电商中的秒杀就可以采用这种方式来完成一个秒杀活动】

Set

特殊之处:可以自动排重。比如说微博中将每个人的好友存在集合(Set)中,

这样求两个人的共通好友的操作。我们只需要求交集即可。

Zset

以某一个条件为权重,进行排序。

京东:商品详情的时候,都会有一个综合排名,还可以按照价格进行排名。

 

Elasticsearch 和 Solr 的区别

背景:它们都是基于Lucene搜索服务器基础之上开发,一款优秀的,高性能的企业级搜索服务器。【是因为他们都是基于分词技术构建的倒排索引的方式进行查询】

区别:

  1. 当实时建立索引的时候,solr会产生io阻塞,而es则不会,es查询性能要高于solr。
  2. 在不断动态添加数据的时候,solr的检索效率会变的低下,而es则没有什么变化。
  3. Solr利用zookeeper进行分布式管理,而es自身带有分布式系统管理功能。Solr一般都要部署到web服务器上,比如tomcat。启动tomcat的时候需要配置tomcat与solr的关联。【Solr 的本质 是一个动态web项目
  4. Solr支持更多的格式数据[xml,json,csv等],而es仅支持json文件格式。
  5. Solr是传统搜索应用的有力解决方案,但是es更适用于新兴的实时搜索应用。单纯的对已有数据进行检索的时候,solr效率更好,高于es。
  6. Solr官网提供的功能更多,而es本身更注重于核心功能,高级功能多有第三方插件。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值