1.自我介绍
在自我介绍时需要讲清楚以下 4 点:
- 你是谁?
- 你会什么技能?
- 使用这些技能做出过什么项目或成绩?(如果有编程大赛的经历更好)
- 你的优势是啥?为什么我们要用你?(可以讲解你的技术栈和企业技术栈的比较匹配)
2.静态方法和普通方法的区别?
静态方法和普通方法的区别主要体现在以下 2 点:
- 静态方法是属于类的,而普通方法是属于对象的。因此,静态方法可以在不创建对象的情况下直接调用,而普通方法则需要先创建对象,然后通过对象来调用。
- 静态方法不能访问非静态成员变量,而普通方法即可访问静态成员变量有可以访问非静态成员变量。
3.了解bio/nio/aio吗?
BIO、NIO、AIO 三者都是用来实现 IO(Input/Output)操作的,它们的区别如下:
- BIO 传统的 java.io 包,它是基于流模型实现的,交互的方式是同步、阻塞方式,也就是说在读入输入流或者输出流时,在读写动作完成之前,线程会一直阻塞在那里,它们之间的调用是可靠的线性顺序。它的优点就是代码比较简单、直观;缺点就是 IO 的效率和扩展性很低,容易成为应用性能瓶颈。
- NIO 是 Java 1.4 引入的 java.nio 包,提供了 Channel、Selector、Buffer 等新的抽象,可以构建多路复用的、同步非阻塞 IO 程序,同时提供了更接近操作系统底层高性能的数据操作方式。
- 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