.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 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
随机推荐
- Mybatis入门(一)环境搭建
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- wdcp升级php5.8到php7.1.12后安装禅道
()下载禅道安装包 http://www.zentao.net/download/zentao10.0.beta-80076.html ()安装禅道 http://www.zentao.net/boo ...
- 修饰者模式(装饰者模式,Decoration)
1. 装饰者模式,动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更加有弹性的替代方案. 2.组合和继承的区别 继承.继承是给一个类添加行为的比较有效的途径.通过使用继承,可以使得子类在拥有 ...
- 内核MKDEV(MAJOR, MINOR)
版本:linux-2.6.24.4 宏: MKDEV(MAJOR, MINOR); 说明: 获取设备在设备表中的位置. MAJOR 主设备号 MINOR 次设备号 内核使用的版本号 ...
- 新闻网大数据实时分析可视化系统项目——18、Spark SQL快速离线数据分析
1.Spark SQL概述 1)Spark SQL是Spark核心功能的一部分,是在2014年4月份Spark1.0版本时发布的. 2)Spark SQL可以直接运行SQL或者HiveQL语句 3)B ...
- vue :src 不显示的解决方案
一定要将静态资源引入 [ require("@/assets/") ],绑定到 模型绑定的:src 数据中 动态的数据才能有效 <template> <d ...
- Ubuntu下安装 Mysql
MYSQL在ubuntu16.04下的编译安装mysql-5.6.23.tar.gz 为减少安装过程中因权限带来个各种问题,建议全程用root用户编译安装,步骤如下: 1.安装依赖文件 apt-ge ...
- ssh与scp
ssh命令用于linux 的远程登录,其默认端口为:22,在工作中常常会修改掉这一默认端口的值. scp命令用于远程的文件相互拷贝. scp远程文件拷贝: [root@jerry a]#ls ...
- 冰蝎动态二进制加密WebShell基于流量侧检测方案
概述 冰蝎是一款新型动态二进制加密网站工具.目前已经有6个版本.对于webshell的网络流量侧检测,主要有三个思路.一:webshell上传过程中文件还原进行样本分析,检测静态文件是否报毒.二:we ...
- <强化学习>基于采样迭代优化agent
前面介绍了三种采样求均值的算法 ——MC ——TD ——TD(lamda) 下面我们基于这几种方法来 迭代优化agent 传统的强化学习算法 || ν ν 已经知道完整MDP——使用价值函数V(s) ...