比亚迪面试

HashMap的底层结构

HashMap 在 Java 中是基于散列算法实现的,其底层主要由数组和链表(Java 8 后加入了红黑树)构成。当一个元素被加入到 HashMap 中时,会使用散列函数计算出该元素的存储索引,然后将元素存储到对应索引的位置。如果两个元素的存储索引相同(发生了哈希碰撞),则会通过链表或红黑树(当链表长度超过阈值时转换)来处理碰撞。

HashMap的存值与取值

  • 存值 :当向 HashMap 中存入一个键值对时,HashMap 会首先计算键的 hashCode,然后根据散列函数找到数组中对应的位置。如果该位置上没有元素,就直接存入;如果有元素(即发生哈希碰撞),则通过链表或红黑树来解决碰撞,将新的键值对添加到链表的末尾或红黑树中。
  • 取值 :取值时,同样首先计算键的 hashCode,然后使用散列函数定位到数组的具体位置。如果该位置上的第一个元素就是所需的键,则直接返回其值;如果不是,则遍历链表或红黑树,直到找到匹配的键。

Spring Boot修改启动端口

在 Spring Boot 应用中,可以通过在 application.propertiesapplication.yml 文件中设置 server.port 属性来修改启动端口。例如:

properties 复制代码
# application.properties
server.port=8081

或者

yaml 复制代码
# application.yml
server:
  port: 8081

修改Tomcat的版本号

Spring Boot 使用内嵌的 Tomcat 作为默认的 Servlet 容器。要修改 Tomcat 的版本,你需要在项目的 pom.xml 文件中覆盖 Tomcat 的依赖版本,例如:

xml 复制代码
<properties>
    <tomcat.version>9.0.41</tomcat.version>
</properties>

Spring Boot配置Redis

要在 Spring Boot 应用中配置 Redis,首先需要添加 Spring Data Redis 的依赖。然后,在 application.propertiesapplication.yml 文件中配置 Redis 服务器的地址、端口和其他参数。例如:

properties 复制代码
# application.properties
spring.redis.host=localhost
spring.redis.port=6379

MySQL左联接与右联接

  • 左联接(LEFT JOIN):返回左表中的所有记录和右表中联结字段相等的记录。如果左表的行在右表中没有匹配,则结果中右表的部分会显示为 NULL。
  • 右联接(RIGHT JOIN):返回右表中的所有记录和左表中联结字段相等的记录。如果右表的行在左表中没有匹配,则结果中左表的部分会显示为 NULL。

MySQL内连接中没有配置上的值

内连接(INNER JOIN)只返回两个表中联结字段相匹配的行。如果某个表中的行在另一个表中没有对应的匹配行,则这些行不会出现在内连接的结果集中。

学习Spring Cloud

面对Spring Cloud的学习,你可以采取以下策略:

  1. 官方文档:Spring Cloud的官方文档是学习的最好起点,它提供了详细的指南和介绍。
  2. 在线教程和课程:网上有许多优秀的Spring Cloud教程和课程,可以帮助你从基础到高级逐步学习。
  3. 实践项目:通过实际项目来应用所学知识,可以加深对Spring Cloud各组件如Eureka、Hystrix、Zuul等的理解。
  4. 加入社区:参与Spring Cloud社区,

比如Stack Overflow、GitHub或者专门的论坛,可以让你及时获得帮助并保持最新的技术动态。

面试中提到的Java知识生疏,说明需要在基础知识和新技术的学习上投入更多的时间和精力。持续学习和实践是提升技术水平的关键。

相关推荐
时差95313 分钟前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
CXDNW2 小时前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0
嚣张农民2 小时前
JavaScript中Promise分别有哪些函数?
前端·javascript·面试
阑梦清川6 小时前
在鱼皮的模拟面试里面学习有感
学习·面试·职场和发展
劲夫学编程7 小时前
leetcode:杨辉三角
算法·leetcode·职场和发展
鱼跃鹰飞15 小时前
大厂面试真题-简单说说线程池接到新任务之后的操作流程
java·jvm·面试
钱钱钱端17 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman
程序员清风17 小时前
浅析Web实时通信技术!
java·后端·面试
测试199818 小时前
外包干了2年,快要废了。。。
自动化测试·软件测试·python·面试·职场和发展·单元测试·压力测试
mingzhi6119 小时前
渗透测试-快速获取目标中存在的漏洞(小白版)
安全·web安全·面试·职场和发展