设为首页 加入收藏

TOP

新编C#面试题(五)
2014-11-24 01:37:50 来源: 作者: 【 】 浏览:47
Tags:新编 试题
of is Directory )


FindFile( fof );


}


}


33. 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。


答: 解1: select top 10 * from A where id not in (select top 30 id from A)


解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)


34. 面向对象的语言具有________性、_________性、________性


答:封装、继承、多态。


35. 能用foreach遍历访问的对象需要实现 ___________接口或声明____________方法的类型。


答:IEnumerable 、 GetEnumerator。


36. GC是什么 为什么要有GC


答:GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc()或者 Runtime.getRuntime().gc()


37. String s = new String(“xyz”);创建了几个String Object


答:两个对象,一个是”xyz”,一个是指向”xyz”的引用对象s。


39. 启动一个线程是用run()还是start()


答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。


40.接口是否可继承接口 抽象类是否可实现(implements)接口 抽象类是否可继承实体类(concrete class)


答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。


41. 构造器Constructor是否可被override


答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。


42. 是否可以继承String类


答:String类是final类,故不可以继承。


43. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后


答:会执行,在return前执行。


44. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对


答:不对,有相同的hash code。


45. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上


答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。


46. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法


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


47. abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized


答:都不能。


50. 数组有没有length()这个方法 String有没有length()这个方法?


答:数组没有length()这个方法,有length的属性。String有length()这个方法。


52. short s1 = 1; s1 = s1 + 1;有什么错 short s1 = 1; s1 += 1;有什么错


答:short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。


53. 谈谈final, finally, finalize的区别。


答:final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载


finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。


finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。


54. 如何处理几十万条并发数据?


答:用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.


55. Session有什么重大BUG,微软提出了什么方法加以解决?


答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。


56. 进程和线程的区别?


答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。


57. 堆和栈的区别?


答:栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。


堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。


58. 成员变量和成员函数前加static的作用?


答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。


61. 请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。


答: session(viewstate) 简单,但易丢失


application 全局


cookie 简单,但可能不支持,可能被伪造


input type=”hidden” 简单,可能被伪造


url参数简单,显示于地址栏,长度有限255个字符


数据库稳定,安全,但性能相对弱


62. C#中接口和类的异同


答:接口和类都是类,不同的是,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。


63. DataReader和DataSet的异同


答:DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何

首页 上一页 2 3 4 5 6 下一页 尾页 5/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Interview questions for C# deve.. 下一篇C#面试常见问题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: