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 题目的更多相关文章

  1. 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  2. 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  3. 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  4. 一道返回num值的小题目

    题目描述: 实现fizzBuzz函数,参数num与返回值的关系如下: .如果num能同时被3和5整除,返回字符串fizzbuzz .如果num能被3整除,返回字符串fizz .如果num能被5整除,返 ...

  5. 谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  6. 谈谈一些有趣的CSS题目(二)-- 从条纹边框的实现谈盒子模型

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  7. 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  8. 谈谈一些有趣的CSS题目(五)-- 单行居中,两行居左,超过两行省略

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  9. 谈谈一些有趣的CSS题目(六)-- 全兼容的多列均匀布局问题

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  10. 谈谈一些有趣的CSS题目(七)-- 消失的边界线问题

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

随机推荐

  1. 7. 通过JDBC源码来分析线程上下文类加载器以及SPI的使用

    目录 1. 什么是全盘负责委托机制 2. 为什么需要有线程上下文类加载器 2.1 使用JDBC的例子,分析为什么双亲委托机制不能实现要求 2.2 线程上下文类加载器的作用 3. 线程上下文类加载器的使 ...

  2. SciPy 统计

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  3. Windows下使用nginx问题

    1.下载完成后,解压缩,运行cmd,使用命令进行操作,不要直接双击nginx.exe,不要直接双击nginx.exe,不要直接双击nginx.exe 一定要在dos窗口启动,不要直接双击nginx.e ...

  4. springboot整合logback集成elk实现日志的汇总、分析、统计和检索功能

    在Spring Boot当中,默认使用logback进行log操作.logback支持将日志数据通过提供IP地址.端口号,以Socket的方式远程发送.在Spring Boot中,通常使用logbac ...

  5. R 读取回归模型的信息

    参考博客: http://blog.sina.com.cn/s/blog_8f5b2a2e0101fmiq.html https://blog.csdn.net/huangyouyu523/artic ...

  6. 使用linux将一个服务器上的文件或者文件夹复制黏贴到另一个服务器上

    一.复制文件: (1)将本地文件拷贝到远程  scp 文件名 用户名@计算机IP或者计算机名称:远程路径 本地192.168.1.8客户端 scp /root/install.* root@10.12 ...

  7. 剑指offer自学系列(三)

    题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变,例如{5,1,4,2 ...

  8. Java容器--Queue

    ConcurrentLinkedQueue 参考 https://www.cnblogs.com/leesf456/p/5539142.html ConcurerntLinkedQueue一个基于链接 ...

  9. crmv2项目

    maven -----------------------------------------------------------------------------感谢打赏!

  10. 2.13 ViewModel 使数据即使在后台被杀死数据也能存活

    操作程序如下: 主要是创建一个 SavedStateHandle 来缓存上一次的数据,并通过重新读取上一次存储的数据来实现数据的存活 MyVIewModel: package com.example. ...