百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

.NET 面试题汇总(一) net面试100题及答案

bigegpt 2024-10-13 01:17 4 浏览

1.一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,用递归算法实现。

 static void Main(string[] args)
 {
 Console.WriteLine(add(30)); 
 }
 public static int add(int i)
 {
 if (i == 1 || i == 2)
 return 1;
 else
 return add(i - 1) + add(i - 2);
 }

2. override 和Overload(重载)的区别

override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要

Override 是进行基类中函数的重写。实现多态。

3.委托是什么?事件和委托的区别

委托:委托是对函数方法的一种封装,事件是一种特殊的委托

4.值类型和引用类型的区别

值类型 分配在内存栈中,引用类型的具体内容分配在内存堆中,引用类型地址分配在栈中

5.ref关键字的作用

写在值类型前面表示 传入值类型的地址,也就是值类型的内容会随之改变

写在引用类型前面表示 传入引用类型在栈上的的实际地址,如果不加此关键字,在方法中修改类型的指向地址将不会起作用

<u>ref关键字表示传入栈的地址,不加ref表示传入栈中某一地址存的具体内容</u>

 class Program
 {
 static void Main(string[] args)
 {
 testc cc = new testc { name="AAAAA" };
 testc( cc);
 //cc的Name属性不会发生变化
 }
 public static void testc( testc m)
 {
 m = new testc { name = "BBBBBB" };
 }
 }
 class testc
 {
 public string name { get; set; }
 public int age { get; set; }
 }

6.Asp.Net六大对象是什么

  • Request-->读取客户端在Web请求期间发送的值
  • Response-->封装了页面执行期后返回到Http客户端的输出
  • Server-->提供对服务器上的属性和方法的访问
  • Application-->用于整个运行期间的状态对象
  • Session-->会话期状态保持对象,用于跟踪单一用户的会话
  • Cookie-->客户端保持会员信息的一种方法

7.MVC的路由选择是什么?

路由选择功能帮你定义一个URL规则,映射URL到控制器。

8.求以下表达式的值,写出您想到的一种或几种实现方法:1-2+3-4+……+m

if (m % 2 == 0)
 sum = -(m / 2);
 else
 sum = -(m - 1) / 2 + m;

9.CTS、CLS、CLR分别作何解释?

CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。

10.程序集和命名空间的区别

程序集:物理分组

命名空间:逻辑分组

11.分析以下代码,完成填空

string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
i=13,j=10
//一个中文占两个字节(byte)

12.try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

会在return之前执行

13.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。

session(viewstate) 简单,但易丢失

application全局

cookie简单,但可能不支持,可能被伪造

inputttype="hidden" 简单,可能被伪造

url参数 简单,显示于地址栏,长度有限

数据库 稳定,安全,但性能相对弱

14. 冒泡算法

 int[] array = new int[*];
 int temp = 0;
 for (int i = 0; i < array.Length - 1; i++)
 {
 for (int j = i + 1; j < array.Length; j++)
 {
 if (array[j] < array[i])
 {
 temp = array[i];
 array[i] = array[j];
 array[j] = temp;
 }
 }
 }

15. 设计模式六大原则

单一职责

里氏代换(用到子类的地方都可以用父类替代)

依赖倒置(高层模块不依赖于底层模块,二者都应依赖于抽象)

接口隔离原则(客户端不应依赖他不需要的接口)

迪米特法则(一个对象应该对其他对象保持最少了解)

开闭原则(对拓展开放,对修改关闭)


以下是我7月份的部分面试题答案:

1、Int a=4, b=13, c=16, Max=0, Max = a > b ? a:b; Max = c < Max ? c:Max, 求Max的值

Max = a > b Max=13

2、不使用其他变量,交换两个整型a,b的值;

数学运算 a = a + b; b = a - b; a = a - b; 位异或运算 a = a^b; b = a^b; a = a^b;

3、[javascript] ajax请求的时候get和post方式的区别?

使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来使用Get请求发送数据量小,Post请求发送数据量大

4、[javascript]var a1=10; var a2=20; alert(“a1+a2=”+a1+a2)的值是什么?

a1+a2=1020

5、[css]中可以让文字在垂直居中和清除浮动两个属性是什么?

清除浮动 clear:both。 文字在垂直居中 text-align: center; vertical-align: middle;

6、[css]display:none与visibility:hidden的区别是什么?

display:none 会完全隐藏元素,不再占据页面空间!visibility:hidden 仅仅是隐藏了元素的显示效果,但是仍然占据页面空间!

7、[sql]现有Employess表,字段birthDay。现在要查找当天过生日,本月和下月过生日的员工。

--当天 select * from Employess where (month(getdate()) = month(birthDay) and day(getdate()) = day(birthDay)) --本月、下月 select * from Employess where month(birthDay) - month(getdate()) in (0,1,-11)

8、[sql]本题用到下面的三个关系表

card (借书卡表) 字段: cno 卡号,name 姓名,class 班级

books (图书表)字段: bno 书号,bname书名,author作者,price单价,quantity

库存册数

borrow (借书记录表)字段: cno 借书卡号,bno书号,rdate 还书日期

1) 找出借书超过5本的读者,输出借书卡号及所借图书册数。

select cno ,count(*) as ”借图书册数” from borrow group by cno having count(*)>5

2) 查询当前借了”计算方法”但没有借”计算方法习题集”的读者,输出其借书卡号,并按卡号降序排序输出

select a.cno from borrow a,books b where a.bno =b.bno andb.bname=N'计算方法'

and not exists( select * from borrow aa,books bb where aa.bno =bb.bno

and bb.bname=N'计算方法习题集' and aa.cno =a.cno) order by a.cno desc

3) 将”co1”班同学所借图书的还期都延长一周

update b set rdate =DATEADD(Day,7,b.rdate) from card a,borrow b

where a.cno =b.cno and a.class=N'C01'


看完本文有收获?请转发分享给更多人!!!如果你有更好的答案,欢迎大家点赞,留言讨论,喜欢这篇文章可以分享给更多人,关注我每天更新分享有关程序员、科技、编程之类的文章!!!爱你们,,么么哒,,让我们一起愉快的玩耍把!!!

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...