1.列举ASP.NET 页面之间传递值的几种方式。
1).使用QueryString, 如....?id=1; response. Redirect()....
2).使用Session变量
3).使用Server.Transfer

2.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?
答 : QueryString、 this.Server.Transfer

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

 class Program
{
static void Main(string[] args)
{
Console.WriteLine(Foo());
//输出 832040
Console.ReadKey();
}
public static int Foo(int i)
{
if (i <= )
return ;
else if (i > && i <= )
return ;
else return Foo(i - ) + Foo(i - );
}
}

4.在下面的例子里,当使用new B()创建B的实例时,产生什么输出?

 class Program
{
static void Main(string[] args)
{
var test = new B();//x = 1, y = 0
Console.ReadKey();
}
}
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields() {}
}
class B:A
{
int x = ;
int y;
public B()
{
y = -;
}
public override void PrintFields()
{
Console.WriteLine("x = {0}, y = {1}", x, y);
}
}

5..net中读写数据库需要用到那些类?他们的作用?

SqlConnection/OleDbConnection:建立数据库的连接;
SqlCommand/OleDbCommand:执行数据库脚本。

6.ASP.NET与ASP相比,主要有哪些进步?
asp解释形,aspx编译型,性能提高,可以跟美工的工作分开进行,更有利于团队开发。

7.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

 class Program
{
static void Main(string[] args)
{
int[] intArr = new int[];
ArrayList myList = new ArrayList();
Random rnd = new Random();
while (myList.Count < )
{
int num = rnd.Next(, );
if (!myList.Contains(num))
myList.Add(num);
}
for (int i = ; i < ; i++ )
{
intArr[i] = (int)myList[i];
}
for (int i = ; i < ; i++ )
{
Console.Write(intArr[i] + "|");
if ((i + ) % == )
{
Console.WriteLine();
}
}
Console.ReadKey();
}
}

8.DataReader与Dataset有什么区别?

一个是只能向前的只读游标,一个是内存中的表。

9.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个

 string inputStr = " xx xx ";
inputStr = Regex.Replace(inputStr.Trim(), @"\s+", " ");

10.下面这段代码输出什么?为什么?

 int i = ; int j = ;
if (Object.ReferenceEquals(i, j))
Console.WriteLine("Equal");
else Console.WriteLine("Not Equal");

不相等,因为比较的是对像。

11.什么是虚函数?什么是抽像函数?
虚函数(virtual):可由子类继承并重写的函数。抽像函数:规定其非虚子类必须实现的函数,必须被重写。

12.什么是ASP.net中的用户控件?
用户控件一般用在内容多为静态,或者少许会改变的情况下用的比较多,类似ASP中的include..但是功能要强大的多。

13.什么是code-Behind技术?
ASPX,RESX和CS三个后缀的文件,这个就是代码分离,实现了HTML代码和服务器代码分离,方便代码编写和整理。

14.当整数a赋值给一个object对像时,整数a将会被?装箱

15.public static const int A=1;这段代码有错误么?是什么?const不能用static修饰

16.下面的代码中有什么错误吗?abstract override 是不可以一起修饰

 class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
}

17.下面这段代码有错误么?

 switch (i){
case()://case()条件不能为空
CaseZero();
break;
case :
CaseOne();
break;
case :
default;//wrong,格式不正确
CaseTwo();
break;
}

18.写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。

 <script *** script>
setTimeout('window.close();', 3000);//1200
function show(){
if (window.event.button == 1){
alert("您好");
} else if (window.event.button == 2){
alert("禁止右键");
}
}

19.<%# %> 和 <% %> 有什么区别?<%# %>表示绑定的数据源;<% %>是服务器端代码块。

