java面试一

1.数据库的三范式?

①第一范式:数据库表的每个字段都是不可分割的②第二范式:数据库表的非主属性完全依赖于主键③第三范式:不存在非主属性对关键字的传递函数依赖关系。

2.mysql表中有多少触发器?

6个,before insert,after insert,before update,after update,before delete, after delete

3.mysql有关权限的表都有哪几个?

mysql服务器通过权限表来控制用户对数据库的访问,权限表存在mysql数据库里,由mysql_install_db脚本初始化,分别为User,db,table_prin,host

4.存储引擎说白了就是如何存储数剧,如何为存储的数据建立索引,如何更新查询数据等技术的实现方法。

5.快速失败fail-fast和安全失败fail-safe的区别是什么?

iterator的安全失败时基于对底层集合做拷贝,它不受原集合上修改的影响,java.util包下的所有集合类都是快速失败会抛出concurrentModifiedException异常,而java.util.concurrent包下面都是安全失败。

6.mybatis的嵌套查询和嵌套结果有什么区别?

三种关联关系:一对一使用<association>元素进行一对一关联映射,一对多使用<collection>元素,多对多也使用<collection>元素

嵌套查询:

<collection property = "orderslist" column = "id" ofType = "com.itcx.po.Orders" select = "com.itcx.mapperOrdersMapper.selectOrders"/>

嵌套结果:

<collection property = "orderList" ofType = "com.itcx.po.Orders">
    <id property = "id" column = "orders_id"/>
    <result property = "number" column = "number"/>
</collection>

嵌套查询的查询语句写起来简单,但是执行的sql语句多性能低,嵌套结果的查询语句写起来难一点,sql语句只执行一条性能高

7.cookie与session的区别?

①cookie数据存放在客户端浏览器session数据存放在服务器上②cookie不是很安全,别人可以分析存放在本地的cookie进行cookie欺骗,考虑安全性应该使用session③session会在一定时间内保存在服务器上,当访问增多会比较占用服务器性能④单个cookie保存的数据不能超过4K

8.mysql的四种隔离级别?

①读未提交:可能造成脏读,不可重复读,幻读② 读已提交:可能造成不可重复读,幻读③可重复读:可能造成幻读④串行化

9.负载均衡策略?

①轮询:每个请求按时间顺序逐一分配到不同的后端服务器②指定权重:指定轮询的几率,weight和访问比率成正比③IP绑定ip_hash每个请求按访问的hash结果分配,每个访客固定访问一个后端服务器。

10.spring容器创建对象的方式,对象的作用域?

①使用无参构造器创建②使用静态工厂方法getInstant创建③使用实例化对象工厂方法创建

scope = "singleton" lazy-init = "false" 启动容器就创建对象,只有一个
scope = "prototype" 只在调用getBean方法才创建多个不同的对象

11.接口幂等性?

接口幂等性就是用户对于同一操作发起的一次请求或多次请求的结果是一致的,不会因为多次点击而产生了副作用

①token机制:生成全局唯一的token放到redis或jvm内存,token会在页面跳转时获取,存放到pageScope中,支付请求提交先获取token,后台校验token执行提交逻辑,提交成功同时删除token生成新的更新redis,这样当第一次提交后token更新了页面再次提交携带的token是已删除的token后台校验会失败不让提交②使用状态机:状态在不同的情况下会发生变更,一般存在有限状态机这时如果状态机已经处于下一个状态,这时来了一个上一个状态的变更理论上是不可能变更的③分布式锁④数据库添加唯一索引

12.solr倒排序索引?

倒排索引就是实现单词-文档矩阵的一种具体存储形式,通过倒排索引可以根据单词快速获取包含这个单词的文档列表,主要由单词词典和倒排文件构成。单词词典是所有文档集合中出现过的所有单词构成的字符串集合。倒排列表是记载了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息。倒排索引原理:首先要用分词系统将文档自动切分成单词序列,这样每个文档就转换成为由单词序列构成的数据流,对每个单词赋予一个唯一的单词编号,同时记录哪些文档包含这些单词得到倒排索引。

13.在static方法上枷锁获取到的锁属于类的锁,而在非static方法上枷锁获取到的锁属于当前对象的锁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值