比亚迪面试

HashMap的底层结构

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

HashMap的存值与取值

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

Spring Boot修改启动端口

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

# application.properties
server.port=8081

或者

# application.yml
server:
  port: 8081

修改Tomcat的版本号

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

<properties>
    <tomcat.version>9.0.41tomcat.version>
properties>

Spring Boot配置Redis

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

# 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知识生疏,说明需要在基础知识和新技术的学习上投入更多的时间和精力。持续学习和实践是提升技术水平的关键。

你可能感兴趣的:(面试,职场和发展)