.Net、C#、SQL(不断更新中......)

来源:互联网 发布:linux分辨率代码 编辑:程序博客网 时间:2024/06/05 03:52
1. CLR、CTS、CLS 分别是什么意思?
共公语言运行库,通用类型系统,公共语言规范
2. 什么是基元类型?
由编译器直接支持的数据类型称为基元类型.
3. 值类型和引用类型的区别是什么?为什么要设计值类型?值类型会被GC回收吗?值类型是否能在托管堆分配?
4. Equals、==、ReferenceEquals 如何区别使用?
5. 什么是虚方法?如何理解多态?
6. overload 和override 有什么区别?
7. 基于接口编程的目的是什么?什么情况下使用接口,什么情况下使用抽象类?
8. 委托是什么意思?什么叫委托链?我们能在代码中继承 MulticastDelegate吗?
9. 实现 Iterators 一般用到哪些接口?
10. 请写一个简单泛型类型,要求有两个泛型参数 T、K,其中 T 必须是值类型,K 必须实现了 IDisposable 接口。
8、简要谈一下您对微软.NET   构架下remoting和webservice两项技术的理解以及实际中的应用。(10)  
  remoting是.net   中用来跨越machine,   process,   appdomain   进行方法调用的技术,对于三成结构的程序,就可以使用remoting技术来构建.它是分布应用的基础技术.相当于以前的DCOM  Web   Service是一种构建应用程序的普通模型,并能在所有支持internet网通讯的操作系统上实施。Web   Service令基于组件的开发和web的结合达到最佳,基于组件的对象模型 
10 .请解释ASP。NET中以什么方式进行数据验证
       Aps.net 中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控件,另还有一个集中验证信息处理控件
11.  WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。
在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到务端
只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件
12.  WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
可以调用
例如:
<asp:TextBox id="TextBox1" onclick="clientfunction();" runat="server">
</asp:TextBox>
<INPUT id="Button2" value="Button" name="Button2"
runat
="server" onclick="clientfunction();">
14.  请解释ASP。NET中的web页面与其隐藏类之间的关系?
一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下
<%@ Page language="c#" Codebehind="Tst1.aspx.cs" AutoEventWireup="false" Inherits="T1.Tst1"%>
Codebehind
="Tst1.aspx.cs" 表明经编译此页面时使用哪一个代码文件
Inherits
="T1.Tst1" 表用运行时使用哪一个隐藏类
15.  什么是viewstate,能否禁用?是否所用控件都可以禁用?
Viewstate是保存状态的一种机制,EnableViewState属性设置为false即可禁用
16.  当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决
很有可能是在Page_Load中数据处理时没有进行Page的IsPostBack属性判断
17.  请解释什么是上下文对象,在什么情况下要使用上下文对象
上下文对象是指HttpContext类的Current 属性,当我们在一个普通类中要访问内置对象(Response,Request,Session,Server,Appliction等)时就要以使用此对象
18.  请解释转发与跳转的区别?
转发就是服务端的跳转A页面提交数据到B页面,B页面进行处理然后从服务端跳转到其它页面
跳转就是指客户端的跳转
1.请简述一下用Socket进行同步通讯编程的详细步骤
1、在应用程序和远程设备中使用协议和网络地址初始化套接字
2、在应用程序中通过指定端口和地址建立监听
3、远程设备发出连接请求
4、应用程序接受连接产生通信scoket
5、应用程序和远程设备开始通讯(在通讯中应用程序将挂起直到通讯结束)
6、通讯结束,关闭应用程序和远程设备的Socket回收资源

