.net笔试1

1:面向对象中方法重写和重载的区别-

答:方法的重写是方法名,返回类型,参数类型和参数个数都一样,

方法的重载是指方法名和方法的返回类型都相同,但方法参数不一样,这就是重写和重载形式上的区别。



2:抽象类和接口的区别-
答: 声明方法的存在而不去实现它的类被叫做抽象类,抽象类abstract class可以有非抽象方法,
接口是抽象类的变体,在接口中,所有方法都是抽象的,接口interface里只能有抽象方法。


3:面向对象的三个特征是什么
答: 封装(属性隐藏的完美概念),继承(基类和派生类的概念),多态(多种形态代码运行时才能决定一切)


4:C#中委托的概念是什么,委托有什么作用
答: 委托的概念是调用函数的"中间人",委托的作用就是让动作和事件联系起来,事件的执行都是通过委托来实现的。


5:数据库的三大范式分别是什么
答: 第一范式是确保每列的原子性,指数据库表的每一列都是不可再分的基本数据项,
第二范式是在第一范式的基础上更进一层,目标是确保表中的每列都和主键相关,
第三范式在第二范式的基础上更进一层,目标是确保每列都和主键列直接相关,而不是间接相关。



6:简述private,protected,public,interal修饰符的访问权限
答: private:私有成员,在类的内部才可以访问,protected:保护成员,该类内部和继承类中可以访问
public:公共成员,完全公开,没有访问限制,


7:比较truncate和delete命令有什么不同
答: 1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。


8:事物是什么,事物的基本特征是什么
答: 事物是指客观存在的一切事情和物体,


9:方法调用时值传递和引用传递的区别
答: 引用的直接使用的就是变量自己,不会产生新的副本,效率更高
值传递的形参,传递的是临时产生的副本,生成时会调用类的构造函数,销毁时会调用析构函数



10.请列出C#中几种循环的方法,并指出他们的不同
答: while(){},do{} while(),for(){}

(1)for (初值;条件;变化值)然后是循环部分;(2)if ()这里的括号中只写条件;

3)while ()些条件,可用break;语句中断循环,也可用continue中断本次循环;

(4)do       while ();是先循环第一次在开始判断,符合条件再回到do语句。



11.列举asp.net页面之间传值的几种方式
答: 使用QueryString变量,使用Application对象变量,Application对象的作用范围是整个全局 ,使用Session变量,使用Cookie对象变量


12:connection 连接对象
command 命令对象,指示要执行的命令和存储过程!
datareader是一个向前的只读的数据流。
dataadapter是功能强大的适陪器,支持增删改查的功能
dataset是一个数据级对象,相当与内存中的一张表或多张表!



局域网像QQ那种就是CTP的协议


ViewState实现什么功能?
答: ViewsSate是页面级别的,只要这个页面在,ViewState中存的数据就在,就在当前页面中保存数据的。


样式字体加粗红色显示?
答: <strong style="color:red;">你好</strong>


13:SQL注入是什么,如何防止
答: 是脚本入侵,解决方式:不能用拼装的形式,会对sql语句传入恶意符号,要用参数,才不会对sql语句有影响。


不同浏览器的兼容性?


堆和栈有什么区别?
答: 堆是一种链式结构,栈是一种线性结构

14.string str =null 和 string str = ""有什么区别
string  str= null是不给他分配内存空间,而string str = ""给它分配长度为空字符串的内存空间。


15.静态成员和非静态成员的区别
答: 类的静态成员每个类只有一个,非静态成员每个对象一个,静态类中的成员加入static修饰符,即是静态成员。


16:sealed修饰符是干什么的?
答: sealed修饰符表示蜜蜂用于类是,表示该类不能再被继承,不能和abstract同时使用,必须和override关键字一起使用


17:接口可以包含哪些成员?
答: 接口可以包含属性,方法,索引指示器和事件,但不能包含常量,域,操作符,构造函数和析构造函数,而且也不能包含任何静态成员。


18:类和结构的区别?
答: 类是引用类型在堆上分配,类可以继承和被继承,结构是值类型在栈上分配,结构不能被继承,但和类一样可以继承接口


19:接口的多继承会带来哪些问题?

答:C#中的接口与类不同,可以使用多继承,即一个接口可以有多个父接口,

