.Net 题目
1.简述public、private、protected、Internal修饰符的访问权限
public:公共成员,完全公开,没有访问限制。
private:私有成员,在类的内部才可以访问。
protected:保护成员,该类的内部和继承的类中可以访问。
Internal:在同一命名空间类才可以访问。
2.列举ASP.NET页面之间传值的几种方式
(1) QueryString:传递的参数会显示在url中,不安全并且不能传递数组或对象。
(2) Session变量:常用于用户身份的验证,安全性较高,但Session变量存储过多的数据会消耗过多的服务器资源。
(3) Server.Transfer:流程从当前页面迁移到另一个页面保持着服务资源,数据库稳定安全,但性能相对弱。
(4) Cookie传值:以文本文件的形式存在磁盘中,虽然方便,保存时间可以自由设置,但安全性不高。
(5) Application传值:对象的作用范围是全局,对所有用户都有效,个人的敏感数据则不用这种方法存储。
3.重载(overload)和重写(override)的区别
overload重载是方法的名称相同,参数的个数或参数类型不同。override重写是重写某个方法的业务逻辑。
4.string和StringBuild的区别
string对象长度是不可以变的。
StringBuild是可变的,常用于字符串的拼接,效率比直接操作string高。
5.break和continue的区别
break是结束当前循环。
continue是跳出本次循环,继续下一次循环。
6.List和ArrayList的区别
List是接口类,ArrayList类实现了这个接口,也就是说ArrayList是List的子类。
7.进程和线程的区别
进程是系统进行资源分配和调度的单位。
线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。
8.堆和栈的区别
栈是编译期间就分配好的内存空间,代码中栈的大小要有明确的定义;局部值类型变量、值类型参数等都在栈内存中。
堆是程序运行期间动态分配的内存空间,可以根据程序的运行情况确定要分配的堆内存大小。
9.C#中委托和事件
委托是一个类,它定义了方法的类型,可以把方法作为参数进行传递。
事件是一个特殊的委托,委托和事件就类似于字段和属性的关系,事件是对委托做了一个封装。
10.反射和序列化
反射是管理程序集、模块、类型的对象,可以动态的获得类型或者实例的信息。
序列化是将对象转换为容易传输的格式的过程。例如,序列化一个对象,通过HTTP在客户端和服务器之间传输该对象,在另一端反序列化构造该对象。
11.什么是事务?使用事务的语句有哪些?
事务是一种机制,是一个操作序列,它包括了一组数据库操作命令,而且所有的命令作为一个整体向系统提交或者撤消操作请求,要么全部执行,要么全部不执行。
begin transaction
commit transaction
rollback transaction
12.你对泛型了解吗?简明说一下泛型的优点?
泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用"参数化类型"将类型抽象化,从而实现灵活的复用。
优点是类型安全和减少装箱、拆箱。提高性能、类型安全和质量,减少重复性的编程任务。
13.什么是sql注入?如何避免sql注入?
用户根据系统的程序构造非法的参数从而导致程序执行不是程序员期望的恶意的SQL语句。
使用参数化的SQL就可以避免SQL注入,使用参数化1' or 1 = 1
14.三层架构
表现层(UI):页面的视图。
业务逻辑层(BLL):对数据层的操作和业务逻辑的处理。
数据访问层(DAL):对数据库的增、删、改、查。
15.MVC模式
MVC(Model View Controller)模型-视图-控制器
模型负责业务领域,视图负责显示,控制器负责把数据读取出来填充到模型后交给视图去处理,MVC最大的好处是将逻辑和页面分离。
16.如何理解.NET的垃圾回收机制
每次使用new运算符创建对象时,运行库都会为新对象分配空间。但是内存不可能无限大,所以需要垃圾回收器释放一些内存。当一个对象没有任何引用的时候,垃圾回收器不定时自动进行回收,可以调用GC.Collect()让GC立即回收。GC不能回收非托管资源,对于非托管资源一般都是实现了IDisposable接口,然后使用using关键字进行资源的回收。
17.提高.NET的性能
(1) 使用异步方式调用web服务和远程对象,避免在请求的处理过程中对web服务和远程对象的同步调用,因为占用了线程池中的工作线程,影响了web服务器响应其他请求的能力。
(2) 使用适当的caching策略来提高性能。
(3) 判断字符串不要用" "比较。
(4) 页面优化
(5) 尽量写存储过程,并优化查询语句
(6) 只读数据访问用sqlDataReader,不要用DataSet
18.请编程实现一个冒泡排序算法?
int [] array = new int [*] ;
int temp = ;
for (int i = ; i < array.Length - ; i++)
{
for (int j = i + ; j < array.Length ; j++)
{
if (array[j] < array[i])
{
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
}
}
}
或者
public static void bubble_sort(int[] x)
{
for (int i = ; i < x.Length; i++)
{
for (int j = i; j < x.Length; j++)
{
if (x[i] < x[j]) //从大到小排序
{
int temp;
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
}
static void Main(string[] args)
{
int[] arr = { , , , , , , ,,,};
bubble_sort(arr);
foreach (var a in arr)
{
Console.WriteLine(a );
}
}
19.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的id作为主键,注意:id可能不是连续的)
select top 10 * from A where id not in (select top 30 id from A) select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A) select id,row_number() over (order by id) as rowNum from A where rowNum between 31 and 40(推荐)
20.一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。
public class MainClass
{
public static void Main()
{
Console.WriteLine(Num());
}
public static int Num(int i)
{
if (i <= )
return ;
else if(i > && i <= )
return ;
else return Num(i -) + Num(i - );
}
}
.Net 题目的更多相关文章
- 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 一道返回num值的小题目
题目描述: 实现fizzBuzz函数,参数num与返回值的关系如下: .如果num能同时被3和5整除,返回字符串fizzbuzz .如果num能被3整除,返回字符串fizz .如果num能被5整除,返 ...
- 谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 谈谈一些有趣的CSS题目(二)-- 从条纹边框的实现谈盒子模型
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 谈谈一些有趣的CSS题目(五)-- 单行居中,两行居左,超过两行省略
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 谈谈一些有趣的CSS题目(六)-- 全兼容的多列均匀布局问题
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 谈谈一些有趣的CSS题目(七)-- 消失的边界线问题
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
随机推荐
- 41和为S的连续正数序列+注意循环条件记一下这题特殊解法
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...
- PHP获取远程图片
<?php // // Function: 获取远程图片并把它保存到本地 // // // 确定您有把文件写入本地服务器的权限 // // // 变量说明: // $url 是远程图片的完整UR ...
- java有参
一.带参数的方法 语法: 访问修饰符 方法返回值类型 方法名称 (参数列表){ // 方法体 注意:每个参数之间用","分割 二.形参和实参 形参:在方法定义时指定的参数 实 ...
- 标准查询运算符---LINQ
Where 根据给定的谓词对序列进行过滤 Select 指定要包含一个对象或对象的一部分 SelectMany 一种查询类型,返回集合的集合.该方法将这些结果合并为一个单独的集合 Take 接受一个输 ...
- greenplum 存储过程
参考: https://docs.pivotal.io/search?q=function 官网 https://www.cnblogs.com/greenZ/p/8722081.html htt ...
- wx.previewimage预览返回会触发onshow的处理方法
最近做详情页,添加图片预览后竟然触发onshow的处理方法.就显得很尴尬.框架用的uni-app 解决方法 1.page外全局定义开关变量 var a; export default { } 2 .o ...
- 热门提示输入之AutoCompleteTextView
前言: 在我们百度时,经常会遇到在你输入一个内容后在你的输入框的下面会提示一些别的热门的东西,接下来我们来简单实现这种功能 正文: 直接上代码,和之前的东西都大同小异 下面是Java代码 public ...
- R语言 scale()函数
1.scale() 函数 #Usage scale(x, center = TRUE, scale = TRUE) #center中心化,scale标准化 #Arguments x :a numeri ...
- [U53204] 树上背包的优化
题目链接 本文旨在介绍树上背包的优化. 可见例题,例题中N,M∈[1,100000]N,M \in [1,100000]N,M∈[1,100000]的数据量让O(nm2)O(nm^2)O(nm2)的朴 ...
- 使用线程池测试cpu的并发计算能力
接到一个需求是测试一下cpu并发计算能力,针对int和float求和单位时间能执行几次的问题.可能是服务器选型用到的参数. 开始使用的是fork-join,但是发现fork-join每次得到的结果值波 ...