随笔分类 - 面试问题手册
摘要:Redis有几种基本数据类型 String(字符串) ● 描述:最基本的数据类型,可以存储字符串、整数或浮点数。 ● 常用命令:SET, GET, INCR, DECR, APPEND ● 使用场景:缓存简单数据、计数器(如文章阅读量、点赞量)、存储序列化后的对象(如 JSON)。 Hash(哈希)
阅读全文
摘要:什么是 ABP vNext? ABP vNext 是一个基于 .NET Core 的开源应用程序框架,旨在帮助开发者快速搭建企业级应用程序。它提供了模块化开发、多租户支持、权限管理、依赖注入、自动 API 控制器生成等一系列功能,遵循最佳实践和设计模式,能够提高开发效率和代码质量。 ABP vNex
阅读全文
摘要:主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 主键创建后一定包含一个唯一性索引,唯一性索引不一定就是主键。 唯一性索引列允许空值, 而主键列不允许为空值。 主键可以被其他表引用为外键,而唯一索引不能。 一个表最多只能创建一个主键,但是可以创建多个唯一索引。 主键更适合那些不容易改变的唯
阅读全文
摘要:1. Web服务器 Http配置 Https配置 2. 反向代理服务器 Nginx作为请求入口,客户端访问Nginx,Nginx再将请求转发到后端,最后响应给客户端,以此防止后端服务器对外暴露,提高服务器的安全性。 3. 负载均衡 将Nginx作为负载均衡器,客户端访问Nginx时,Nginx采取某
阅读全文
摘要:主要分为三个阶段,待扫描阶段、已扫描待确认阶段、确认阶段。 待扫描阶段 该阶段主要是生成二维码,属于PC端与服务器的交互。 步骤1:用户登录网页端,选择扫码登录,此时客户端会向服务端发送获取登录二维码的请求,服务端收到请求后,会随机生成一个唯一的二维码ID(UUID),会将二维码ID、二维码ID的信
阅读全文
摘要:行锁(Row Lock) SQLSERVER 行锁是在数据行层面上实施的锁定。当你对特定的行执行操作时,SQL Server 通常会自动使用行锁来确保数据的一致性和隔离性。 使用事务并指定隔离级别:在事务中使用适当的隔离级别可以使 SQL Server 在需要时使用行锁。 BEGIN TRANSAC
阅读全文
摘要:表结构优化,适当加索引,同时SQL语句写法要规范,避免SQL语句不规范使索引不生效。 读写分离 分库分表 通过命令查看语句性能执行情况,Mysql中可以使用explain命令查看。 避免返回不必要的数据。 通过第三方工具监控数据库,例如Prometheus、Grafana、Zabbix等,通过工具采
阅读全文
摘要:聚集索引和非聚集索引包括哪些 在Mysql中,聚集索引一般指的是主键。非聚集索引指的是辅助索引、二级索引。(在Mysql中,只有Innodb引擎支持聚集索引) 聚集索引和非聚集索引优缺点 查询速度上,聚集索引优于非聚集索引。 插入数据速度上,非聚集索引要比聚集索引要快。 聚集索引特点 一个表只能有一
阅读全文
摘要:多年开发生涯你收获了什么 你觉得你和3、4年开发经验的程序员相比有什么优势(适用于多年开发经验的程序员) 你工作中用过哪些设计模式解决过什么问题 谈谈你未来的职业生涯规划 遇到线上问题,你的解决思路是怎样的
阅读全文
摘要:系统拆分:可以将一个系统拆分成多个子系统(特别是那些并发量大的模块),每个子系统连一个数据库。 缓存:大部分高并发场景都是读多写少,所以写的时候数据库和缓存都写一份,读的时候读取缓存的数据。 MQ:针对写多的场景,比如一个业务操作需要对数据库频繁的增删改,此时就需要用到MQ,把写的请求写进MQ里面排
阅读全文
摘要:第一个IF:保证对象初始化之后,不去等待锁, 减少线程对同步锁的竞争,提高代码的执行效率。 第二个IF:保证对象只被实例化一次。 public class LazyMan { private static LazyMan _lazyMan; private static object o = new
阅读全文
摘要:EfCore中有三种导航属性,分别是集合导航属性、引用导航属性、反转导航属性。 集合导航属性 主表对子表数据的引用,通常用来表示一对多或多对多的关系。以下案例中,Blog表的Posts是集合导航属性,包含子表Post中的关联数据。 public class Blog { public int Blo
阅读全文
摘要:共有三种模式,分别是Code First、Database First、Model First。 Code First模式 代码优先模式,即基于编写的实体类和数据库上下文配置类,EF工具根据代码自动创建数据库结构和映射文件。 优点 具有自动迁移功能,能根据实体类的变化自动更新数据库结构,简化了数据库
阅读全文
摘要:实体类 public class Movie { public string Name { get; set; } public string Area { get; set; } public DateTime ProductTime { get; set; } } 初始化数据 public st
阅读全文
摘要:单例服务使用作用域服务的场景 定时任务后台服务,需要访问数据库上下文执行某些特定操作,定时任务后台服务是单例服务,数据库上下文是依赖于当前请求的作用域服务,因此需要手动创建作用域,并在作用域内解析数据库上下文。 public class TaskBackgroundService : Backgro
阅读全文
摘要:使用Expression.Variable()表示创建一个变量。 ParameterExpression a = Expression.Variable(typeof(int), "a");
阅读全文

浙公网安备 33010602011771号