今天去面试某公司的.net笔试题(答案自己做的,大家多指教)

第一部分 基础知识

(答案仅供参考)

1string name=null;                   (5’)

       Session[“name”]=name;

       String out1=Convert.Tostring(name);

       String out2= Convert.ToString(Session[“name”]);

请问out1out2分别输出什么?

答:Out1out2均为null; 没有任何输出值

2class 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

4string strTmp = "abcd某某某";   (5’)

int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i= j=
答:i=10,j=7

5ADO.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 构架下remotingwebservice两项技术的理解以及实际中的应用。 (8’)
答:webservice主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值