E签宝面试题

文章目录

    • 1.自我介绍
    • 2.静态方法和普通方法的区别?
    • 3.了解bio/nio/aio吗?
    • 4.Spring中创建Bean的方法?
    • 4.1 通过Spring XML实现
    • 4.2 通过注解实现
    • 5.讲讲集合类?
    • 6.说说ThreadLocal?
    • 7.Redis淘汰策略有哪些?
    • 8.说下对JVM的了解?
    • 9.详细说下堆区?
    • 10.Nacos中有一个服务挂了再调用它会怎么样?
    • 11.讲讲SpringBoot自动装配的原理?
      • 自动装配原理
    • 12.讲讲索引的结构?
      • B+ 树优点分析
        • 1.查询效率
        • 2.插入和删除效率
        • 3.范围查询
    • 13.讲讲线程池方面内容?
    • 14.未来的规划
    • 15.平时学习中碰到的难处
    • 16.讲讲你对设计模式的了解

1.自我介绍

在自我介绍时需要讲清楚以下 4 点:

  1. 你是谁?
  2. 你会什么技能?
  3. 使用这些技能做出过什么项目或成绩?(如果有编程大赛的经历更好)
  4. 你的优势是啥?为什么我们要用你?(可以讲解你的技术栈和企业技术栈的比较匹配)

2.静态方法和普通方法的区别?

静态方法和普通方法的区别主要体现在以下 2 点:

  1. 静态方法是属于类的,而普通方法是属于对象的。因此,静态方法可以在不创建对象的情况下直接调用,而普通方法则需要先创建对象,然后通过对象来调用。
  2. 静态方法不能访问非静态成员变量,而普通方法即可访问静态成员变量有可以访问非静态成员变量。

3.了解bio/nio/aio吗?

BIO、NIO、AIO 三者都是用来实现 IO(Input/Output)操作的,它们的区别如下:

  1. BIO 传统的 java.io 包,它是基于流模型实现的,交互的方式是同步、阻塞方式,也就是说在读入输入流或者输出流时,在读写动作完成之前,线程会一直阻塞在那里,它们之间的调用是可靠的线性顺序。它的优点就是代码比较简单、直观;缺点就是 IO 的效率和扩展性很低,容易成为应用性能瓶颈。
  2. NIO 是 Java 1.4 引入的 java.nio 包,提供了 Channel、Selector、Buffer 等新的抽象,可以构建多路复用的、同步非阻塞 IO 程序,同时提供了更接近操作系统底层高性能的数据操作方式。
  3. AIO 是 Java 1.7 之后引入的包,是 NIO 的升级版本,提供了异步非堵塞的 IO 操作方式,因此人们叫它 AIO(Asynchronous IO),异步 IO 是基于事件和回调机制实现的,也就是应用操作之后会直接返回,不会堵塞在那里,当后台处理完成,操作系统会通知相应的线程进行后续的操作。

简单来说:BIO 就是传统 IO 包,产生的最早;NIO 是对 BIO 的改进提供了多路复用的同步非阻塞 IO,而 AIO 是 NIO 的升级,提供了异步非阻塞 IO。

4.Spring中创建Bean的方法?

注意这里说的是 Spring 中创建 Bean 的方法,而不是 Spring Boot 中创建 Bean 的方法,所以千万不要答错了。 Spring 中创建 Bean 最常见的 2 种方法如下:

  • 通过 Spring XML 中配置 标签来实现。
  • 通过 @Component/@Service/@Controller/@Repository 等注解来实现。

具体实现如下。

4.1 通过Spring XML实现

在 Spring XML 中添加如下配置:

<bean id="user" class="site.javacn.entity"/>

4.2 通过注解实现

比如以下代码实现:

@Component
public 

你可能感兴趣的:(面试题库,java,职场和发展,跳槽,面试)