第一部分 基础知识
(答案仅供参考)
1、string name=null; (5’)
Session[“name”]=name;
String out1=Convert.Tostring(name);
String out2= Convert.ToString(Session[“name”]);
请问out1、out2分别输出什么?
答:Out1,out2均为null; 没有任何输出值
2、class A<T> (10’)
{
public string Test(T obj)
{
return "T";
}
public string Test(int obj)
{
return "int";
}
}
static void Main(string[] args)
{
A<string> a = new A<string>();
a.Test("12");
}
请问输出结果是什么?并说明理由
答:没有输出,只是调用方法public string Test(T obj)只有返回值T而没有输出。
理由仅供参考:(估计题意是问为什么会调用public string Test(T obj)方法(泛型))。
3、列举ASP.NET 页面之间传递值的几种方式。(5’)
答. 1.使用QueryString
2.使用Session变量
3.使用Server.Transfer
4、string strTmp = "abcd某某某"; (5’)
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i= j=
答:i=10,j=7
5、ADO.NET 中五个重要的对象(5’)
答:Connection Command DataAdapter DataReader DataSet
6、在C#中,string str = null 与 string str = “” 请说明其中的区别。 (5’)
答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。
第二部分 数据库知识
7、有人员表和单位两个表其字段如下:(30’)
人员表:
人员编号 | 人员姓名 | 性别 | 部门编号 | 生日 |
PersonNO | PersonName | Sex | DeptNO | BirthDay |
单位表:
部门编号 | 部门名称 |
DeptNO | DeptName |
说明:其中性别在数据库中用byte类型数据表示,1表示女,>1表示男
要求:查询出数据并绑定到DataGrid(没法用程序写的部分可以用文字描述)
查询要求:人员编号+姓名+ 性别(显示男女)+部门名称+年龄
答:string connstr = "Data Source=;Initial Catalog=;Integrated Security=True"; //链接字符串
SqlConnection conn = new SqlConnection(connstr);
string selectStr = @"SELECT PersonNO '人员编号',PersonName '姓名', (CASE Sex WHEN '1' THEN '女' ELSE '男' END) AS '性别',
DeptName '部门名称',DATEDIFF(yy,birthday,GETDATE()) '年龄' FROM Person,Dept WHERE Person.DeptNo=Dept.DeptMo ";
conn.open();
SqlCommand cmd = new SqlCommand(selectStr,conn);
SqlDataAdapter da = new SqlDataAdapter(selectStr, conn);
DataTable ds = new DataTable();
da.Fill(ds);
//绑定数据
DataGrid.DataSouce = ds;
DataGrid.DataBind();
8、如下图所示有5个复选框,当点击checkBox1选中时,其它全部选中,否则其它的也不选中,请用javaScript 或JQuery实现。(15’)
答:jQuery实现方法
<script type="text/javascript" language="javascript">
$("#CheckBox1").bind("click", onclick);
function onclick() {
if ($("#CheckBox1").attr("checked")) {
$("input[type='checkbox']").attr("checked", true)
}
else {
$("input[type='checkbox']").attr("checked", false)
}
}
</script>
第三部分 高级应用
9.谈谈你对三层架构和面向对象编程的理解。(12’)
答:数据访问层对数据库进行增删查改;业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等;表示层为了与用户交互例如用户添加表单。
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点: 增加成本。
面向对象,就是面对事物,看待问题,就像你看待生活中的所有物体一样,面向对象的思想里要求我们抽象事物的特性,就是要找到这个事物的特点。然后用语言(自然语言,程序语言,等等)去表述这种抽象,然后用语法封装抽象出来的东西,然后用这种抽象服务于其他的面向对象,反复一一对应。面向对象的思想也要求我们继承,继承是建立在抽象基础之上的,继承同时也运用抽象技术,所以继承比抽象复杂。面向对象编程能大大提高代码的复用性、可扩展性和以维护性。
(个人理解)
10.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。 (8’)
答:webservice主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。