C#工程师面试题

来源:互联网 发布:24小时淘宝店铺套花呗 编辑:程序博客网 时间:2024/06/05 14:46

转载 http://hi.csdn.net/xtt77590

XXXXXX公司C#工程师面试题


一。基础篇
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。


2 .列举ASP.NET 页面之间传递值的几种方式。


3.C#中的委托是什么?事件是不是一种委托?


4.堆和栈的区别?


5.abstract class和interface有什么区别?


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


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


8.构造器Constructor是否可被override?


9.是否可以继承String类?


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


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


12.List, Set, Map是否继承自Collection接口?


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


14.sleep() 和 wait() 有什么区别?


15.什么是Application Pool?


16.什么是虚函数?什么是抽象函数?


17.什么是Web Service?UDDI?


18.什么是ASP.net中的用户控件?


19.列举一下你所了解的XML技术及其应用


20.ADO.net中常用的对象有哪些?分别描述一下。


21.委托声明的关键字是______?


22.在Asp.net中所有的自定义用户控件都必须继承自________?


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


24.什么叫应用程序域?


25.CTS、CLS、CLR分别作何解释?


26.什么是装箱和拆箱?


27.什么是受管制的代码?


28.什么是强类型系统?


29.常用的调用WebService的方法有哪些?、


30.Overloaded的方法是否可以改变返回值的类型?


31 .net的错误处理机制是什么?


32.C#可否对内存进行直接的操作?


33.在.Net中,类System.Web.UI.Page 可以被继承么?


34.HashMap和Hashtable的区别。


35.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。


36.大概描述一下ASP。NET服务器控件的生命周期


37.在下面的例子里
using System;
class A
{
public A()
{
PrintFields();

public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B(){
y=-1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?


38.下面的例子中
using System;
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
产生的输出结果是什么?




39.下面的代码中有什么错误吗?_______
using System;
class A
{
public virtual void F()
{
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F(); 
}




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


2.请编程实现一个冒泡排序算法


3.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m


4.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?


三。应用篇


1.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?


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


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


4.在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?


5.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路。


6.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。
public void test(int i)
{
lock(this)
{
if (i>10)
{
i--;
test(i);
}
}
}


7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty


四。数据库篇
1.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。


2.什么叫做SQL注入,如何防止?请举例说明。


3.DataReader与Dataset有什么区别?


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


5.什么是SQL左联接,在实际开发中中有什么好处,请举例说明。




五。其他
1. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?


2.某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
(1) 密码单词的最小长度是两个字母,可以相同,也可以不同
(2) K不可能是单词的第一个字母
(3) 如果L出现,则出现次数不止一次
(4) M不能使最后一个也不能是倒数第二个字母
(5) K出现,则N就一定出现
(6) O如果是最后一个字母,则L一定出现
问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?
A) K B)L C) M D) N


问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?
A)1个 B)3个 C)6个 D)9个


问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO


3.软件开发过程一般有几个阶段?每个阶段的作用?


4.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。


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