.net 面试题总结(工作经验2年半)

2024-06-23 17:32

本文主要是介绍.net 面试题总结(工作经验2年半),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Ajax调用的时候,get、post有什么区别?

答:get和post都是向服务器发送一种请求,只是发送机制不同 
   1 GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。 
   2.首先是”GET方式提交的数据最多只能是1024字节”,Post传输的数据量大,可以达到2M。 
   3.get方式请求数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号密码等。在某种情况下,get方式会带来严重的安全问题。而post方式相对来说就可以避免这些问题。 
   4.Post请求必须设置Content-Type值为application/x-form-www-urlencoded; 
   5.发送请求时,因为Get请求的参数都在url里,所以send函数发送的参数为null,而Post请求在使用send方法时,却需赋予其参数;

 

二、数据库查询 select跟用具体字段查询,哪个性能好些?

mysql 5.1.37 
表记录数41,547,002,即4000w行

使用远程客户端取1000条数据,统计时间:

SELECT * FROM dmsp.dmsp_dimension_content LIMIT 0, 1000; 
时间2.218s,网络消耗0.547s

SELECT id, appid, aop, t, uid, sid, pid, pname, bid, bname, ptype, sm, sv, bt, national, area, ov FROM dmsp.dmsp_dimension_content LIMIT 0, 1000; 
取出所有字段,时间2.250s,网络消耗0.578s 
多次查询(改变limit条件避免缓存),时间变化不大。

结论:两者差别几乎可忽略。所以查询所有字段(或者大多数字段)的时候,大可select *来操作。如果某些不需要的字段数据量特别大,还是写清楚字段比较好,因为这样可以减少网络传输。
 

(1)SELECT *,需要数据库先 分析,Query Table Metadata For Columns,一定程度上为数据库增加了负担。 
       但是实际上,两者效率差别不大。

(2)考虑到今后的扩展性。 
因为程序里面你需要使用到的列毕竟是确定的, SELECT * 只是减少了一句 SQL String 的长度,并不能减少其他地方的代码。

综上:除平时练习使用,其他情况都不推荐使用 SELECT * FROM xxx
原文:https://blog.csdn.net/u014305991/article/details/44964171 

三、linq的where 和select输出格式有什么不同?

 

四、返回类型 Actionresult 的方法可以重载吗? 返回的类型有哪几种?

   答:不能被重载。

 

五、.net 怎么实现事务?

 在 ado.net 中实现事务。需要使用事务管理的情况很多,在数据层使用得特别广泛,几乎每一个系统的数据层都会实现事务。数据层的事务都是继承自DBTransaction,派生自IDbTransaction的。

1、 在传统的ADO.NET中使用事务, 启动事务,设定SQLCommand 的事务和连接对象,try 赋值完成提交,catch 数据回滚

2、在DataContext中使用事务,方法极其相似,不同的是SqlCommand中事务为SqlTransaction,在DataContext中事务为DbTransaction

https://www.cnblogs.com/leslies2/archive/2012/01/05/2289106.html

六、对数据库作业有经验吗?

打开数据库,

找到SQL Server代理>作业,首先代理是要启动的,如果没有启动,请先将其启动,

点击右键,再点击”新建作业“,在”常规“里面填写作业名称,可以加上作业描述,比如改作业是做什么的。

点击左边导航条中的“步骤”,再点击下边的”新建作业“

在填出框中的”常规“属性里面填写步骤名称,类型一般默认,运行身份不用填写,选择你要执行操作的数据库,在下面那个白色大框里面填写要执行的数据库代码

在”高级“里面可以根据需要进行设置,设置好后就点击保存

接下来就是比较重要的设置工作了,点击左边导航栏的”计划“项,点击下方的”新建“

根据自己的需求勾选选项,选好后点击”确定“。最重要的就是上面那些,左边其他选项可以根据自己的需要进行设定

https://jingyan.baidu.com/album/08b6a591adc39314a909224e.html?picindex=1

七、数据库优化方面有什么了解?

数据库性能优化主要包括以下几个方面:

1、sql语句的执行计划是否正常;

2、减少应用和数据库的交互次数、同一个sql语句的执行次数;

3、数据库实体的碎片的整理;

4、减少表之间的关联,特别对于批量数据处理,尽量单表查询数据,统一在内存中进行逻辑处理,减少数据库压力;

5、对访问频繁的数据,充分利用数据库cache和应用的缓存;

6、数据量比较大的,在设计过程中,为了减少其他表的关联,增加一些冗余字段,提高查询性能。

 

八、SQL,得到成绩最高的人的名字

SELECT name FROM dbo.StudentScore WHERE score = (
select MAX(score)  from StudentScore )

九、了解索引吗?

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

聚集索引,非聚集索引,联合索引,索引覆盖。

聚集索引(clustered index):聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索引,一般用primary key来约束。

https://www.cnblogs.com/spectrelb/p/7197593.html

十、前端怎么引用包?

      配置引用路径

11、url简化?

12、二维码怎么生成?

13、session 和token 和cookie

十四、面向对象的三个基本特征

     答:封装,继承,多态

十五、ActionResult 可以有几种返回值类型

    1.返回ViewResult视图结果,将视图呈现给网页

    2.返回PartialViewResult部分视图结果,主要用于返回部分视图内容

    3.返回ContentResult用户定义的内容类型 

    4.返回JsonResult序列化的Json对象(主要用于返回json格式对象,可以用ajax操作;)

    5.返回JavaScriptResult可在客户端执行的脚本

   6.返回FileResult要写入响应中的二进制输出,一般可以用作要简单下载的功能

   7.返回Null或者Void数据类型的EmptyResult 

    8.重定向方法:Redirect / RedirectToAction / RedirectToRoute

