`
ch_kexin
  • 浏览: 897840 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

最新的.Net面试题及答案

    博客分类:
  • .NET
阅读更多
引用

最新的.Net面试题及答案
1.a=10,b=15,在不用第三方变题的前提下,把a,b的值互换
   a=a+b;b=a-b;a=(a-b)/2;b=b+a
2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组
public class TestQuickSort {

private int[] array = null;

private void quickSort(int lowest, int highest) {
if (array == null || lowest < 0 || lowest >= highest
|| highest >= array.length) {
return;
}
int low = lowest;
int high = highest;
int key = low++;
for (; low <= high;) {
if (key < high) {
if (array[key] > array[high]) {
array[high] = array[key] + (array[key] = array[high]) * 0;
key = high;
}
high--;
}

if (key > low) {
if (array[key] < array[low]) {
array[low] = array[key] + (array[key] = array[low]) * 0;
key = low;
}
low++;
}
}
quickSort(lowest, key - 1);
quickSort(key + 1, highest);
}

/**
* @param args
*/
public static void main(String[] args) {
TestQuickSort test = new TestQuickSort();
int[] array = {6,5,2,9,7,4,0};
test.array = array;
test.quickSort(0, array.length - 1);
int length = test.array.length;
for (int i = 0; i < length; i++) {
System.out.println(test.array[i]);
}
}
}
快速排序是综合性能最好的内部排序算法!

算法

private static int Partition(ref int[] dest, int be, int en, ref int swapTimes)
{
int temp = dest[en];
int b = be;
int e = en;
while(b != e)
{
while(dest[b] < temp && b < e)
b ++;
if(b < e)
{
dest[e] = dest[b];
e --;
swapTimes ++;
}

while(dest[e] > temp && b < e)
{
e --;
}
if(b < e)
{
dest[b] = dest[e];
b ++;
swapTimes ++;
}
}

dest[b] = temp;
return b;

}  

3:请简述面向对象的多态的特性及意义!
在c#中多态性的定义是:同一操作作用于不同的类的实例、不同的类将进行不同的解释、最后产生不同的执行结果。

c#支持两种类型的多态性:
编译时的多态性(静态联编)
编译时的多态性是通过重载来实现的。方法重载和操作符重载、它们都实现了编译时的多态性。
对于非虚的成员来说系统在编译时根据传递的参数、返回的类型等信息决定实现何种操作。
运行时的多态性(动态联编)
运行时的多态性就是指直到系统运行时才根据实际情况决定实现何种操作c#中运行时的多态性。
通过虚成员实现。
编译时的多态性为我们提供了运行速度快的特点而运行时的多态性则带来了高度灵活和抽象的特点。


4:session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法
    用VIEWSTATE /Profile/自己在服务器端实现个Cache
5:对数据的并发采用什么办法进行处理较好。
   1、使用事务对象:

1SqlConnection   conn   =   new   SqlConnection(ConnectionString);  
2 SqlCommand   cmd   =   new   SqlCommand("delete   from   table_a   where   bh=1",conn);  
3 SqlTransaction   Trans   ;   //事物对象  
4   
5 conn.Open();  
6 Trans   =   conn.BeginTransaction(IsolationLevel.ReadCommitted,   "MyTrans");  
7 cmd.Transaction   =   Trans;  
8 try{  
9 cmd.ExecuteNonQuery();  
10                    //如果成功,则提交数据  
11 Trans.Commit();  
12 }  
13 catch   (SqlException   Err){  
14                  //产生错误,则回滚事物对象  
15 Trans.Rollback("MyTrans");  
16 }  
17 finally{  
18 conn.Close();  
19 }  
2、 使用lock() unlock()
3、使用时间戳,使用timetamp类型。
6:已知Oracle数据库有GD和ZS两个数据库,GD数据库v_s表有数据写入时,从v_s表中提取最新数据到ZS数据库的D_E表中。请问用什么办法解决这一问题?如果又碰到不能互访的问题时,又用什么办法解决?

答案:1:触发器
2:不能互访时,肯定是权限出了问题,可以对v_s表赋予D_E表的操作权限

7:已知Oracle数据库a,b
现在在a用户权限下,访问b数据库sql语句为select a.* From b a,请改正这一句Sql的写法

答案:select * From b.TableName 

8:当对数据库进行海量级的数据插入时,数据库出现报错,错误原因可能有哪些,以你的经验谈谈你的解决办法

答案:1:数据库表空间不足,因为Oracle必须指定表空间的大小 更改表空间大小,如果装有双机热备则必须对物理存贮文件进行手工更改
2:表死锁 采用脚本形式对表解锁
3:监听丢失,重启监听解决 

9:算法分析
AH 20060625 12 44 01 CAD001
AH 20060625 12 44 01 CAD001
AH 20060625 13 44 02 CAD001
AH 20060625 14 44 03 CAD001
说明:第二列表示日期,第三列表示温度,第四列表示水位,第五列表示流量,第6列表示水位测站编码,每一列表示一个字段
很明显第一条数据和第二条数据重复,然数据表中有主键和外键的约束,是不允许有重复的数据存在的,请构造算法将重复的数据Del掉

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp

10:javascript算法
已知a,b,现在点鼠标a会向b游动,鼠标停,a会停下来
请实现"跑步算法"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1, 请你说说.NET中类和结构的区别?

  答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值。申明结构用Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类可以实现接口。

  2, 死锁的必要条件?怎么克服?

  答:系统的资源不足,进程的推进的顺序不合适,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源已阻塞,对已获得资源不放,进程获得资源时,未使用完前,不能强行剥夺。

  3, 接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?

  答:接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数。

  4, 构造器Constructor是否可以被继承?是否可以被Override?

  答:Constructor不可以被继承,因此不能被重写(Overriding),但可以被重载(Overloading).

  5, 当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法?

  答:不可以,一个对象的方法只能由一个线程访问。

  6, 用最有效的方法算出等已8对于几?

  答:2<<3.

  7, C#是否可以对内存直接进行操作?

  答:这个问题比较难回答,也是个很大的问题。但是可以这样问答。C#是可以对内存进行直接操作的,虽然很少用到指针,但是C#是可以使用指针的,在用的时候需要在前边加unsafe,,在.net中使用了垃圾回收机制(GC)功能,它替代了程序员,不过在C#中不可以直接使用finalize方法,而是在析构函数中调用基类的finalize()方法。

  8, Error和Exception有是区别?

  答:error表示恢复不是不可能,但是很困难,exception表示一种实际或实现问题,它表示程序运行正常不可以发生的。

  9, 谈谈final,finally,finallize的区别?

  答:final用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承。

  Finally是异常处理语句结构中,表示总是执行的部分。

  Finallize表示是object类一个方法,在垃圾回收机制中执行的时候会被调用被回收对象的方法。

  10, HashMap和Hashtable区别?

  答:HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable。

  11,Collection和Collections的区别?

  答:Collection是集合类的上级接口,Collections是针对集合类的一个帮助类,它提供一系列静态方法来实现对各种集合的搜索,排序,线程安全化操作。

  12,C#中委托是什么?事件是不是一种委托?

  答:委托是一种安全的类似与函数指针,但是她比指针要安全的多,它可以把方法作为一个参数传递给另一个方法,可以理解为指向函数的引用。事件是一种消息机制,它是一种委托,委托不带方法体。

  13,Override, Overload,的区别?

  答:Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。

  Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同。

  14,在一个BS结构中需要传递变量值时,不能使用session,coolke,application,你有几中方法?

  答:this.server.Transfer,Querystring.

  15, C#种索引器实现过程,是否只能根据数字索引?

  答:不是的,可以是任意类型。

  16,New有种用法?

  答:有3种,第一种是,实例化如:New Class()

  第二种是,public new 隐藏基类的方法

  第三种是,在泛型类申明中的任何类型参数都必须有公共的无参构造函数。

  17,任何把一个Array复制到Arraylist中?

  答:Foreach (object o in Array), ArrayList.Add (0)



分享到:
评论

相关推荐

    最新的.NET面试题及答案

    .NET面试题涵盖了许多核心概念,包括变量交换、排序算法、多态性以及数据管理策略。以下是对这些知识点的详细说明: 1. 变量交换:题目中提到了一种不使用第三方变量交换`a`和`b`值的方法。这种方法利用算术运算...

    C#.net 面试题及答案 (3)

    本篇将基于提供的"C#.net 面试题及答案 (3)",探讨一些核心的C#和.NET面试知识点,帮助求职者准备面试。 1. **面向对象编程基础** - 类与对象:理解类是对象的蓝图,对象是类的实例。 - 封装:通过访问修饰符(如...

    .net 面试题系列(网上收集)很全

    2008/06/17 18:40 2,775 .et面试题系列文章七(附答案).txt 2008/06/17 18:37 4,246 .net 最新面试题.txt 2008/06/17 18:38 7,017 .net 面试题(高级开发...2008/06/17 18:34 2,340 面试题库网收集的asp.net面试题.txt

    .net面试题附答案

    这份“.NET面试题附答案.doc”文档应该包含了以上各个领域的典型问题及其解答,对于准备.NET面试的开发者来说是一份宝贵的资源。通过深入学习和实践,开发者可以提升自己的技能,以应对各种.NET面试挑战。

    2014年最新.net面试题以及答案.doc

    最新最全的.net面试题库整理,对于正在准备找工作的你来说很有帮助!

    asp.net 面试题及答案

    以下是一些常见的ASP.NET面试问题及其答案,这些问题涵盖了ASP.NET生命周期、页面状态管理、事件处理、自定义控件注册等多个方面。 1. ASP.NET事件处理顺序是怎样的? ASP.NET页面事件的顺序如下: - Page_Init:...

    C#.NET面试题附有详细答案

    C#.NET面试题是评估和测试开发者在C#编程语言及.NET框架方面技能的重要工具。以下是一些可能出现在面试中的关键知识点,以及它们的详细解释: 1. **C#基础**: - **变量和数据类型**:了解基本的数据类型(如int、...

    点.net面试题及答案

    这篇文章将详细解析.NET面试中可能出现的一些关键知识点,帮助...以上是对.NET面试题中涉及的主要知识点的详细解答,涵盖了面向对象、泛型、委托、异常处理、数据库操作等多个方面,希望对准备.NET面试的朋友有所帮助。

    c#,.net 程序员常见面试题大全(含答案)

    《C#与.NET程序员面试题大全》是一份全面的指南,专为准备C#和.NET技术面试的程序员设计。这份资料包含了大量的问题和答案,旨在帮助求职者在面试前做好充分的准备,提升成功的机会。 1. **C#基础知识**: - **...

    asp.net面试题及答案

    【ASP.NET面试题及答案详解】 ASP.NET是微软公司推出的一种用于构建Web应用程序的技术,它基于.NET Framework,提供了丰富的功能和高效性能。在面试中,ASP.NET相关的问题常常被用来评估候选人的技能和经验。以下是...

    ASP.net面试题答案

    根据提供的文件内容,我们可以整理出以下关键知识点,主要围绕ASP.NET相关的面试问题及答案: ### 1. 访问修饰符的区别 - **private**: 私有访问修饰符,仅在当前类内部可见。 - **protected**: 受保护访问修饰符,...

    一些.net面试题及答案

    【.NET面试题及答案详解】 1. 访问修饰符的理解 - `private`:私有成员,仅在类的内部可访问,提供封装。 - `protected`:保护成员,允许类的内部和继承自该类的子类访问,确保数据安全性。 - `public`:公共...

    60道ASP.NET面试题和答案

    ASP.NET 面试题知识点总结 本篇文章总结了 ASP.NET 面试题的知识点,涵盖了 C# 语言基础、ASP.NET 框架、面向对象编程、算法设计等多个方面,旨在帮助准备面试的同学更好地掌握 ASP.NET 相关知识。 访问权限 在 ...

    .NET面试真题及答案

    ### .NET面试真题解析 #### 1. 重载(Overload)和覆写(Override)的区别 - **重载(Overload)**: 在.NET框架中,重载允许同一个类中有多个同名的方法,但这些方法的参数列表必须有所不同(参数的数量、类型或顺序不同...

    asp.net面试题130个和答案

    asp.net面试题130个和答案,通常的asp.net面试都有.上次我就碰到了同样的题

    asp.net面试题收集(附答案)

    以下是对一些常见的 ASP.NET 面试题及答案的详细解释: 1. **ASP.NET MVC 和 Web Forms 的区别** - ASP.NET MVC(Model-View-Controller)是基于模型-视图-控制器的设计模式,强调代码分离和测试驱动开发,更灵活...

    .net经典面试题(含答案)

    .net经典面试题(含答案) .net程序员找工作必备

    Asp.net面试题大全(有答案)

    【Asp.net面试题大全(有答案)】 Asp.net技术是Microsoft开发的一种Web应用程序框架,主要用于构建动态网站、Web应用程序和服务。以下是一些Asp.net面试中的常见问题及其答案,帮助.net程序员准备面试。 1. ...

    asp.Net经典推荐面试题及答案

    ### 四、选择题解析 1. **面向对象语言的三大特性**: - A. 封装性 - B. 继承性 - C. 多态性 - D. 异常处理 正确答案为ABC,面向对象语言的核心特性包括封装性、继承性和多态性。 2. **ADO.NET中用于执行...

    .net 面试题(高级开发人员篇)

    .NET 面试题(高级开发人员篇) 本文将对 .NET 面试题(高级开发人员篇)中的问题进行详细的解释和分析。 1. DateTime.Parse(myString) 这行代码有什么问题? 这行代码的问题在于,如果 myString 不能满足时间...

Global site tag (gtag.js) - Google Analytics