20.重载与覆盖的区别?
1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系;
2、覆盖只能由一个方法,或只能由一对方法产生关系,方法的重载是多个方法之间的关系;
3、覆盖要求参数列表相同;重载要求参数列表不同;
4、覆盖关系中,调用那个方法体,是根据对象的类型(对像对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。

21.分析以下代码:

 public static void test(string ConnectString)
{
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectString = ConnectString;
try {
conn.Open();
...
} catch (Exception Ex){
MessageBox.Show(Ex.ToString());
} finally {
if (!conn.State.Equals(ConnectionState.Closed))
conn.Close();
}
}

以上代码可以正确使用连接池吗?如果传入的connectionString是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连字符的空格数,顺序完全一致。

22.下面的例子中

 class Program
{
static void Main(string[] args)
{
Console.WriteLine("X = {0}, Y = {1}", A.X, B.Y);//X = 2, Y = 1
Console.ReadKey();
}
}
class A
{
public static int X;
static A()
{
X = B.Y + ;
}
}
class B
{
public static int Y = A.X + ;
static B() { }
}

dotNET面试(一)的更多相关文章

  1. dotNET面试(三)

    1.简述 private. protected. public. internal 修饰符的访问权限.private : 私有成员, 在类的内部才可以访问 ,也就是类内部的函数等成员可以访问.prot ...

  2. dotNET面试(二)

    值类型与引用类型 1.值类型和引用类型的区别? 值类型包括简单类型.结构体类型和枚举类型,引用类型包括自定义类.数组.接口.委托等. 赋值方式:将一个值类型变量赋给另一个值类型变量时,将复制包含的值. ...

  3. 我为NET狂~群福利:逆天书库

    我为NET狂-官方群① 238575862 爱学习,爱研究,福利不断,技能直彪~~ 最近更新:2016-08-30,欢迎补充 暂缺PDF: │ SQL Server 2012 Analysis Ser ...

  4. C#源码500份

    C Sharp  短信发送平台源代码.rar http://1000eb.com/5c6vASP.NET+AJAX基础示例 视频教程 http://1000eb.com/89jcC# Winform ...

  5. .NET 2.0 参考源码索引

    http://www.projky.com/dotnet/2.0/Microsoft/CSharp/csharpcodeprovider.cs.htmlhttp://www.projky.com/do ...

  6. .NET工程师面试宝典

    .Net工程师面试笔试宝典 传智播客.Net培训班内部资料 这套面试笔试宝典是传智播客在多年的教学和学生就业指导过程中积累下来的宝贵资料,大部分来自于学员从面试现场带过来的真实笔试面试题,覆盖了主流的 ...

  7. 传智播客DotNet面试题

    技术类面试.笔试题汇总(整理者:杨中科,部分内容从互联网中整理而来) 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化 ...

  8. .NET面试必备(整理)

    1.简述 private. protected. public. internal 修饰符的访问权限. private : 私有成员, 在类的内部才可以访问.public : 公共成员,完全公开,没有 ...

  9. C#130问,初级程序员的面试宝典

    首先介绍下,目前C#作为一门快速开发的语言,在面试的过程中需要注意的技术知识点,了解下面的知识点对于初级工程师入职非常有帮助,也是自己的亲身体悟. 1.    简述 private. protecte ...

随机推荐

  1. Java并发(基础知识)—— 阻塞队列和生产者消费者模式

    1.阻塞队列                                                                                        Blocki ...

  2. 前端学习(三十六)promise(笔记)

    一个页面:  头部.用户信息.新闻列表 jquery ajax:  1.$.ajax({    url:'',    dataType:'json', }).then(res=>{    //r ...

  3. 解决js ajax跨越请求 Access control allow origin 异常

    // 解决跨越请求的问题 response.setHeader("Access-Control-Allow-Origin", "*");

  4. 12.整合neo4j

    neo4j 官网下载: https://neo4j.com/download-center/#community 教程: http://neo4j.com.cn/public/cypher/defau ...

  5. python自动刷新抢火车票

    #!/usr/bin/env python #-*- coding: utf-8 -*- """ 火车票 可以自动填充账号密码,同时,在登录时,也可以修改账号密码 然后手 ...

  6. 【Http2.0】Http2.0

    序言 目前HTTP/2.0(简称h2)已经在广泛使用(截止2018年8月根据Alexa流行度排名的头部1千万网站中,h2占比约29%,https://w3techs.com/technologies/ ...

  7. 英语单词collaboration

    collaboration 来源——github网站 https://guides.github.com/activities/hello-world/ GitHub is the best way ...

  8. SpringMvc返回JSON的工作原理。

    一:导入jar包.然后在springmvc.xml中配置上这么一句话 <!-- 能支持springmvc更高级的一些功能,JSR303校验,快捷的ajax,处理JSON数据.映射动态请求 --& ...

  9. speike

    speike 题目描述 众所周知,Speike 狗是一条特别喜欢追着Tom 打的狗. 现在,Tom 又把Speike 惹生气了,现在Speike 需要跨越千山万水找Tom 报仇. Speike 所在的 ...

  10. Navicat for Mysql 连接报错1251[已解决]

    因为mysql是8.0.11的版本,比较新的mysql采用新的保密方式所以旧的修改密码的方式似乎不能用, 新版本改密码方式: use mysql; ALTER USER 'root'@'localho ...