16、对.net 机制十分了解

 

17、行转列 ,学生,成绩,月份

静态SQL,指月份只有一月和二月

select * from StudentScore 
pivot (max(score)  /*行转列后 列的值*/
for months         /*需要行转列的列*/ 
in (一月,二月) ) /*列的值*/
b

动态,不止1月和2月

declare @sqla varchar(8000)
select @sqla = isnull(@sqla + ',' , '') + months from StudentScore group by months
exec ('select * from StudentScore pivot (max(score) for months in (' + @sqla + ')) b')

这篇关于.net 面试题总结(工作经验2年半)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087811

相关文章

关于C++中的虚拟继承的一些总结(虚拟继承,覆盖,派生,隐藏)

1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下: class A class B1:public virtual A; class B2:pu

找完工作该补充的东西

首先: 锻炼身体,包括乒乓球,羽毛球,都必须练习,学习,锻炼身体等是一个很重要的与人交际沟通的方式; 打牌,娱乐:会玩是一个人很重要的交际沟通的法宝; 摄影:这个是一个兴趣爱好,也是提高自己的审美,生活品质,当然也是与人沟通的重要途径; 做饭:这个的话就是对自己,对朋友非常有益的一件事情;

[职场] 护理专业简历怎么写 #经验分享#微信

护理专业简历怎么写   很多想成为一名护理方面的从业者,但是又不知道应该怎么制作一份简历,现在这里分享了一份护理方面的简历模板供大家参考。   蓝山山   年龄:24   号码:12345678910   地址:上海市 邮箱:jianli@jianli.com   教育背景   时间:2011-09到2015-06   学校:蓝山大学   专业:护理学   学历:本科

Java面试题:通过实例说明内连接、左外连接和右外连接的区别

在 SQL 中,连接(JOIN)用于在多个表之间组合行。最常用的连接类型是内连接(INNER JOIN)、左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)。它们的主要区别在于它们如何处理表之间的匹配和不匹配行。下面是每种连接的详细说明和示例。 表示例 假设有两个表:Customers 和 Orders。 Customers CustomerIDCus

十五.各设计模式总结与对比

1.各设计模式总结与对比 1.1.课程目标 1、 简要分析GoF 23种设计模式和设计原则,做整体认知。 2、 剖析Spirng的编程思想,启发思维,为之后深入学习Spring做铺垫。 3、 了解各设计模式之间的关联,解决设计模式混淆的问题。 1.2.内容定位 1、 掌握设计模式的"道" ,而不只是"术" 2、 道可道非常道,滴水石穿非一日之功,做好长期修炼的准备。 3、 不要为了

[职场] 公务员的利弊分析 #知识分享#经验分享#其他

公务员的利弊分析     公务员作为一种稳定的职业选择,一直备受人们的关注。然而,就像任何其他职业一样,公务员职位也有其利与弊。本文将对公务员的利弊进行分析,帮助读者更好地了解这一职业的特点。 利: 1. 稳定的职业:公务员职位通常具有较高的稳定性,一旦进入公务员队伍,往往可以享受到稳定的工作环境和薪资待遇。这对于那些追求稳定的人来说,是一个很大的优势。 2. 薪资福利优厚:公务员的薪资和

工作流Activiti初体验—流程撤回【二】

已经玩工作流了,打算还是研究一下撤回的功能。但是流程图里面并不带撤回的组件,所以需要自己动态改造一下,还是延续上一个流程继续试验撤回功能。《工作流Activiti初体验【一】》 完整流程图 我们研究一下分发任务撤回到发起任务,其他环节的撤回类似 撤回的原理大概如下: 将分发任务后面的方向清空,把发起任务拼接到原来的判断网关,然后结束分发任务,这样流程就到发起任务了 此时的流程如上图,

工作流Activiti初体验【一】

在这里记录一下我的Activiti历程:(以下示例不涉及真实业务,所有逻辑均建立在学习的基础上) bpmn图 发起任务我设置了一个权限组user1,只要是这个权限的用户都可以发起任务 分发任务我设置了一个用户组,用户组中每个用户都可以处理这步流程,只要有一个人处理这步任务,分发的流程就算结束了 分发任务这一环节还有个判断,允许任务下发和不允许任务下发 任务分发完成则来到子流程,每个被分

人工智能机器学习算法总结神经网络算法(前向及反向传播)

1.定义,意义和优缺点 定义: 神经网络算法是一种模仿人类大脑神经元之间连接方式的机器学习算法。通过多层神经元的组合和激活函数的非线性转换,神经网络能够学习数据的特征和模式,实现对复杂数据的建模和预测。(我们可以借助人类的神经元模型来更好的帮助我们理解该算法的本质,不过这里需要说明的是,虽然名字是神经网络,并且结构等等也是借鉴了神经网络,但其原型以及算法本质上还和生物层面的神经网络运行原理存在

Java注解详细总结

什么是注解?         Java注解是代码中的特殊标记,比如@Override、@Test等,作用是:让其他程序根据注解信息决定怎么执行该程序。         注解不光可以用在方法上,还可以用在类上、变量上、构造器上等位置。 自定义注解  现在我们自定义一个MyTest注解 public @interface MyTest{String aaa();boolean bbb()