面试问题记录(一)

spring booot注解是怎么扫描注入的?

  • 列表内容

IOC分别指什么?

  • Inversion of Control

IOC具体是怎么注入的?

  • 构造器注入
  • setter注入
  • 注解注入

是单例的还是多例的?

  • 单例

假如我在单例的情况下我要维护一个多线程的一个变量,应该怎么去实现?

  • 枚举
  • 双重检锁
  • 内部类

双重检锁的关键字是什么?

  • synchronized
  • volatile

有没有用过ThreadLocal关键字?

  • 看这里

session和cookie有什么区别?

  • 看这里

session会不会生成一个cookie到客户端?

  • 当我们正常情况下使用session的时候,实际上打开浏览器访问网站,服务器分配一个会话给客户端后也就同时创建了一个没有设置Expires(浏览器缓存有效时间)属性的cookie用来保存该客户端session的标识,这样客户端请求服务器的时候,服务器会先获取并检查这个伴随session一起建立的cookie里的值,然后对比服务器上的session.id,知道是哪个客户端的请求后再将属于这个客户端的session用于程序处理。这就是在默认情况下有cookie状态的session工作的基本流程

因为http是一个无状态的协议,那我是怎么确定用户是否登陆过?

  • 使用token

request携带一个session,这个session是从哪里来的?

数据库外连接和内连接有什么区别?

关键字是?

数据库操作如何保持数据一致性?

能保证操作的原子性吗?

service层是如何实现事务的?

@Transactional底层有没有看过?

假如我写一个存储过程,中间失败了要进行一个回滚,@Transactional和这个回滚操作是否是一致的?

最近有没有在学新的技术

shiro是怎么拦截权限的?

怎么实现拦截机制的?

  • AOP

Redis的应用场所在哪里?

这些本地缓存也可以做,为什么要用Redis呢?

Redis需要另起一台服务器,涉及到网络通信,这块不如本地缓存

假如在多台服务器下,都去操作Redis的同一个key,怎么在多线程下实现?

你在项目中担任怎么样的角色?

单元测试一般用的什么工具?

  • JMeter
  • postman
  • Junit

你可能感兴趣的:(面试及笔试)