发新话题
打印

[转载] asp.net面试题

asp.net面试题

1.new有几种用法
* W- m) P. f. h2 q  v& f- x& P5 \( \) G
第一种:new Class();
/ ~" R- M# w6 v6 `
% Q# \* i1 y3 o4 |9 a3 L第二种:覆盖方法
$ R* U6 @% O+ b7 `7 J6 k" P6 _4 B8 P/ l# A
public new XXXX(){}, u5 A4 c! c/ Q9 \8 h4 x- P
9 r% w) {1 `: j, W, E2 X# H' B2 M; z
第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。( ]6 v* [2 q. [

8 U" Z! P: f& w2.如何把一个array复制到arrayList里2 B" Z! z" H4 L0 b

% t% {* J* `0 R( k0 }foreach( object o in array )arrayList.Add(o);3 t/ q$ w5 i6 q
1 e/ e  z5 W$ Y
3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview]6 o3 {* u3 {0 M( t
: D3 E1 r5 t! J- r7 J& n0 H7 J- v- [
dataset,datatable,dataview , IList
8 \7 q" k4 O8 g  ]7 a9 A
0 W( \& l0 l& s  `9 j) }3 o4.概述反射和序列化
& N; n- Z; k0 {* T9 D8 U3 p% Z' \
反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性' u3 }4 O( T9 C

; o1 a. z) s5 O% ]( j& C序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。
* j  D1 B$ t' \7 P% h, R
: t5 [! S1 D( w  \" a( {5.概述o/r mapping 的原理
6 S0 j! ]) N1 S# {: S
/ K# d& R+ z- d2 d+ L- `利用反射,配置 将类于数据库表映射1 P2 G0 F6 e0 B- F0 C+ X; _( g
0 l1 _4 C2 ]! ^( f' z* r
6.类成员有( )种可访问形式/ o, _4 S6 o; n; Z8 [' ]& t

* T0 c" R  s5 B. t3 v可访问形式?不懂。+ N6 K  [$ u" @0 Y, K* h% e
9 v; c( T  S9 t* J. }
可访问性:public ,protected ,private,internal1 p! P! _3 ?& V2 `

3 v- @; W: \7 P( ~' d1 j& u7.用sealed修饰的类有什么特点2 M, x3 H, b' ]9 k2 W% v
# B( k, A. F" b: v8 H
sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。5 `& b0 a9 N5 i6 ^8 S: L
# k( B4 p1 @8 v
密封类不能同时为抽象类。
. ]( W0 K- _% O% l4 o+ [
7 V1 Q2 V0 H- P9 t2 A2 Isealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。
' I! F9 Y% y6 q0 I8 t
( t# n. z  M. a$ a% w8.列举ADO.NET中的五个主要对象,并简单描述
% P, {) E: x! f) N( c
( m) d$ B3 Y* T3 U+ _' Qconnection,command,dataReader,trans,dataset ...
3 j/ d* j* l6 T7 v, |* g( W; F' [
' k% P0 }( Q# G: `7 \2 `9.执行下面代码后:! H" o; G" R0 \: F
+ o1 z) j. Z9 W$ I& L7 P
String strTemp ="abcdefg 某某某";6 v6 s* d5 d" u

/ f$ ~# O/ h7 W; ~: k6 lInt i System.Text.Encoding.Default.GetBytes(strTemp).Length;' m+ j6 H# m+ ?; X# G1 B
1 V. x- Y6 T! d, k1 K6 O
Int j = strTemp.Length;
. ?3 v8 M% t$ S7 }% {5 ?+ \$ r# y. w% D
问:i=(14 ) ;j=(11 )
3 o  y# J' ?& _; Z! i, H% |% d9 x4 h  C2 [1 j$ X
i=(14 ) ;j=(11 ) 中文两个字节
6 d* \: z& x" M( ^( v, J7 D: Y9 I, j
# [6 u5 s$ \% U) R, A10.C#中,string str = null 与 string str ="",请尽量用文字说明区别。(要点:说明详细的内存空间分配)9 }, I7 b, z8 ], u
# R2 I* m: M7 [# n, E4 \$ Y
string str ="" 分配空间
4 L" A- p2 ?* @6 a
6 m- r/ b4 A# f+ q* h11.详述.NET里class和struct的异同!
, ~3 `# Q  d% X! r$ W3 u1 `' i6 B  u5 Z7 V" w
class:放在 ? struct放在?
7 ~$ l& K$ c4 P2 q. F, R6 W) }+ L1 @' v) ?/ W) M
struct值传递( C& I$ s, \$ {0 q" q& v
' K8 y4 ]; X) O* m
类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。9 V5 ]2 \, L/ }) Y1 g7 @

# q( E0 c- c+ }1 M2 P6 t/ X2 x12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。
; ^3 U: Z* E2 c) O& k  _5 i; K1 `0 W
2 I$ r- l3 i+ l2 W% m远程逻辑调用,remoing接口只能用在.net中
* }6 |8 A. E% _# s  M" m5 M# v3 J4 j' I; z& X/ L  I* L
13.什么是code-behind技术* s  U2 n* l8 |  }& }9 ^
+ P  D0 |& J0 i. r
aspx and cs " h' g6 x8 l$ I! C. Q* s
3 u  a  I  ^- n/ e1 H# p
14.概述三层结构体系% @/ F( h+ V- v+ l" p  i; G+ X
! Y1 z& D' k; c/ w
web/business/dataaccess
- |% I. `. ~7 S/ M3 ^
4 C, y4 i; a% ^& K& I1 A15.asp.net如何实现MVC模式,举例说明!  p' }9 U  a' l! N9 ]/ ]6 U$ e# r
2 E- E& ~1 f! L# v! c$ a* N
web/business/dataaccess/ {) z; G, x& C+ A7 o  T
2 o* Q  `' P. |+ O
----------------------------------------------------------------------------------------------------------8 l$ K$ H$ r! `  Q( }' `% z3 b
; F$ B" M7 R: q6 U- S1 E, L' `$ A
1.面向对象的思想主要包括什么?/ U/ M- D$ P8 d5 m) L5 `
% n0 Y4 C/ d5 y: W% J/ M
答:这个题范围太广,不知道说什么.
9 O; d% |! H, P: k
) o6 s' J" t6 z" h  g2.什么是ASP.net中的用户控件  b; |! x' r! e+ D
0 A+ P; K( M% M' w. t0 q
答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整." N3 q# H  D: O4 V& I' h' q8 N6 K
. `  K( P- W9 r
3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
; \& a9 ]: B& X; ~' _! o9 d: X; G
答:装箱就是把值类型转成引用类型,从MS IL角度看好像是boxing,没记错的话是把值从堆栈转到堆中.拆箱相反,重载就是指一个方法名同,参数个数不同,返回值可以相同的方法.CLR是通用语言运行时,其它的不清楚.
7 f) B3 b" r+ m6 k  m, h& R- g
6 N( ~$ J9 `7 E* c4.列举一下你所了解的XML技术及其应用
2 d/ A  I. v0 g; v% w/ z# r
5 x6 i2 p- W$ H' x# H0 B7 L答:XML可是好东西,保存配置,站与站之间的交流,WEB SERVICE都要用它.1 x7 y% I1 m6 W/ b; \, R

; @5 d, f! x0 q+ i3 g5.值类型和引用类型的区别?写出C#的样例代码。2 f3 D3 s+ ?9 ^& Z& y$ k& e

3 M. b  ]  C! i+ G9 ^; y& Y" o- w答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧.! a! g. ~- b' p3 M8 y& e6 E

$ m$ B3 @3 R+ S% R; ?; A- z. j4 F6.ADO.net中常用的对象有哪些?分别描述一下。6 y% k. I/ q: U# B7 Z3 o- |

5 @* t; z. w- r* m0 A答:connection command sqladapter dataset datatable dataview等等.写不完了.6 B. T8 p0 v( R$ S% b! ?

+ Q8 y. A! [1 g7.如何理解委托?( D6 K1 n  w4 {. g& m
1 w5 c6 E# Q$ A* B' B- }+ y
答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.2 ~6 Z! E- w% M, D
2 W$ j$ O7 n, ]" F- ]
msdn2005中是这样解释的:) \0 @. P, }4 k) q/ p0 A& y2 ]
$ W# `. K$ t4 V9 g% ]% Q
委托具有以下特点:
( P, Q; f' d9 V( y' k6 Y0 U6 M$ ]" i1 d/ o1 \% J$ b. L) a$ g* b6 _
委托类似于 C++ 函数指针,但它是类型安全的。
7 `- j3 @, ~  q# B6 d
* A! [9 I" T5 w/ f$ R* [' I% P9 T8 v委托允许将方法作为参数进行传递。
6 a/ t7 _% R3 x# {1 X* V! q
( D: l' c& K( R- C5 N! G委托可用于定义回调方法。
& d& S; I$ S4 Z; A- \
4 c+ H+ h% L* @' @+ J6 o委托可以链接在一起;例如,可以对一个事件调用多个方法。; R, L6 p8 {% U: I3 b6 u
3 o6 f  t2 O% w3 b  A
方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。' O- l9 ^+ X7 c! [6 k* e9 m
2 z/ [6 v( M$ p1 L
C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。% S+ t0 f$ Y  [4 I* [

& v* z6 b( [# t8.C#中的接口和类有什么异同。/ j7 i& J' ]% C/ c9 H

8 b- a# |6 O' E8 c; {答:这个异同可多了,要说清楚还真不容易.

TOP

9.。net中读写数据库需要用到哪些类?他们的作用
5 p/ D- I' ~4 m2 V7 f& \  M
6 t9 S" \, q( {1 X$ K答:这个类自已可以写的啊,你是指基类吗?那configuration,sqlconnection,sqlcommand等都要用到.6 }1 Q! q- o' z6 p

# U9 M7 m5 O, H* a: H10.UDP连接和TCP连接的异同。
3 D# _: P8 O; O4 I; w3 Q7 z8 D# x, ^( I/ V- M
答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结." o% b' X# ?# H) Q
" h, E2 r7 k3 E- \: S- N, M9 W
11.ASP.net的身份验证方式有哪些?分别是什么原理?- o; F8 o& v/ J) P7 c: h
$ m6 \. z3 x' M
答:form认证,windows集成认证等,原理不清楚.
4 R7 T# Z! t; j/ U, ~8 ^! X0 ?1 j( j, b
12.进程和线程分别怎么理解?' e+ y% q; u; x3 \

) p$ r" H6 [7 ~答:进程是老子,线程是儿子,没有老子就没有儿子,一个老子可以有多个儿子.一个儿子可以成为别人的儿子,一个老子也可以为别的老子生儿子.
( B2 C5 c1 f4 v. |" @/ D  v$ V+ A1 [% b. G
13.什么是code-Behind技术。
* ]+ `; Y' X, j' [4 W7 O: F$ D- A) ]' g* f1 U
答:代码分离,这是个明智的东西,像ASP这样混成一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.当然前台也有脚本,类的调用等,其实写在一起也是可以的.8 K1 F* U! j2 p) z