13.  请解释web.config文件中的重要节点
appSettings包含自定义应用程序设置。
system.web 系统配置
compilation动态调试编译设置
customErrors自定义错误信息设置
authentication身份验证,此节设置应用程序的身份验证策略。
authorization授权, 此节设置应用程序的授权策略.
5 .列举ASP.NET 页面之间传递值的几种方式。
1.     使用QueryString, 如....?id=1; response. Redirect()....
2.使用Session变量
3.使用Server.Transfer
2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
session(viewstate) 简单,但易丢失
application 全局
cookie 简单,但可能不支持,可能被伪造
input ttype
="hidden" 简单,可能被伪造
url参数简单,显示于地址栏,长度有限
数据库稳定,安全,但性能相对弱
2.override与重载的区别
Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数
3、.net的错误处理机制是什么
.net错误处理机制采用try
->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
4、C#中接口和类的异同
接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。
4、DataReader和DataSet的异同
DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...
1.     在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对像,或修饰一个方法,表此方法完全重写此方法
4.谈谈类和结构的区别?
最大区别一个是引用类型,一个是值类型 默认成员访问为public是另外一个区别
1. 在.net(C# or vb.net)中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。
this(C#) Me(vb.net).
2在.net(C# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。
在form中重载DefWndProc函数来处理消息:
protected override void DefWndProc (ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton :
 
///string与MFC中的CString的Format函数的使用方法有所不同
 string message= string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);
 MessageBox.Show(message);
///显示一个消息框
 break;
case USER:
处理的代码
default:
 
base.DefWndProc(ref m);///调用基类函数处理非自定义消息。
 break;
}
}
3. 在.net(C# or vb.net)如何启动另一个程序。process
4. 在.net(C# or vb.net)中如何取消一个窗体的关闭
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel
=true;
}
5. 在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?
答案:一个是退出整个应用程序,一个是关闭其中一个form

6. 在C#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$10,321.50和$122235401.22而在英国则为£10321.50和£122235 401.22
答案:
System.Globalization.CultureInfo MyCulture
=new System.Globalization.CultureInfo("en-US");
//System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");为英国货币类型
decimal y = 9999999999999999999999999999m;
string str = String.Format(MyCulture,"My amount = {0:c}",y);
7. 某一密码仅使用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
答案:B
问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?
A)1个 B)3个 C)6个 D)9个
答案:A
问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
答案:C
8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
答案:62移动成2的6次方
 
8.C#中的接口和类有什么异同。
答:接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!
而类是负责功能的具体实现!
在类中也有抽象类的定义,抽象类与接口的区别在于:
抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。
但接口是一个行为的规范,里面的所有东西都是抽象的!
一个类只可以继承一个基类也就是父类,但可以实现多个接口
9.。net中读写数据库需要用到哪些类?他们的作用
答:这个类自已可以写的啊,你是指基类吗
?那configuration,sqlconnection,sqlcommand等都要用到.

17.什么是SOAP,有哪些应用。
答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,具体请看:http:
//playist.blogchina.com/2521621.html
20.常用的调用webservice方法有哪些?
答:
可以从浏览器、ASP页或其他WEB服务调用可以使用HTTP
-GET   HTTP-POST访问WEB服务也可以从ASP页或其他WEB服务向其他WEB服务发出SOAP请求HTTP-GET   HTTP-POST  SOAP  使用WEB服务代理
6.  私有程序集与共享程序集有什么区别?
一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的目录之中,或此目录下面的一个子目录中。共享程序集通常存储在全局程序集缓存(Global Assembly Cache)之中,这是一个由.NET运行时所维护的程序集仓库。共享程序集通常是对许多应用程序都有用的代码库,比如.NET Framework类。
7.  请解释进程与线程的区别?进程与程序的区别?
一般,一个应用程序对应于一个或多个进程,可以把进程看作是该应用程序在
*作系统中的标识;而一个进程通常由多个线程组成,而线程是*作系统为该应用程序分配处理时间的最小单元。
8.  CLR与IL分别是什么含义?
CLR:公共语言运行时,类似于Java中的JVM,Java虚拟机;在.Net环境下,各种编程语言使用一种共同的基础资源环境,这就是CLR,CLR将直接与
*作系统进行通信,而编程语言如C#.NET将尽量避免直接与*作系统直接通信,加强了程序代码的执行安全性,可以这样看:CLR就是具体的编程语言如:C#.NET与*作系统之间的翻译,同时它为具体的编程语言提供了许多资源:
IL,中间语言,也称MSIL,微软中间语言,或CIL,通用中间语言;所有.NET源代码(不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运行时被即时(Just
-In-Time,JIT)编译器处理成为机器码,被解释及执行。
9.什么叫做SQL注入,如何防止?请举例说明。
利用sql关键字对网站进行攻击。过滤关键字
'
所谓SQL注入(SQL Injection),就是利用程序员对用户输入数据的合法性检测不严或不检测的特点,故意从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取想得到的资料。
http:
//localhost/lawjia/show.asp?ID=444 and user>0,这时,服务器运行Select * from 表名 where 字段=444 and user>0这样的查询,当然,这个语句是运行不下去的,肯定出错,错误信息如下:
  •错误类型:
Microsoft OLE DB Provider
for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值
'sonybb' 转换为数据类型为int 的列时发生语法错误。
a 产生一个int数组,长度为100,并向其中随机插入1
-100,并且不能重复。
int[] intArr=newint[100];
ArrayList myList
=new ArrayList();
Random rnd
=new Random();
while(myList.Count<100)
{
int num=rnd.Next(1,101);
if(!myList.Contains(num))
myList.Add(num);
}
for(int i=0;i<100;i++)
intArr[i]
=(int)myList[i];
      
20.请叙述类与结构的区别。
  
1)、结构是值类型;
  
2)、结构不支持继承;
  
3)、结构不能定义默认的构造函数;
  
4)、结构不能定义析构函数;
  
