随笔分类 - 精选面试题
摘要:什么是大模型 Agent?它与传统的 AI 系统有什么不同? 大模型 Agent 是基于大型语言模型并结合模块化规划、记忆和工具调用的自主决策系统,它能够根据最终目标把复杂任务拆分成子任务,调用 API、检索数据库或使用插件,再通过内部循环不断优化执行流程,基本不需要人在每一步都监督。 传统 AI
阅读全文
摘要:服务网关 在微服务架构中,网关的作用是什么 在微服务架构中,网关(Gateway)具有以下作用: 统一入口:网关为所有的微服务提供一个唯一的入口点,从而简化了客户端与服务的交互,同时保障了后台服务的安全性。 鉴权校验:网关能够识别每个进来的请求,并根据其权限进行校验,阻止不符合要求的请求通过。 动态
阅读全文
摘要:配置中心 什么是配置中心?有哪些常见的配置中心? 配置中心是一个用于配置集中化管理目支持动态更新、分发配置文件的工具(服务)。 它实现了配置的统一管理和动态同新,当配置信息发生变化时,配置中心可以自动通知服务实例进行配置更新,这样就可以实例无需重启即可应用最新的配置,从一定程度上减少了系统访问的空窗
阅读全文
摘要:概念 什么是微服务?你是怎么理解微服务的? 微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API),每
阅读全文
摘要:算法/协议 说下paxos算法 Paxos 有点类似 2PC,3PC,但比这两种算法更加完善。在很多多大厂都得到了工程实践,比如阿里的 OceanBase 的 分布式数据库, Google 的 chubby 分布式锁 。 Paxos算法是什么? Paxos 算法是 基于消息传递 且具有 高效容错特性
阅读全文
摘要:Mybatis基础 Mybatis是什么? MyBatis框架是一个开源的数据持久层框架。 它的内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。 MyBatis作为持久层框架,其主要思想是将程序中的大量S
阅读全文
摘要:SpringBoot基础 什么是 Spring Boot? SpringBoot是一个简化 Spring 应用程序开发的框架,它的主要目标是减少 Spring 应用程序的配置和开发复杂性,使我们能够更快地构建、测试和部署 Spring 应用。简单来说,它通过提供默认配置、自动化配置和嵌入式服务器等功
阅读全文
摘要:Spring 事务 详情请查看:Spring 事务 Spring 事务实现方式有哪些? 事务就是一系列的操作原子执行。Spring事务机制主要包括声明式事务和编程式事务。 编程式事务:通过编程的方式管理事务,这种方式带来了很大的灵活性,但很难维护。 声明式事务:将事务管理代码从业务方法中分离出来,通
阅读全文
摘要:什么是AOP? 面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。 面向切面编程和面向对象编程的区别,两者有冲突吗? 面向切面编程(AOP)
阅读全文
摘要:什么是IOC? IOC:控制反转, 是一种设计思想,而不是一个具体的技术实现。IoC 并非 Spring 特有,在其他语言中也有应用。它是通过依赖注入(DependencyInjection)实现的。 核心思想:由Spring容器管理bean的整个生命周期。通过反射实现对其他对象的控制,包括初始化、
阅读全文
摘要:Redis内存管理 Redis的内存用完了会怎样? 如果达到设置的上限,Redis的写命令会返回错误信息(但是读命令还可以正常返回)。 也可以配置内存淘汰机制,当Redis达到内存上限时会冲刷掉旧的内容。 Redis如何做内存优化? 可以好好利用Hash,list,sorted set,set等集合
阅读全文
摘要:常见性能问题和解决方案? Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化。 如果数据比较关键,某个Slave开启AOF备份数据,策略为每秒同步一次。 为了主从复制的速度和连接的稳定性,Slave和Master最好在同一个局域网内。 尽量避免在压力较
阅读全文
摘要:Redis有哪些部署方案? *单机版**:单机部署,单机redis能够承载的 QPS 大概就在上万到几万不等。这种部署方式很少使用。存在的问题:1、内存容量有限 2、处理能力有限 3、无法高可用。 主从模式:一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部
阅读全文
摘要:Redis 支持事务吗?与关系型数据库事务的区别? Redis 支持事务,但它的事务与 MSQL中的事务有所不同,MSOL中的事务主要支持 ACID 的特性,而 Redis中的事务主要保证的是多个命令执行的原子性,即所有的命令在一个原子操作中执行,不会被打断。还有一个很重要的点,就是 MySQL 中
阅读全文
摘要:Redis 数据类型有哪些? 详细可以查看:数据类型及其应用场景 基本数据类型: String:最常用的一种数据类型,String类型的值可以是字符串、数字或者二进制,但值最大不能超过512MB。一般用于 缓存和计数器 Hash:Hash 是一个键值对集合。存储商品的各个属性 Set:无序去重的集合
阅读全文
摘要:对索引使用左或者左右模糊匹配 在MySQL中,LIKE 模糊查询可能会导致性能问题,特别是当使用通配符 % 开头时,因为这通常会导致全表扫描,也就是 like %xx 或者 like %xx% 这两种方式 (左或者左右模糊匹配的时候) 都会造成索引失效。 前缀匹配:一般使用LIKE 'prefix%
阅读全文
摘要:MySQL 中常见的日志有哪些? MySQL日志主要包括查询日志、慢查询日志、事务日志、错误日志、二进制日志等。其中比较重要的是 bin log(二进制日志)和 redo log(重做日志)和 undo log(回滚日志)。 bin log bin log是MySQL数据库级别的文件,记录对MySQ
阅读全文
摘要:查询缓存的作用? 执行查询语句的时候,会先查询缓存。不过,MySQL 8.0 版本后移除,因为这个功能不太实用 开启查询缓存后在同样的查询条件以及数据情况下,会直接在缓存中返回结果。这里的查询条件包括查询本身、当前要查询的数据库、客户端协议版本号等一些可能影响结果的信息。 查询缓存不命中的情况: 任
阅读全文
摘要:什么是索引? 索引是存储引擎用于提高数据库表的访问速度的一种数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。 索引一般存储在磁盘的文件中,它是占用物理空间的。 索引的优缺点? 优点: 加快数据查找的速度 为用来排序或者是分组的字段添加索引,可以加快分组和排序的速度 加快表与表之间的连
阅读全文
摘要:exist和in的区别? exists用于对外表记录做筛选。exists会遍历外表,将外查询表的每一行,代入内查询进行判断。当exists里的条件语句能够返回记录行时,条件就为真,返回外表当前记录。反之如果exists里的条件语句不能返回记录行,条件为假,则外表当前记录被丢弃。 select a.*
阅读全文

浙公网安备 33010602011771号