职聊NET
文章平均质量分 69
欢迎来到【职聊 NET】📚 提供高质量 .NET 学习资料,助你快速掌握编程技巧和实践🏆 准备 .NET 求职面试?我们为你提供全面的面试题库和面试技巧,助你在职场腾飞🚀 加入我们,一起探索 .NET 世界的无限可能
YSの陈憨憨
No1_Plus 时间皆苦唯有自渡,生活:一半烟火,一半清欢;人生:一半清醒,一半释然
展开
-
.NET/C#面试题汇总系列:ASP.NET MVC
MVC(Model View Controller)模型-视图-控制器aspx中 View,视图;Model:DataSet、Reader、对象;Controller:cs代码。MVC是典型的平行关系,没有说谁在上谁在下的关系,模型负责业务领域的事情,视图负责显示的事情,控制器把数据读取出来填充模型后把模型交给视图去处理。而各种验证什么的应该是在模型里处理了。它强制性的使应用程序的输入、处理和输出分开。MVC最大的好处是将逻辑和页面分离。原创 2024-03-19 19:38:45 · 281 阅读 · 0 评论 -
.NET/C#面试题汇总系列:Asp.Net WebForm
Server.Transfer 方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX 页面,调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。Response.Redirect 则是客户端第一次请求服务器返回状态代码302及新URL,客户端再次请求新URL,服务器再返回新页面,比Server.Transfer多一次应答。ExecuteScalar:返回结果集的第一行第一列,忽略其他行。原创 2024-03-19 19:37:18 · 227 阅读 · 0 评论 -
.NET/C#面试题汇总系列:微服务
这意味着对一个小单元的损害不会损害其他的单元,因此,蜜蜂可以在不影响完整蜂巢的情况下重建这些单元。微服务,又名微服务架构,是一种架构风格,它将应用构建为一个小型自治服务的集合,以业务领域为模型。4)混合技术栈:可以用不同的语言和技术来构建同一应用程序的不同服务。他们最初从使用各种材料的小单元开始,一点点的搭建出一个大型蜂巢。2)独立部署:根据他们所提供的服务,可以在任何应用中单独部署。这里,每个小单元都独立于另一个,但它也与其他小单元相关。这些小单元组成坚固的结构,将蜂窝的特定部分固定在一起。原创 2024-03-19 19:36:14 · 419 阅读 · 0 评论 -
.NET/C#面试题汇总系列:LINQ、EF和ORM
ORM 指的是面向对象的对象模型和关系型数据库的数据结构之间的互相转换。(表实体跟表之间的相互转换)ORM 框架有很多,EF 框架是 ORM 框架的其中一种,是实现了 ORM 思想的框架。O=>表实体M=>映射关系R=>数据库.表。原创 2024-03-19 19:34:02 · 318 阅读 · 0 评论 -
.NET/C#面试题汇总系列:WebService、gRPC
Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。原创 2024-03-18 21:31:37 · 365 阅读 · 0 评论 -
.NET/C#面试题汇总系列:缓存
客户端缓存,本地缓存(memorycahce),CDN缓存,反向代理缓存(Nginx),分布式缓存(Redis)原创 2024-03-18 21:29:29 · 621 阅读 · 0 评论 -
.NET/C#面试题汇总系列:异常处理
异常是一种耗费资源的机制,每当异常被抛出时,异常堆栈将会被建立,异常信息将被加载,而通常这些工作的成本相对较高,并且在尝试性类型转换时,这些信息都没有意义。(1)is 只负责检查类型的兼容性,并返回结果:true 和 false。Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。1)运行时异常:表示无法让程序恢复的异常,导致的原因通常是因为执行了错误的操作,建议终止程序,因此,编译器不检查这些异常。原创 2024-03-18 21:08:44 · 325 阅读 · 0 评论 -
.NET/C#面试题汇总系列:多线程与并发
而同一进程中的不同线程共享代码和数据空间。用一个比喻来说,如果一个家庭代表 一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭的财富进行积累,同时也有权利对家庭财富进行消费,当面对一个任务的时候,家庭也可以派出几个成员来协同完成,而家庭之外的人则没有办法直接消费不属于自己家庭的 财产。线程(Thread)与进程(Process)二者都定义了某种边界,不同的是进程定义的是应用程序与应用程序之间的边界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界。原创 2024-03-18 21:06:00 · 366 阅读 · 0 评论 -
.NET/C#面试题汇总系列:委托、事件、Lambda表达式
声明一个委托类型,它的实例引用一个方法,该方法获取一个 int 参数,返 void。理解委托的一个要点是它们的安全性非常高。在定义委托时,必须给出它所表示的方法的签名和返回类型等全部细节。理解委托的一种比较好的方式是把委托当作这样一件事情:它给方法的签名和返回类型指定名称。其语法类似于方法的定义,需要在定义方法的前面加上 delegate 关键字。原创 2024-03-18 21:04:56 · 482 阅读 · 0 评论 -
.NET/C#面试题汇总系列:特性与反射
程序集包含模块,而模块又包括类型,类型下有成员,反射就是管理程序集,模块,类型的对象,它能够动态的创建类型的实例,设置现有对象的类型或者获取现有对象的类型,能调用类型的方法和访问类型的字段属性。它是在运行时创建和使用类型实例。原创 2024-03-18 21:02:32 · 369 阅读 · 0 评论 -
.NET/C#面试题汇总系列:集合
ArrayList:ArrayList 是.Net Framework 提供的用于数据存储和检索的专用类,它是命名空间 System.Collections 下的一部分。IList 是个接口,定义了一些操作方法这些方法要你自己去实现,当你只想使用接口的方法时,这种方式比较好。他不获取实现这个接口的类的其他方法和字段,有效的节省空间。数组:是存储同类型数据列表,数组在内存中是连续存储的。优点:存储、修改、读取速度快。IList 泛型接口是 Icollection 接口的子代,并且是所有非泛型列表的基接口。原创 2024-03-18 20:59:52 · 368 阅读 · 0 评论 -
.NET/C#面试题汇总系列:泛型
泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。原创 2024-03-18 20:57:07 · 381 阅读 · 0 评论 -
.NET/C#面试题汇总系列:面向对象
接口:接口不能被实例化接口只能包含方法声明接口的成员包括方法、属性、索引器、事件;抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范接口可以被多重实现,抽象类只能被单一继承接口可以用于支持回调,而继承并不具备这个特点。面向过程和面向对象都是解决问题的逻辑方法,分析问题既可以用面向对象的方法来思考,也可以用面向过程方法来解决,但两者还是有一定区别。3)抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类。● 类可以继承,也可以实现接口;原创 2024-03-18 20:54:48 · 399 阅读 · 0 评论 -
AI面试官:Entity Framework (EF)(三)
答:数据迁移是在数据库模型发生变化时,保持数据库结构和数据与模型的同步的过程。EF通过数据迁移工具可以自动创建、更新和删除数据库表结构,以便与最新的实体类保持一致。// 添加新的迁移 Add - Migration InitialCreate // 更新数据库结构 Update - Database答:N+1查询问题是指在查询包含导航属性的实体时,EF会执行额外的N条SQL查询来加载导航属性的数据,导致性能问题。原创 2023-08-01 20:58:50 · 312 阅读 · 0 评论 -
AI面试官:Entity Framework (EF)(二)
答:数据库迁移种子数据是指在应用程序第一次运行时自动填充到数据库中的初始数据。可以使用EF的种子数据功能来预先插入一些初始数据,例如角色、用户等。// 添加种子数据 modelBuilder . Entity < User >() . HasData(new User {} }// 添加种子数据 modelBuilder . Entity < User >() . HasData(new User {} }原创 2023-08-01 20:58:13 · 359 阅读 · 0 评论 -
AI面试官:Entity Framework (EF)(一)
答:Entity Framework是微软提供的一个开源对象关系映射(ORM)框架,它允许开发人员使用面向对象的方式操作数据库,而不需要编写SQL语句。答:EF Core是Entity Framework的轻量级、跨平台版本,专为.NET Core开发的数据访问技术。它是Entity Framework的最新版本,具有更好的性能和更多的特性。原创 2023-08-01 20:57:39 · 523 阅读 · 0 评论 -
SqlSugar、Freesql、Dos.ORM、EF、四种ORM框架的对比
答:ORM(Object-relationalmapping)即对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。也就是说,ORM是通过使用描述对象和数据库之间映射的元数据(映射文件信息),将程序中的对象自动持久化到关系数据库中。说白了就是将相应的实体映射到相应的数据库表,然后使用orm框架封装好的api进行数据库访问,减少了自己写数据库访问类的步骤。2、ORM框架的优缺点是?原创 2023-08-01 20:57:02 · 1264 阅读 · 0 评论 -
EF延迟加载详解
【代码】EF延迟加载详解。原创 2023-08-01 20:56:07 · 282 阅读 · 0 评论 -
EF事务的使用
【代码】EF事务的使用。原创 2023-08-01 20:55:37 · 536 阅读 · 0 评论 -
EF执行内存状态详解
【代码】EF执行内存状态详解。原创 2023-08-01 20:54:30 · 177 阅读 · 0 评论 -
Entity Framework(EF)查询
【代码】Entity Framework(EF)查询。原创 2023-08-01 20:53:48 · 594 阅读 · 0 评论 -
AI面试官:SQL Server数据库(三)
解答:数据库备份恢复测试是测试数据库备份文件是否能够正确地还原数据库。数据库备份恢复测试很重要,因为它确保在发生数据灾难时,能够及时恢复数据库,保证数据的完整性和可用性。数据库备份恢复测试是一种测试方法,用于验证数据库备份和恢复过程的可靠性和有效性。在进行备份恢复测试时,会先创建数据库的备份文件,然后通过恢复过程将备份文件还原到数据库中,最后验证数据库的数据是否与备份文件一致,以确保数据库备份和恢复的功能正常。原创 2023-07-30 09:53:54 · 660 阅读 · 0 评论 -
AI面试官:SQL Server数据库(二)
解答:数据库锁是用于管理并发访问数据库的机制,它可以确保在同一时刻只有一个事务可以修改共享数据,从而避免数据的不一致性和冲突。常见的数据库锁类型包括共享锁、排他锁、意向锁等。数据库锁是一种并发控制机制,用于管理多个事务对数据库中数据的访问和修改。在并发环境下,多个事务可能同时访问相同的数据,如果不进行合适的并发控制,就会出现数据不一致和并发冲突的问题。数据库锁的作用是确保事务之间的并发执行不会导致数据的混乱和不正确的结果。原创 2023-07-30 09:53:11 · 551 阅读 · 0 评论 -
AI面试官:SQL Server数据库(一)
解答:数据库是用于存储和管理数据的集合。数据库管理系统 (DBMS) 是一种软件,用于管理数据库的创建、查询、更新和删除等操作。数据库系统指包括数据库、DBMS以及应用程序的集合。解答:SQL是结构化查询语言,用于与数据库进行交互。SELECT语句用于从数据库中检索数据,而WHERE子句用于指定查询条件,过滤满足条件的数据。解答:数据库范式是一种用于减少数据冗余和提高数据一致性的规范。第一范式要求每个数据字段是原子性的,不可再分。第二范式要求数据表中的每个非主键字段完全依赖于主键。原创 2023-07-30 09:52:09 · 516 阅读 · 0 评论 -
数据库优化(数据库自身的优化,数据库表优化,程序操作优化)
由于表上有过度地插入、修改和删除操作,索引页被分成多块就形成了索引碎片,如果索引碎片严重,那扫描索引的时间就会变长,甚至导致索引不可用,因此数据检索操作就慢下来了。原创 2023-07-30 09:51:16 · 560 阅读 · 0 评论 -
SqlServer读写分离对等发布
对等发布支持多主复制。发布服务器将事务流式传输到拓扑中的所有对等方。所有对等节点可以读取和写入更改,且所有更改将传播到拓扑中的所有节点。注意点:1.各服务器的数据库名字要保证一样。2.发布名称必须保持一致。3.各服务器必须都是发布服务器。提前准备:数据库A 数据库B。原创 2023-07-30 09:50:04 · 238 阅读 · 0 评论 -
数据库设计(触发器,游标,视图,函数)
Microsoft SQL Server Management Studio 18 2012以上;原创 2023-07-30 09:49:17 · 106 阅读 · 0 评论 -
数据库设计(事务,ACID,锁,避免死锁,存储过程)
Microsoft SQL Server Management Studio 18 2012以上;原创 2023-07-30 09:48:32 · 213 阅读 · 0 评论 -
数据库设计(三大范式,设计工具)
1 数据库设计&三大范式2 命名风格、选择、外键、存储过程3 数据库事务和数据库锁4 触发器、游标、视图、5 字段类型、字段可空、统计字段、逻辑删除。原创 2023-07-30 09:47:32 · 320 阅读 · 0 评论 -
AI面试官:Xml知多少
答案:XML 是可扩展标记语言,用于在不同应用程序之间传输和存储数据。与 HTML 不同,XML 不预定义标签,而是允许开发人员自定义标签和标签的结构,因此更适合用于数据交换和存储。答案:XML Schema 是一种用于定义 XML 文档结构和数据类型的规范。它可以用来验证 XML 文档的有效性,并确保文档符合预期的结构和数据类型。原创 2023-07-27 20:51:06 · 72 阅读 · 0 评论 -
Xml文件相关操作
C#中的XML是一种可扩展标记语言(Extensible Markup Language),用于存储和交换数据。在C#中,我们可以使用内置的System.Xml命名空间来处理和操作XML数据。原创 2023-07-27 20:50:10 · 460 阅读 · 0 评论 -
索引能优化查询,那么谈谈索引的优点和缺点?索引原理
这种表我们称为堆表,因为所有的数据页都是无序的,杂乱无章的,在查询数据时,需要一条一条记录查询,有时第一条记录就能找到,最坏的情况是在最后一条记录中查找到,但是千万不要认为SQL此时查找到数据后会当成结果立即返回,SQL即使查找到了记录,也会将所有数据遍历一次,这能从最终的执行计划中得知,就是平时说的表扫描,对于没有索引的表也能查询,就是效率会特别低,如果数据量稍大的话。原理和上述非聚集索引的查询差不多,由于记录是按聚集索引键值进行排序,即聚集索引的索引键值也就是具体的数据页。原创 2023-07-27 10:34:04 · 467 阅读 · 0 评论 -
AI面试官:MD5、DES、RSA、AES加密
MD5(Message Digest Algorithm 5)是一种常用的哈希算法,用于将输入数据生成固定长度的哈希值(通常是128位),也称为MD5摘要。在实际应用中,MD5常用于验证数据完整性和文件完整性。例如,网站提供文件下载时,会提供对应的MD5值,用户下载后可以计算文件的MD5值,与提供的值进行比对,确保文件未被篡改。加密算法的强度是指抵抗密码破解攻击的能力。在选择加密算法时,强度非常重要,因为一个强大的加密算法可以防止攻击者通过暴力破解等方法获取敏感数据。原创 2023-07-26 21:32:57 · 161 阅读 · 0 评论 -
AES加密的基本常识和封装类
AES(Advanced Encryption Standard)是一种对称密钥加密算法,被广泛用于保护敏感数据的安全性。它是一种块加密算法,意味着它将明文数据分成固定大小的块,并使用相同的密钥对每个块进行独立加密。AES算法支持不同的密钥长度,包括128位、192位和256位密钥。原创 2023-07-26 21:32:22 · 554 阅读 · 0 评论 -
DES加密的基本常识和封装类
DES(Data Encryption Standard)是一种对称加密算法,它是在1977年由IBM所提出,并在1981年被美国国家标准局(NIST)确定为数据加密标准。DES使用相同的密钥对数据进行加密和解密,因此属于对称加密算法。虽然DES在过去被广泛使用,但由于其较短的密钥长度(56位)导致了一些安全性方面的问题,因此在现代应用中,更常用的是使用更安全的AES(Advanced Encryption Standard)算法。不过,了解DES的工作原理仍然是有益的。原创 2023-07-26 21:31:40 · 143 阅读 · 0 评论 -
RSA加密的基本常识和封装类
RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,广泛应用于数据加密、数字签名和密钥交换等领域。在RSA加密封装中,主要涉及生成密钥对、加密和解密的过程。原创 2023-07-26 21:30:52 · 212 阅读 · 0 评论 -
MD5加密的基本常识和封装类
MD5(Message Digest Algorithm 5)是一种常见的哈希算法,用于将任意长度的数据转换为固定长度的(通常是128位或16字节)哈希值。它是MD家族中的第五个算法,广泛用于数据校验、数字签名、密码存储等领域。MD5是单向函数,即无法从生成的哈希值反推出原始数据,这也是其常用于对敏感信息进行加密或签名的原因之一。原创 2023-07-26 21:30:03 · 301 阅读 · 0 评论 -
AI面试官:Asp.Net 中使用Log4Net (三)
当面试涉及到使用log4net日志记录框架的相关问题时,通常会聚焦在如何在.NET或.NET Core应用程序中集成和使用log4net。原创 2023-07-25 20:59:03 · 610 阅读 · 0 评论 -
AI面试官:Asp.Net 中使用Log4Net (二)
解答:可以通过配置log4net的来实现自定义日志格式。可以使用特定的转换字符来定义日志的输出格式,如%date表示日期,%level表示日志级别,%logger表示日志记录器名称,%message表示日志消息等。原创 2023-07-25 20:58:28 · 764 阅读 · 0 评论 -
AI面试官:Asp.Net 中使用Log4Net (一)
解答:log4net是一个开源的日志记录框架,用于在.NET应用程序中记录日志信息。它可以帮助开发人员将不同级别的日志信息输出到不同的目标(如文件、数据库、控制台等),以便进行应用程序的调试、监控和错误追踪。案例和代码:假设有一个.NET Core Web API应用程序,我们可以通过集成log4net来记录API请求和异常信息,并将日志信息输出到文件中。原创 2023-07-25 20:57:53 · 518 阅读 · 0 评论