但如果两个父成员具有同名的成员,就产生了二义性(这一生C#中类取消了多继承的原因之一)。



20:抽象类和接口的区别
答: 声明方法的存在而不去实现它的类被叫做抽象类,抽象类不能被实例化,但是可以被继承,继承了抽象类,就必须实现它的抽象方法,

接口中的所有方法都是抽象的,接口也不能被实例化,可以被其他类继承,继承了接口必须实现接口类所有的方法。

1、抽象类(abstract class)里面可以有非抽象方法 2、接口(interface)是抽像类的变体。



21:别名指示符是什么?

答:通过别名指示符我们可以为某个类型起一个别名,

主要用于解决两个命名空间内有同名类型的冲突或避免使用冗余的命名空间。   

 
22:params关键字有什么用?
答: params关键字在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力。


23:接口与类有哪些异同?
答: 接口只提供方法名,没有实现,通过继承来实现接口,类可以继承接口,实现接口所有的方法。


24:简单描述多层(multi-tiers)架构开发模式中(如三层架构)各层的具体作用是什么?

答:三层架构主要包含:表示层UI(主要实现和用户的交互),业务逻辑层BLL(用于对上下交互的数据进行逻辑处理),

数据访问层DAL(用于实现与数据库的交互和访问)。



25:ASP.NET的内置对象有哪些?
答: 常见的六大内置对象有:Response,Request,Server,Application,Session,Cookie。


26:.net读取数据库要用到哪些类,它的意义是什么?
答: DataSet用来无连接的储存多个表的数据,并包含表与表之间的管理关系,
DataTable:用来存储一个表的数据,SqlConnection用来创建一到数据库的连接
SqlCommand用来执行SQL语句,SqlDataReader用来顺序读取数据,
SqlDataAdapter:用来将数据填充到DataSet或DataTable.


27:out关键字有什么用?
答: out参数,在方法的定义和调用的方法都必须显式使用out关键字。


28:ASP.net的身份验证方式有哪些?
答: Asp.net的身份验证有三种,分别是Windows,Forms,Passport,其中又以Forms验证用的最大,也最灵活。


29.NET中用于页面重定向的几个方法是什么,有什么区别?

在WebForm页面跳转   

超链接 一种是重定向Response.Redirect(地址栏改变,页面改变,可以跳转至任何资源,
 客户端到服务器端两个页面。
一种是转发Server.Transfer(地址栏不变,只能跳转到当前服务器的其他资源)直接把目标页面插进来。
一种是执行 Server.Execute (地址栏不变,将原始页面的执行结果插入到目标页面) 。
重定向可以跳转至任何资源,转发和执行只能是当前服务器的其他资源。



30.Response,Request有什么作用和区别?

答:Request对象里面包含了所有你访问时发送请求的所有参数,

Response对象则包含了你请求之后服务器返回的响应信息。



31.用什么方法在一个ASP.NET页面中缓存一部分数据?

答:主要有两种类型的缓存:

1.输出缓存Output caching
2.数据缓存Data caching



32.在ASP.NET什么方法可以提高应用程序的性能?
答: 1,返回多个数据集 ,2:对数据进行分页,3:连接池,4:预请求缓存 。


33.如何手工释放资源? 
答: NET平台在内存管理方面提供了GC,

最理想的办法是通过实现一个接口显式的提供给客户调用端手工释放对象,

System 命名空间内有一个 IDisposable 接口,拿来做这事非常合适,省得我们自己再声明一个接口了




34.String,StringBuffer与StringBuilder的区别?? 
答: StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
String是不可变的,StringBuilder可变的。



35.<%%>与<%#%>有什么区别
答: <%%>是ASP.NET网页中的嵌入式代码块,与<%=%>输出方法或变量,属性等,
<%#%> 是数据绑定表达式语法,<%#%>这里面可以写表达式,调用方法。


36.CTS.CLS,CLR分别做何解析?
答: CTS:通用语言系统,CLS:通用语言规范,CLR:公共语言运行时。


37.构造器 Constructor 是否可被 override? 
答: 不可以,每一个类必须有自己的构造函数,赋值构造自己这部分的构造,子类不会覆盖父类的构造函数


37.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?
答: 有三种方法,1:QueryString,2:FormsAuthentication,3:this.Server.Transfer.


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

答:不可以 ,每一个类必须有自己的构造函数,负责构造自己这部分的构造子类不会覆盖父类的构造函数,

相反必须负责在一开始调用父类的构造函数



39.两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对? 
答: 不对,有相同的hash code,对象相等则hashCode一定相等,hashCode相等对象则微博相等。


40.id(主键) P_name(物品名称) S_money(销售额) S_date(销售日期)
 1 苹果 1000 2008-3-16 2 香蕉 1000 2008-3-16 3 梨子 500 2008-3-16 4 苹果 100 2008-3-16 5 梨子 200 2008-3-16 6 香蕉 100 2008-3-15 
(1)写出查找出 2008-3-16 日销售总额大于 1000 元的物品及销售总
额的 SQL 。


答: select P_name(物品名称),sum(S_momey销售额)
from table t
     where t.S_date(销售日期) = to_date('2008-3-16',yyyy-mm-dd)
     gooup by P_name(物品名称)
     having sum(S_momey(销售额))>1000;  




(2)写出统计苹果的销售总额的 SQL。
      select sum(S_money(销售额))
from 
     table1 
where t.P_name(物品名称)='苹果';




(3)写出销售总额小于 1000 的物品及销售总额
select t.P_name(物品名称),sum(S_money(销售额))  from table t
group by P_name(物品名称)
having sum(S_momey(销售额))<1000;


-2、写出重命名表(test_table)字段(test_name  to  test_name2)的SQL语句.


alter test_table tt rename column test_name to test_name2;


--3、写出从字符串“ABCDEFG”取出前4位字符和SQL语句。

select substr('ABCDEFG',4) from dual


--4、得到系统当前日期,输出格式为:YYYY-MM-DD。
 
select to_char(sysdate,'yyyy-mm-dd') a from dual



5、将字符串“2008”转化为数字 

select to_number('2008') a from dual


7、返回字符串“ABCDEFG“ 的长度 
length(trim('ABCDEFG'))


-8、写出从字符串“ABCDEFG”取出前4位字符和SQL语句。 
select substr('ABCDEFG',0,4) a from dual


2.请写一个函数,实现以下功能: 
字符串“open_door” 转换成“OpenDoor” 、 ”make_by_id” 转换
成”MakeById”。 


js版:
var old ='open_door';                      
function chenge(old){
return old.replace('_',"");
}
----------------------------------------------
function changeString($string){
if(empty($string)) return;
$string = str_replace("_","",$string);
$string = str_replace(""."",ucwords($string));
return $string;
}
$string ='open_door';
echo changeString($string);


请写一个函数,实现以下功能:字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。


function makeStr($str,$tag){
if(strops($str,$tag) == false){
  return $str;
}else if($tag == ''){
  return  ucwords($str);
}
return  str_replace('',$tag, ucwords(str_replace($tag,'',$str)));
}




C/S 特点 client server 
B/S HTTP协议 无状态 维护起来方便 有浏览器知道网址就可以


最大的数一定沉在下面 最后的元素是两个数在比较
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值