.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 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
随机推荐
- mui搜索框在ios平台上点击多次才弹出键盘的解决方法
今天使用Hbuilder调试手机端时,发现搜索框在安卓系统下,点击一次就可以弹出键盘 但是在iso下非常的不规律,要点击多次 代码实现如下: <div class="mui-input ...
- redis列表-list
Redis的list类型其实就是一个每个子元素都是string类型的双向链表,链表的最大长度是2^32.list既可以用做栈,也可以用做队列. 常用命令: 1. lpush key value [va ...
- go语言的变量和定量
1.变量: 1.var go 的变量非常灵活引入了关键字var. 如 var v1 int var v2 string var v3 [10]int 在go语言中变量申明有更快捷的办法可以把若干个变量 ...
- python绑定调用和非绑定调用
绑定调用和非绑定调用 在python中,绑定调用和非绑定调用其实是相对于类和实例来说的.抽象点说就是:在类实例化过程中,类的方法会绑定在实例之中,此时,这个实例会拥有这个类的具体属性和方法,这些属性和 ...
- volume 方式使用 Secret【转】
Pod 可以通过 Volume 或者环境变量的方式使用 Secret,今天先学习 Volume 方式. Pod 的配置文件如下所示: ① 定义 volume foo,来源为 secret mysecr ...
- Prometheus Operator【转】
前面我们介绍了 Kubernetes 的两种监控方案 Weave Scope 和 Heapster,它们主要的监控对象是 Node 和 Pod.这些数据对 Kubernetes 运维人员是必须的,但还 ...
- Stm32CubeMx lwip+freeRTOS TCP 服务
如何添加lwip参照上一篇 stm32CubeMx lwip + freeRTOS 今天讲一下,如何添加TCP服务 LwIP 提供了三种编程接口,分别为 RAW/Callback API.NETC ...
- vue 中使用 echarts 自适应问题
echarts 自带的自适应方法 resize() 具体用法: let xxEcharts = this.$echarts.init(document.getElementById('xxx')) ...
- tools.logback
https://logback.qos.ch/manual/index.html Logback is built upon three main classes: Logger, Appender ...
- xilinx FPGA课程学习总结
一时冲动,跑步进入了FPGA的大门,尤老师是教练,我之前一直做嵌入式软件,数字电路也是十年前大学课堂学过,早已经还给老师了.FPGA对于我来说完全是小白,所以.老师的课程,对于我来说至关重要!因为见过 ...