2023年7月20日发(作者:)
个⼈总结必备⾯试题1.你能解释下MVC的完整流程吗?所有的终端⽤户请求被发送到控制器。控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图。附加了模型数据的最终视图做为响应发送给终端⽤户。2. 那你说⼀下你对MVC的理解?MVC是⼀种设计模式即主要的思想,是⼀种功能结构模块化的⼀种开发思想,⽬的是更好的管理⾃⼰的代码。 MVC是微软对 WebForm框架做出的彻底重构,使Web应⽤程序的开发更加容易,更加清楚,⽽推出的⼀种UI框架。3.什么是MVC中的Razor?它是⼀个轻量级的视图引擎。是什么?LINQ是⼀种⽤来进⾏数据访问的编程模型,使得.NET语⾔可以直接⽀持数据查询LINQ的⽬标是降低访问数据的复杂度,LINQ可以⽤统⼀的⽅法访问不同类型的数据,可以将数据作为对象使⽤,能够更好地与编程模型集成表达式是什么呢?Lambda表达式是匿名函数,⽽匿名函数⼜是委托,所以lambda表达式就是委托。是什么?EF是微软以为基础发展⽽来的对象关系映射的orm框架,有三种实现⽅式:Code First,DB First,Model First,我们常⽤的是DB Frist,设计好数据库,再进⾏代码编程,通过上下⽂对象实现交互。EF和Dapper的区别,EF是强类型的ORM框架,Dapper是弱类型的ORM框架⼀、 Dapper问题:简述你对Dapper的了解?答案:1、Dapper是⼀个轻量级的ORM类,代码就⼀个⽂件,编译后只有70k 2、Dapper⽀持多数据库,⽀持SqlServer,MySql,Oracle等 3、Dapper语法简单,容易上⼿7、什么是委托,事件是不是⼀种委托? 1、委托可以把⼀个⽅法作为参数代⼊另⼀个⽅法。 2、委托可以理解为指向⼀个函数的引⽤。 3、事件是⼀种特殊的委托delegate <函数返回类型> <委托名> (<函数参数>)8.c#多线程是什么多线程的优点:可以同时完成多个任务;可以使程序的响应速度更快;可以节省⼤量时间进⾏处理任务;可以随时停⽌任务;可以设置每个任务的优先级,以优化程序性能。概述Web API是在.NET Framework之上构建的Web的API的框架,Web API是⼀个编程接⼝,⽤于操作可通过标准HTTP⽅法和标头访问的系统,Web API需要基于.NET 3.5或更⾼版本才可以进⾏开发10.什么是WebServicewebservice是⼀种跨平台,跨语⾔的规范,⽤于不同平台,不同语⾔开发的应⽤之间的交互,是基于⽹络的、分布式的模块化组件,它执⾏特定的任务,遵守具体的技术规范。11.存储过程是什么?有什么⽤?有什么优点?⽤什么来调⽤?存储过程是预编译,安全性⾼,也是⼤⼤提⾼了效率,存储过程可以重复使⽤以减少数据库开发⼈员的⼯作量,复杂的逻辑我们可以使⽤存储过程完成,在存储过程中我们可以使⽤临时表,还可以定义变量,拼接sql语句,调⽤时,只需执⾏这个存储过程名,传⼊我们所需要的参数即可,12.何为触发器?触发器是⼀种特殊的存储过程,主要是通过事件触发⽽被执⾏。它可以强化约束来维护数据的完整性和⼀致性,可以跟踪数据库内的操作从⽽不允许未经许可的更新和变化。可以级联运算,常见的触发器有三种:分别应⽤于Insert , Update , Delete 事件。优化1.选择最有效率的表名顺序⼦句中的连接顺序查询中避免使⽤'*'4.减少访问数据库的次数5.使⽤DECODE函数来减少处理时间6.⽤Where⼦句替换HAVING⼦句7.减少对表的查询使⽤表的别名9.⽤EXISTS替代IN。10.⽤NOT EXISTS替代NOT IN。11.⽤表连接替换EXISTS。12.⽤EXISTS替换DISTINCT。13.⽤索引提⾼效率14.避免在索引列上使⽤计算15.避免在索引列上使⽤IS NULL和IS NOT NULL 14..事务的作⽤?事物简单来说就是要么⼀起执⾏,要么就都不执⾏,如有⼀个地⽅出错,全部回滚,不执⾏事务4⼤属性:1 原⼦性(Atomicity):事务是⼀个完整的操作。2 ⼀致性(Consistency):当事务完成时,数据必须处于⼀致状态。3 隔离性(Isolation):对数据进⾏修改的所有并发事务是彼此隔离的。4 持久性(Durability):事务完成后,它对于系统的影响是永久性的。T-SQL中管理事务的语句:开始事务:begin transaction提交事务commit transaction回滚事务 rollback transaction 事务分类:显式事务:⽤begin transaction明确指定事务的开始。2 隐性事务:当以隐性事务模式操作时,SQL Servler将在提交或回滚事务后⾃动启动新事务。⽆法描述事务的开始,只需要提交或回滚事务。3 ⾃动提交事务:SQL Server的默认模式,它将每条单独的T-SQL语句视为⼀个事务。如果成功执⾏,则⾃动提交,否则回滚。什么是Ajax异步调⽤?就是不需要加载整个页⾯的数据,只请求⼀⼩部分的数据,这样可以实现了异步的调⽤。是什么?ORM,即Object-Relational Mapping(对象关系映射),它的作⽤是在关系型数据库和业务实体对象之间作⼀个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和⽅法。ORM⽅法论基于三个核⼼原则: 简单:以最基本的形式建模数据。 传达性:数据库结构被任何⼈都能理解的语⾔⽂档化。 精确性:基于数据模型创建正确标准化的结构。16.什么叫做泛型?从编程的⾓度说是在定义类或者⽅法的时候省去具体的类型,由调⽤者来指定,类型+泛型类型合成得到真正的类型。从实现机制上说,泛型是CLR在运⾏时动态根据泛型类型创建的匿名类型。从OO设计的⾓度说,泛型体现了多态性。泛型使得程序员可以复⽤数据结构和算法,并且适应不同的类型,享有编译期间的强类型检查和语法提⽰。⼀些经典的FCL提供的泛型类型和接⼝: List
5、url参数简单,显⽰于地址栏,长度有限6、数据库稳定,安全,但性能相对弱容器?IOC即控制反转,是⼀种设计思想,在之前的项⽬中,当我们需要⼀个对象时,需要new⼀个对象,⽽IOC的设计思想是我们将需要的对象注⼊到⼀个容器中,就会获得我们所需要的资源
【扩展】:IOC和DI IOC是控制反转,DI是依赖注⼊,控制反转的解释有些模棱两可,⽽依赖注⼊就很明确,我们将需要的对象注⼊到容器中,获取所需要的资源五⼤对象?(1)Connection对象 Connection 对象就像是打仗时候的通信兵,他们在打仗之前需要先接通司令部与各个作战单位之间的通信线路。之后作战命令的获取以及发布都要靠通信线路来完成。这⾥的司令部就类似于服务器,各作战单位就类似于各应⽤程序。(2)Command对象 执⾏⼀些简单操作命令,如:增删改删,即执⾏T-SQL语句。Command对象有⼏个⽐较重要的⽅法,如ExecuteNonQuery()⽅法,执⾏增删改命令,返回的是受影响的⾏数。查询⽅法有2种:⼀个是ExecuteReader()⽅法,返回⼀个DataReader对象。还有ExecuteScale()⽅法,返回⾸⾏⾸列值。(3)DataAdapter对象 数据适配器,从数据库中检索数据,再填充到本地数据集中。同时,我们可以利⽤DataAdapter,再将数据反向从DataSet中更新回数据库。DataAdapter使⽤中主要有4个命令对象⽐较重要。它们分别是:SelectCommand、InsertCommand、UpdateCommand、DeleteCommand。SelectCommand,主要是从数据库中检索数据InsertCommand、UpdateCommand、DeleteCommand这3个命令对象主要负责把本地数据集DataSet中的数据上传回服务器。我们主要使⽤的是前者。DataAdapter的Fill⽅法,⽤于使⽤DataAdapter的SelectCommand的执⾏结果集来填充DataSet。(4)DataReader对象 当我们只需要循序的读取数据⽽不需要其它操作时,可以使⽤DataReader 对象。DataReader对象只是⼀次⼀笔向下循序地读取数据源中的数据,不作其它的操作。因为DataReader 在读取数据的时候限制了每次只读取⼀笔,⽽且只能只读,所以使⽤起来不但节省资源⽽且效率很好。此外,因为不⽤把数据全部传回,故可以降低⽹络的负载。但是,当我们从数据源中⼀条⼀条的读取数据的时候,⼀定记得要时刻打开数据库的连接。⼆、DataSet对象 DataSet 这个对象可以视为本地内存中的⼀个数据库,可以把从数据库中所查询到的数据保留到本地。DataSet 的能⼒不只是可以储存多个Table,还可以透过DataAdapter 对象取得⼀些例如主键等数据表结构,并可以记录数据表间的关联。当我们使⽤DataSet读取数据的时候,数据库的连接是否关闭已经⽆关紧要了。DataSet 对象可以说是 中重量级的对象,通过DataAdapter 对象这个桥梁,实现了与数据源沟通的能⼒ 。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689825109a288942.html
评论列表(0条)