7 F5 b* v/ }* i  i1 W14.活动目录的作用。
6 S0 z+ r- Y2 m
; N( Y; X. S3 e- H/ u1 M% p答:这个不明白.请明白的补充一下.$ P( O2 g7 l: t/ t- s$ `) A* _

, B+ F! ?1 _7 N15..net中读写XML的类都归属于哪些命名空间?
8 _0 j7 ^2 l% t% I* [- c
& _0 {. P3 U: J) q$ Q0 n' ~% Z* u答:System.Xml1 `1 J" I0 _# q, j7 A% ?5 A

: h7 f9 `/ N1 a3 u9 R5 F. h# K我自已写的就不一定了,嘿嘿.
' p, F: \4 A8 l7 R0 Z% e$ N& h" K) `
16.解释一下UDDI、WSDL的意义及其作用。% ~4 Z( e: o( f. e; r# V3 [
& d. M& R2 ~) S0 Y3 k
答:什么东西?& O* g6 R$ {# x$ X

, k* Z& E7 G9 _3 a17.什么是SOAP,有哪些应用。
! w1 n  M6 f# v+ Y3 X' w9 N; V/ a* J! U% H
答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,具体请看:http://playist.blogchina.com/2521621.html* v1 x8 b1 Y- `5 G# @
/ l: \2 [! ]2 U% i* z6 y, v
18.如何部署一个ASP.net页面。
9 }- G5 e3 F+ I# N
2 {4 ~4 G2 c2 ~7 d" r/ ^. ]答:随便啦,想直接上传就直接上传,想打包成EXE就打包,看个人喜好.7 }/ D& l, v( i1 I; n
9 i; C7 u3 d( ]! c) j
19.如何理解.net中的垃圾回收机制。
; g4 i2 I! i; d, M/ L$ F; t; T6 X* p5 X1 R  [7 g9 H' p- d, i
答:GC?对象创建了总要清除啊,不然内存哪够用?; B6 X, i% j7 p8 e; D- m2 X/ U+ v* V  I2 p
  l6 R0 r' H3 c( _$ v, e# _) k, w
20.常用的调用webservice方法有哪些?  Z" m- H1 q% m5 ?8 B$ b

# b5 @) o, \8 H. z: C答:调用就调用,还有很多方法吗?
# d! h) N( R; q0 q
6 L( v, n" o: ?# Z0 C( k以上有答案的仅供参考(不一定正确哦)

TOP

发新话题