一些面试经验(java)

最近面试了几家公司,下面来谈一谈一些被问到的感觉重要的面试题。以后会更新滴
1、Mybatis的缓存?
Mybatis有一级缓存和二级缓存。
一级缓存是Sqlsession不同,是session级别的缓存;二级缓存是基于mapper文件的namespace的。
2、jdk1.8和之前有哪些区别?
主要是hashmap跟concurrenthashmap。
hashmap1.8之前底层是数组加链表,1.8之后是数组加链表加红黑树,在链表长度达到8的时候变成红黑树增加查询效率。
concurrenthashmap之前是好多个segment,加锁都加在整个segment上,不影响其他的segment操作;1.8之后摒弃了segment的概念,变成Node数组+链表+红黑树,加锁变成sychronized+CAS只加在头node节点上。
3、说说HashMap
这个是老生常谈的问题了,数组加链表、hash &(length-1)、1.8之后的区别。
4、数据库的索引
主要分为聚簇索引和非聚簇索引。
聚簇索引存储的是一行数据,而非聚簇索引存储的是这一行的主键和索引值,所以当非聚簇索引要查询的时候会根据主键来获取数据(这一操作称为回表)。
Mysql索引底层结构用的B+树和hash索引。

5、重载和重写
6、各个访问修饰符的区别
7、JVM的垃圾回收算法和垃圾收集器
8、volatile和JMM
9、线程池的调用过程及七大参数
10、spring bean的生命周期,aop是在哪一步
11、synchronize和lock的区别
12、简单介绍AQS
13、sql优化,explain着重关注哪几个字段

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值