5)、结构不能使用初始值设置域值。

序列化是将对象转换为容易传输的格式的过程。
ado.net
connection 连接对象
Command 命令对象,执行SQL命令与存储过程
DataReader  向前只读的数据流。
DataAdapadter 功能强大的适配器,支持增删改查的功能
DataSet  是数据集对象,相当与内存中的数据库,还可存放表这间的关系
.net身份验证
form  Windows  passport护照  none
反射:在运行中得到程序集的信息(包类型,及成员,反射提供了封装程序集、模块和类型的对象。)反射:在运行时
找到有关对象、对象的类,方法和变量等信息。 System.Reflection
ORM  O
/R mapping 对象关系映射。
NEW的方法:
newclass   Public New XX()  New 约束指定的泛型
控件是.ascx扩展名。可以拖到不同的页面中调用。节省大量的手写代码
virtual 虚函数,
QueryString
Session
Server.Transfer
private   私有的成员类公为类自己内部使用
Protected   收保护的成员呀 为自己类和继承类使用
Public  共开类,为使用类共用
internal   在同一命名空间中使用
OOP 继承,封装,多态性
重写  overrid  派生类与基类同名与参数相同。盖掉前面的方法   继承的类方法与函数在基类相同这里被重写,名称相同
重载   函数或方法名相同,后面参数不同系统自动找到对应的值
把函数当着一个参数..委托
时间段   是多个线程一起运行....   一个进程可以包括多个线程
时间点   cup只有一个线程占用
他是一个强类型与长期保存  与application 与session不一样呀.长期保存了
支持匿名用户,他配制存在Provider
System.Text.Encoding.Default.GetBytes(变量) 
   字码转换 转为比特码 

(
2)能用foreach遍历访问的对象需要实现 _ IEnumerable 接口或声明_ GetEnumerator 方法的类型。
1.    c#中的三元运算符是__?:__

3.类成员有__3__种可访问形式?
4.publicstatic const int A=1;这段代码有错误么?是什么? const成员都是static所以应该去掉static
5.float f=-123.567F;
int i=(int)f;
i的值现在是_
-123____?
6.利用operator声明且仅声明了==,有什么错误么? 要同时修改Equale和GetHash()? 重载了"==" 就必须重载"!="
7.委托声明的关键字是___delegate ___?

9.在Asp.net中所有的自定义用户控件都必须继承自_ System.Web.UI.UserControl
10.在.Net中所有可序列化的类都被标记为__[serializable]___?
11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了_ gC __?


12.下面的代码中有什么错误吗?_abstract override 是不可以一起修饰______
using System;
class A
{
public virtual void F(){
Console.WriteLine(
"A.F");
}
}
abstract class B:A
{
public abstract overridevoid F();
}
喻佳喻佳喻佳
13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不可以_(可以 or 不可以)从T派生出新的类,_不可以_(可以 or 不可以)直接创建T的任何实例。
14.下面这段代码有错误么?case():不行default;
switch (i){
case():
CaseZero();
break;
case 1:
CaseOne();
break;
case 2:
dufault;
CaseTwo();
break;
}
15.在.Net中,类System.Web.UI.Page 可以被继承么?可以
2. 不定项选择:
(
1) 以下叙述正确的是: B C
B. 一个类可以实现多个接口。 C. 接口不能被实例化。
   (
2) 从数据库读取记录,你可能用到的方法有:B C D
            B. ExecuteScalar      C. Fill                        D. ExecuteReader
2.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选)   (        ABC         )  
  A.Close
B.Dispose
C.Finalize  
  
 
3.以下关于ref和out的描述哪些项是正确的?(多选)   (    ACD   )  
  A.使用ref参数,传递到ref参数的参数必须最先初始化。  
    C.使用ref参数,必须将参数作为ref参数显式传递到方法。  
  D.使用out参数,必须将参数作为out参数显式传递到方法。
1.在对SQL Server 数据库操作时应选用(A)。
a)SQL Server .NET Framework 数据提供程序;

2.下列选项中,(C)是引用类型。
a)enum类型   b)struct类型 c)string类型   d)int类型
3.关于ASP.NET中的代码隐藏文件的描述正确的是(C)


c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。

4.以下描述错误的是(A)
a)在C
++中支持抽象类而在C#中不支持抽象类。
b)C
++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
c)在C#中可使用
new 修饰符显式隐藏从基类继承的成员。
d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
5.C#的数据类型有(B)
  b)值类型和引用类型;
6.下列描述错误的是(D)
a)类不可以多重继承而接口可以;
b)抽象类自身可以定义成员而接口不可以;
c)抽象类和接口都不能被实例化;
d)一个类可以有多个基类和多个基接口;
7.在DOM中,装载一个XML文档的方法(D)
b)load方法


原创粉丝点击