DOTNET面试题初级中级参考答案net.docx
《DOTNET面试题初级中级参考答案net.docx》由会员分享,可在线阅读,更多相关《DOTNET面试题初级中级参考答案net.docx(7页珍藏版)》请在冰豆网上搜索。
DOTNET面试题初级中级参考答案net
中软强网DOTNET程序员面试题(初级中级)参考答案
姓名:
年龄:
籍贯:
应聘岗位:
期望薪金:
最低薪金:
期望培训方向:
联系方式:
住址:
1.填空:
评分标准:
一空1分,满分10分。
(1)面向对象的语言具有________性、_________性、________性。
继承性、封装性、多态性。
(考基本概念)
(2)能用foreach遍历访问的对象需要实现________________接口或声明________________方法的类型。
IEnumerable、GetEnumerator(对foreach机制的理解,本来不想出这题的,凑分)
(3)列举ADO.net中的五个主要对象_______________、_____________、_______________、_______________、_________________。
...(送分题,对ADO.net的了解)
2.不定项选择:
评分标准:
一题5分,不选或者错选均不得分。
漏选得2分。
满分10分。
(1)以下叙述正确的是:
A.接口中可以有虚方法。
B.一个类可以实现多个接口。
C.接口不能被实例化。
D.接口中可以包含已实现的方法。
B、C(考对接口的理解)
(2)从数据库读取记录,你可能用到的方法有:
A.ExecuteNonQuery B.ExecuteScalar
C.Fill D.ExecuteReader
B、C、D(考查对ADO.net的熟练程度)
3.简述private、protected、public、internal修饰符的访问权限。
private:
私有成员,在类的内部才可以访问。
protected:
保护成员,该类内部和继承类中可以访问。
public:
公共成员,完全公开,没有访问限制。
internal:
在同一命名空间内可以访问。
评分标准:
答对1题2分,2题5分,3题7分。
全对10分。
(送分题)
4.写出一条Sql语句:
取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键, 注意:
ID可能不是连续的。
)
解1:
selecttop10*fromAwhereidnotin(selecttop30idfromA)
解2:
selecttop10*fromAwhereid>(selectmax(id)from(selecttop30idfromA)asA)
评分标准:
写对即10分。
(答案不唯一,datagrid分页可能需要用到)
5.列举ASP.NET页面之间传递值的几种方式。
1.使用QueryString, 如....?
id=1;response.Redirect()....
2.使用Session变量
3.使用Server.Transfer
....等等
评分标准:
答对1点得3分,两点7分,3点10分。
6.写出程序的输出结果
classClass1 {
privatestringstr="Class1.str";
privateinti=0;
staticvoidStringConvert(stringstr) {
str="stringbeingconverted.";
}
staticvoidStringConvert(Class1c) {
c.str="stringbeingconverted.";
}
staticvoidAdd(inti) {
i++;
}
staticvoidAddWithRef(refinti) {
i++;
}
staticvoidMain() {
inti1=10;
inti2=20;
stringstr="str";
Class1c=newClass1();
Add(i1);
AddWithRef(refi2);
Add(c.i);
StringConvert(str);
StringConvert(c);
Console.WriteLine(i1);
Console.WriteLine(i2);
Console.WriteLine(c.i);
Console.WriteLine(str);
Console.WriteLine(c.str);
}
}
(考查值引用和对象引用)
10
21
0
str
stringbeingconverted.
评分标准:
答对一点得2分,满分10分。
7.写出程序的输出结果
publicabstractclassA
{
publicA()
{
Console.WriteLine('A');
}
publicvirtualvoidFun()
{
Console.WriteLine("A.Fun()");
}
}
publicclassB:
A
{
publicB()
{
Console.WriteLine('B');
}
publicnewvoidFun()
{
Console.WriteLine("B.Fun()");
}
publicstaticvoidMain()
{
Aa=newB();
a.Fun();
}
}
A
B
A.Fun()
评分标准:
写出A.B得5分,写出A.Fun()得5分,满分10分。
(考查在继承类中构造函数,以及new方法,)
8. 写出程序的输出结果:
publicclassA
{
publicvirtualvoidFun1(inti)
{
Console.WriteLine(i);
}
publicvoidFun2(Aa)
{
a.Fun1
(1);
Fun1(5);
}
}
publicclassB:
A
{
publicoverridevoidFun1(inti)
{
base.Fun1(i+1);
}
publicstaticvoidMain()
{
Bb=newB();
Aa=newA();
a.Fun2(b);
b.Fun2(a);
}
}
--------------------------------------------
2
5
1
6
评分标准:
答对一点得2分,两点得5分,3点得7分。
全对得10分。
9.一列数的规则如下:
1、1、2、3、5、8、13、21、34......
求第30位数是多少,用递归算法实现。
(C#语言)
publicclassMainClass
{
publicstaticvoidMain()
{
Console.WriteLine(Foo(30));
}
publicstaticintFoo(inti)
{
if(i<=0)
return0;
elseif(i>0&&i<=2)
return1;
elsereturnFoo(i-1)+Foo(i-2);
}
}
评分标准:
写出returnFoo(i-1)+Foo(i-2);得5分。
写出if(i>0&&i<=2)return1;得5分。
方法参数过多需要扣分(扣除分数=参数个数-1)
不用递归算法扣5分
(递归算法在树结构建立等方面比较常用)
10、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。