本文最后更新于 124 天前,其中的信息可能已经有所发展或是发生改变。
HR
- 自我介绍
- 项目难点
- 项目中最难解决的是什么,如何克服的
技术
- springboot常用注解
- 动态sql语句
- Mybatis你怎么使用的
- 服务器和服务器之间怎么通信的
- Post和Get的区别,如何获取数据
- String、StringBuffer和StringBuilder用过吗?有什么区别
答案(gpt生成+个人理解)
springboot常用注解
- @SpringBootApplication:标记主类,组合了
@Configuration
、@EnableAutoConfiguration
和@ComponentScan
,用于启动 Spring Boot 应用。 - @Autowired:依赖注入,将 Spring 容器中的 Bean 注入到当前类中。
- @RequestMapping:映射 HTTP 请求到处理方法,可以定义 URL 和请求方法类型。
- @RestController:组合注解,包含
@Controller
和@ResponseBody
,用于定义 RESTful 控制器。 - @Value:注入配置文件中的属性值,常与
application.properties
或application.yml
配合使用。
动态sql语句
- 使用
<if>
标签 - 使用
<choose>
标签 - 使用
<foreach>
标签 - 使用
<trim>
标签
Mybatis你怎么使用的
- 配置:在项目中添加 MyBatis 的依赖并进行基本配置,包括数据库连接和映射文件位置。
- 创建 Mapper:定义一个 XML 文件或使用注解来编写 SQL 语句,包括动态 SQL 语句。
- 映射接口:为每个 Mapper XML 创建对应的 Java 接口,定义方法与 SQL 语句映射。
- 使用 Mapper:在 Service 层注入 Mapper 接口,并调用其方法以执行数据库操作。
- 集成到 Controller:在 Controller 中调用 Service 层的方法,处理请求并返回结果。
服务器和服务器之间怎么通信的
1.HTTP/HTTPS:
- 通过 RESTful API 或 SOAP 服务进行通信,使用 HTTP 或 HTTPS 协议传输数据。
- 常用于 web 服务、微服务架构等。
2.WebSocket:
- 提供全双工通信,适用于需要实时数据更新的场景,如在线聊天或实时通知。
3.消息队列:
- 使用消息中间件(如 RabbitMQ、Kafka、ActiveMQ)进行异步通信,增强系统的解耦性和可靠性。
4.gRPC:
- 基于 HTTP/2 的高性能远程过程调用(RPC)框架,支持多语言,适合微服务之间的高效通信。
5.Socket:
- 通过 TCP 或 UDP 协议建立持久连接,适用于需要低延迟和高吞吐量的应用场景,如游戏服务器或实时数据传输。
6.文件传输:
- 通过 FTP、SFTP 或 SCP 等协议进行文件的上传和下载,适用于大数据传输。
7.共享数据库:
- 服务器通过访问同一个数据库进行数据交换,适用于数据共享和集成的场景。
Post和Get的区别,如何获取数据
GET
- 功能:请求数据。
- 参数传递:通过 URL(如
example.com/api?name=John
)。 - 安全性:不适合传递敏感信息,因为数据可见。
- 缓存:默认可缓存。
POST
- 功能:提交数据。
- 参数传递:通过请求体,不显示在 URL 中。
- 安全性:相对安全,但仍需使用 HTTPS。
- 缓存:默认不缓存。
数据获取方式
- GET:在浏览器中直接输入 URL,或使用 AJAX 发起请求。
- POST:通过表单提交或 AJAX 发送请求体中的数据。
String、StringBuffer和StringBuilder用过吗?有什么区别
1. String
- 不可变:一旦创建,字符串内容无法更改。任何修改都会创建新的字符串对象。
- 性能:在频繁修改字符串的情况下性能较差,因为每次修改都会创建新对象。
- 用法:适合存储固定内容的字符串。
2. StringBuffer
- 可变:可以修改字符串内容,允许在原有对象上进行修改。
- 线程安全:方法是同步的,适合多线程环境。
- 性能:比
String
更高效,但在单线程环境中相对较慢。
3. StringBuilder
- 可变:与
StringBuffer
类似,可以修改字符串内容。 - 线程不安全:方法不是同步的,适合单线程环境,性能更优。
- 用法:在需要频繁修改字符串的场合,推荐使用。
总结
- 使用
String
当字符串内容固定时。 - 使用
StringBuffer
在多线程环境中需要修改字符串时。 - 使用
StringBuilder
在单线程环境中频繁修改字符串时,以提高性能。