经典面试题集锦

 
1 .面向对象的思想主要包括什么?
None.gif
None.gif
2 .什么是ASP.net中的用户控件
None.gif
None.gif
3 .什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
None.gif
None.gif
4 .列举一下你所了解的XML技术及其应用
None.gif
None.gif
5 .值类型和引用类型的区别?写出C#的样例代码。
None.gif
None.gif
6 .ADO.net中常用的对象有哪些?分别描述一下。
None.gif
None.gif
7 .如何理解委托?
None.gif
None.gif
8 .C#中的接口和类有什么异同。
None.gif
None.gif
9 .。net中读写数据库需要用到哪些类?他们的作用
None.gif
None.gif
10 .UDP连接和TCP连接的异同。
None.gif
None.gif
11 .ASP.net的身份验证方式有哪些?分别是什么原理?
None.gif
None.gif
12 .进程和线程分别怎么理解?
None.gif
None.gif
13 .什么是code - Behind技术。
None.gif
None.gif
14 .活动目录的作用。
None.gif
None.gif
15 ..net中读写XML的类都归属于哪些命名空间?
None.gif
None.gif
16 .解释一下UDDI、WSDL的意义及其作用。
None.gif
None.gif
17 .什么是SOAP,有哪些应用。
None.gif
None.gif
18 .如何部署一个ASP.net页面。
None.gif
None.gif
19 .如何理解.net中的垃圾回收机制。
None.gif
None.gif
20 .常用的调用webservice方法有哪些?
None.gif
None.gif
None.gif参考答案: 
None.gif
1  继承 多态 封装 
None.gif
2  用户控件. 不会说懂得做
None.gif
3  装箱和拆箱发生 值类型向引用类型转换,和引用类型向值类型转  重载:同一个函数参数不同
None.gif
4 .xml可以用来做网页(xslt) xml可以当作数据库 xml可以用来保存对象的系列化
None.gif5值类型,没有什么好说的.引用类型用处是返回两个以上参数的时候比较好用 
ref   out  我常用的是out不要先赋值
None.gif
6   ado.net 我直接用 sqlhelper了 有connection command 还有参数
None.gif
7  回调机制比较有用的.在net中采用了委托.
None.gif
8  接口,是可以多继承,类只有单继承.接口强调了你必须实现,而没有具本实现的方法和虚类有点相似
None.gif
9  datareader dataset 还有一个不太常用
None.gif
10  udp不要实现什么三次握手.
None.gif
11  asp.net身份验证最常用还是以前的session方法. form验证没有用过. 微软的哪个也没有用过
None.gif
12  进程简单理解为单个程序吧(按ctrl + alt + del)可以看到的.它至少有一个主线程 .
None.gif
13  代码后置..不懂得讲
None.gif
14  活动目录.. 完全不会
None.gif
15  system.xml (system.io创建目录的时候用)
None.gif
16  这个也是web服务里的东西.
None.gif
17  soap简单协议.我只知道.web服务是基于它之上的
None.gif
18  部置一个页面. 也就是说没有代码是直接写在aspx中的了.只接放在IIS的虚拟目录下就行了.当然要asp.net支持
None.gif
19  垃圾回收..一般的只要掌握.非托管对象要记得释放资源就行了吧.
None.gif
20  直接在vs.net里面引用就OK了.它会自己生成一个代理类
None.gif
None.gif
None.gif 
None.gif
None.gif 
None.gif
None.gif
1 .      填空: 
None.gif        (
1 )面向对象的语言具有___继承性、_封装___性、___多态性。
None.gif
None.gif        (
2 )能用foreach遍历访问的对象需要实现 IEnumerable接口或声明GetEnumerable 方法的类型。
None.gif
None.gif        (
3 )列举ADO.net中的五个主要对象Command、Connection、DataSet、DataSetCommand、DataReader。
None.gif
None.gif
2 . 不定项选择:
None.gif
None.gif   (
1 ) 以下叙述正确的是: 
None.gif
None.gif      A. 接口中可以有虚方法。     B. 一个类可以实现多个接口。 
None.gif      C. 接口不能被实例化。       D. 接口中可以包含已实现的方法。 
None.gif
None.gif   (
2 ) 从数据库读取记录,你可能用到的方法有:
None.gif
None.gif      A. ExecuteNonQuery            B. ExecuteScalar
None.gif
None.gif      C. Fill                        D. ExecuteReader
None.gif
None.gif
3 . 简述  private 、  protected 、  public 、  internal  修饰符的访问权限。
None.gif
None.gif
None.gif
4 . 写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键,  注意:ID可能不是连续的。) 
None.gif
None.gif
None.gif
5  .列举ASP.NET 页面之间传递值的几种方式。 
None.gif
None.gif
None.gif
6 . 写出程序的输出结果 
None.gif
ExpandedBlockStart.gifContractedBlock.gif
class  Class1   dot.gif
InBlock.gif       
private string str = Class1.str; 
InBlock.gif       
private int i = 0
ExpandedSubBlockStart.gifContractedSubBlock.gif       
static void StringConvert(string str)  dot.gif
InBlock.gif           str 
= string being converted.; 
ExpandedSubBlockEnd.gif       }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif       
static void StringConvert(Class1 c)  dot.gif
InBlock.gif           c.str 
= string being converted.; 
ExpandedSubBlockEnd.gif       }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif       
static void Add(int i)  dot.gif
InBlock.gif           i
++
ExpandedSubBlockEnd.gif       }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif       
static void AddWithRef(ref int i)  dot.gif
InBlock.gif           i
++
ExpandedSubBlockEnd.gif       }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif       
static void Main()  dot.gif
InBlock.gif           
int i1 = 10
InBlock.gif           
int i2 = 20
InBlock.gif           
string str = str; 
InBlock.gif           Class1 c 
= new Class1(); 
InBlock.gif           Add(i1); 
InBlock.gif           AddWithRef(
ref i2); 
InBlock.gif           Add(c.i); 
InBlock.gif           StringConvert(str);         
InBlock.gif           StringConvert(c); 
InBlock.gif           Console.WriteLine(i1); 
InBlock.gif           Console.WriteLine(i2); 
InBlock.gif           Console.WriteLine(c.i); 
InBlock.gif           Console.WriteLine(str); 
InBlock.gif           Console.WriteLine(c.str); 
ExpandedSubBlockEnd.gif       }
  
ExpandedBlockEnd.gif    }
 
None.gif
None.gif
None.gif
7 .写出程序的输出结果 
None.gif
None.gif
public   abstract   class  A  
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif        
public A()  
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif            Console.WriteLine(
'A'); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
public virtual void Fun()  
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif            Console.WriteLine(A.Fun()); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif}
 
None.gif
None.gif
public   class  B: A  
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif        
public B() 
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif            Console.WriteLine(
'B'); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif
InBlock.gif        
public new void Fun()  
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif            Console.WriteLine(B.Fun()); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif
InBlock.gif        
public static void Main()  
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif           A a 
= new B(); 
InBlock.gif           a.Fun(); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif}
 
None.gif
None.gif
None.gif
8 .      写出程序的输出结果: 
None.gif
public   class  A  
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif        
public virtual void Fun1(int i) 
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif            Console.WriteLine(i); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif
InBlock.gif        
public void Fun2(A a)   
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif            a.Fun1(
1); 
InBlock.gif            Fun1(
5); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif}
 
None.gif
None.gif
None.gif
public   class  B : A  
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif        
public override void Fun1(int i)    
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif            
base.Fun1 (i + 1); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif
InBlock.gif        
public static void Main()   
ExpandedSubBlockStart.gifContractedSubBlock.gif       
dot.gif
InBlock.gif            B b 
= new B(); 
InBlock.gif            A a 
= new A(); 
InBlock.gif            a.Fun2(b); 
InBlock.gif            b.Fun2(a);          
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif}
 
None.gif
None.gif 
None.gif
None.gif
9 . 一列数的规则如下:  1 1 2 3 5 8 13 21 34 dot.gifdot.gif 
None.gif
None.gif   求第30位数是多少, 用递归算法实现。(C#语言)
None.gif
None.gif
None.gif
10 .  程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言) 
None.gif
None.gif要求:  
1 .要有联动性,老鼠和主人的行为是被动的。
None.gif
None.gif
2 .考虑可扩展性,猫的叫声可能引起其他联动效应。
None.gif
None.gif 
None.gif
None.gif 
None.gif
None.gif
None.gif参考答案: 
None.gif
1 . ( 1 )  继承性、封装性、多态性。(考基本概念) 
None.gif   (
2 )  IEnumerable 、 GetEnumerator (对foreach机制的理解,本来不想出这题的,凑分) 
None.gif   (
3 )  dot.gif (送分题, 对ADO.net的了解) 
None.gif评分标准:一空1分,满分10分。 
None.gif
None.gif 
None.gif
None.gif
2 . ( 1 ) B、C (考对接口的理解)  ( 2 )  B、C、D (考查对ADO.net的熟练程度) 
None.gif  评分标准: 一题5分,不选或者错选均不得分。漏选得2分。满分10分。 
None.gif
None.gif 
None.gif
None.gif
3 . .  private  :   私有成员, 在类的内部才可以访问。 
None.gif     
protected  : 保护成员,该类内部和继承类中可以访问。 
None.gif     
public  :    公共成员,完全公开,没有访问限制。 
None.gif     
internal :   在同一命名空间内可以访问。 
None.gif评分标准:答对1题2分,2题5分,3题7分。全对10分。 (送分题) 
None.gif
None.gif 
None.gif
None.gif
4 .  解1:  select top  10   *  from A where id not  in  (select top  30  id from A) 
None.gif    解2:  select top 
10   *  from A where id  >  (select max(id) from (select top  30  id from A ) as  A) 
None.gif    评分标准: 写对即10分。(答案不唯一,datagrid 分页可能需要用到) 
None.gif  
None.gif
5 .   1 .使用QueryString,  如dot.gif. ? id = 1 ; response. Redirect()dot.gif
None.gif    
2 .使用Session变量 
None.gif    
3 .使用Server.Transfer 
None.gif    dot.gif
None.gif   评分标准: 答对1点得3分, 两点7分, 3点10分。 
None.gif
None.gif
None.gif
6 .  (考查值引用和对象引用) 
None.gif
10  
None.gif
21  
None.gif
0  
None.gifstr 
None.gif
string  being converted. 
None.gif评分标准:答对一点得2分,满分10分。 
None.gif
None.gif
None.gif
7 .  A 
None.gif    B 
None.gifA.Fun() 
None.gif评分标准: 写出A.B 得5分,写出A.Fun()得5分,满分10分。 
None.gif(考查在继承类中构造函数, 以及new 方法, ) 
None.gif
None.gif 
None.gif
None.gif
None.gif
8 .   2  
None.gif    
5  
None.gif    
1  
None.gif    
6  
None.gif
None.gif评分标准: 答对一点得2分,两点得5分,3点得7分。全对得10分。
None.gif
None.gif(一些人做这题,头都晕了dot.gif
^ _ ^  )
None.gif
None.gif 
None.gif
None.gif
9 .  
None.gif
None.gif    
public   class  MainClass 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
public static void Main()   
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Console.WriteLine(Foo(
30)); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
public static int Foo(int i) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            
if (i <= 0
InBlock.gif                
return 0
InBlock.gif            
else if(i > 0 && i <= 2
InBlock.gif                
return 1
InBlock.gif            
else return Foo(i -1+ Foo(i - 2); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif    }
 
None.gif评分标准: 写出return Foo(i 
- 1 +  Foo(i  -   2 ); 得5分。 
None.gif
None.gif 写出if(i 
>   0   &&  i  <=   2 return   1 ; 得5分。
None.gif
None.gif           方法参数过多需要扣分(扣除分数 
=  参数个数 -  1
None.gif
None.gif           不用递归算法扣5分
None.gif
None.gif           (递归算法在树结构建立等方面比较常用)
None.gif
None.gif 
None.gif
None.gif
10            
None.gif
None.gif 要点:
1 . 联动效果,运行代码只要执行Cat.Cryed()方法。 2 . 对老鼠和主人进行抽象 
None.gif评分标准: 
< 1 > .构造出Cat、Mouse、Master三个类,并能使程序运行(2分) 
None.gif            
< 2 > 从Mouse和Master中提取抽象(5分) 
None.gif            
< 3 > 联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分) 
None.gif
None.gif
None.gif    
public   interface  Observer 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
void Response();    //观察者的响应,如是老鼠见到猫的反映 
ExpandedBlockEnd.gif
    }
 
None.gif    
public   interface  Subject 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
void AimAt(Observer obs);  //针对哪些观察者,这里指猫的要扑捉的对象---老鼠 
ExpandedBlockEnd.gif
    }
 
None.gif    
public   class  Mouse : Observer 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
private string name; 
InBlock.gif        
public Mouse(string name, Subject subj) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{           
InBlock.gif            
this.name = name; 
InBlock.gif            subj.AimAt(
this); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
InBlock.gif        
public void Response() 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Console.WriteLine(name 
+  attempt to escape!); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif    }
 
None.gif    
public   class  Master : Observer 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {   
InBlock.gif        
public Master(Subject subj) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{           
InBlock.gif            subj.AimAt(
this); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
InBlock.gif        
public void Response() 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Console.WriteLine(Host waken
!); 
ExpandedSubBlockEnd.gif        }
  
ExpandedBlockEnd.gif    }
 
None.gif  
None.gif    
public   class  Cat : Subject 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
private ArrayList observers; 
InBlock.gif        
public Cat() 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{   
InBlock.gif            
this.observers = new ArrayList(); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
public void AimAt(Observer obs) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            
this.observers.Add(obs); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
public void Cry() 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Console.WriteLine(Cat cryed
!); 
InBlock.gif            
foreach (Observer obs in this.observers) 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif
InBlock.gif                obs.Response(); 
ExpandedSubBlockEnd.gif            }
 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif    }
 
None.gif    
class  MainClass 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {       
InBlock.gif        
static void Main(string[] args) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Cat cat 
= new Cat(); 
InBlock.gif            Mouse mouse1 
= new Mouse(mouse1, cat); 
InBlock.gif            Mouse mouse2 
= new Mouse(mouse2, cat); 
InBlock.gif            Master master 
= new Master(cat); 
InBlock.gif            cat.Cry(); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif    }
 
None.gif
None.gif
None.gif
// --------------------------------------------------------------------------------------------- 
None.gif

None.gif设计方法二: 使用event 
--  delegate设计.. 
None.gif    
public   delegate   void  SubEventHandler(); 
None.gif    
public   abstract   class  Subject 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
public event SubEventHandler SubEvent; 
InBlock.gif        
protected void FireAway() 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            
if (this.SubEvent != null
InBlock.gif                
this.SubEvent(); 
ExpandedSubBlockEnd.gif        }
   
ExpandedBlockEnd.gif    }
 
None.gif    
public   class  Cat : Subject 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {  
InBlock.gif        
public void Cry() 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Console.WriteLine(cat cryed.); 
InBlock.gif            
this.FireAway(); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif    }
 
None.gif    
public   abstract   class  Observer 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
public Observer(Subject sub) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            sub.SubEvent 
+= new SubEventHandler(Response); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
public abstract void Response();    
ExpandedBlockEnd.gif    }
 
None.gif    
public   class  Mouse : Observer 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
private string name; 
InBlock.gif        
public Mouse(string name, Subject sub) : base(sub) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{   
InBlock.gif            
this.name = name; 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
public override void Response() 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Console.WriteLine(name 
+  attempt to escape!); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif    }
 
None.gif    
public   class  Master : Observer 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
public Master(Subject sub) : base(sub)dot.gif{} 
InBlock.gif        
public override void Response() 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Console.WriteLine(host waken); 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif    }
 
None.gif    
class  Class1 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
InBlock.gif        
static void Main(string[] args) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif
InBlock.gif            Cat cat 
= new Cat(); 
InBlock.gif            Mouse mouse1 
= new Mouse(mouse1, cat); 
InBlock.gif            Mouse mouse2 
= new Mouse(mouse2, cat); 
InBlock.gif            Master master 
= new Master(cat); 
InBlock.gif            cat.Cry(); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif
ExpandedBlockEnd.gif    }

None.gif
None.gif
None.gif 
None.gif
None.gif问题: 
None.gif
1 .ASP.NET中的身份验证有那些?你当前项目采用什么方式验证请解释 
None.gif
2 .什么是WEB控件?使用WEB控件有那些优势? 
None.gif
3 .请解释ASP。NET中以什么方式进行数据验证? 
None.gif
4 .请谈谈对正则表达式的看法? 
None.gif
5 .ASP。NET中共有几种类型的控件?各有什么区别? 
None.gif
6 .WEB控件可以激法服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。 
None.gif
7 .WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用? 
None.gif
8 .ASP。NET与ASP相比有什么优势? 
None.gif
9 .请解释web.config文件中的重要节点 
None.gif
10 .请解释ASP。NET中的web页面与其隐藏类之间的关系? 
None.gif
11 .什么是viewstate,能否禁用?是否所用控件都可以禁用 ?  
None.gif
None.gif
None.gif
13 .当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决 
None.gif
14 .请解释一个WEB页面中代码执行次序。 
None.gif
15 .请解释什么是上下文对象,在什么情况下要使用上下文对象 
None.gif
16 .请解释转发与跳转的区别? 
None.gif
17 .请解释ASP.NET中不同页面之间数据传递有那些方式? 
None.gif
18 .请解释ASP。NET中button  linkbutton imagebutton 及hyperlink这四个控件之间的功别 
None.gif
19 .请解释一下。NET多层应用程序中层与层之间以那几种方式进行数据传递。并解释你自己的项目中采用那种方式进行。 
None.gif
20 .如果出现ASP。NET中的事件不能触发可能由于什么原因造成? 
None.gif
21 .如果需要在datagride控件中的某一列中添加下拉列表框并绑定数据怎么解决? 
None.gif
22 .请解释asp.net中的数据绑定与传统数据绑定有什么区别? 
None.gif
23 .请解释.net采用委托实现的事件模型与JAVA中采用接口实现的事件模型有什么区别,以图示方式解释。 
None.gif
24 .请解释接口的显式实现有什么意义? 
None.gifQ:您在什么情况下会用到虚方法?它与接口有什么不同?
None.gif
None.gifQ:Override与重载有什么区别?
None.gif
None.gifQ:值类型与引用类型有什么区别?
None.gif
None.gifQ:怎样理解静态变量?
None.gif
None.gifQ:向服务器发送请求有几种方式?
None.gif
None.gifQ:DataReader与Dataset有什么区别?
None.gif
None.gifQ:如果在一个B
/ S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?
None.gif
None.gifQ:用.net做B
/ S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
None.gif
None.gifQ:软件开发过程一般有几个阶段?每个阶段的作用?
None.gif
None.gifQ:微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?
None.gif
None.gifQ:请列举一些您用到过的设计模式以及在什么情况下使用该模式?
None.gif
None.gifQ:您对WebService的体会?
None.gif
None.gifQ:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平?
None.gif
None.gifQ:您离职的原因是什么?
None.gif
None.gif以下几道题目如果您不会,请较为详细的描述您的解决思路和方法
None.gif
None.gifQ:通过超链接怎样传递中文参数?
None.gif
None.gifQ:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
None.gif
None.gifQ:请编程实现一个冒泡排序算法?
None.gif
None.gif
、进程和线程的区别
None.gif
None.gif进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。
None.gif
None.gif
、成员变量和成员函数前加static的作用
None.gif
None.gif它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。
None.gif
None.gif
、malloc和new的区别
None.gif
None.gifnew是C
++ 的关键字。malloc在分配内存时必须按给出的字节分配,new可以按照对象的大小自动分配,并且能调用构造函数。可以说new是对象的对象,而malloc不是。本质上new分配内存时,还会在实际内存块的前后加上附加信息,所以new所使用的内存大小比malloc多。
None.gif
None.gif
、堆和栈的区别
None.gif
None.gif栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。
None.gif
None.gif堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。
None.gif
None.gif栈是机器系统提供的数据结构,而堆则是C
/ C ++ 函数库提供的。
None.gif
None.gif栈是系统提供的功能,特点是快速高效,缺点是有限制,数据不灵活;而栈是函数库提供的功能,特点是灵活方便,数据适应面广泛,但是效率有一定降低。栈是系统数据结构,对于进程
/ 线程是唯一的;堆是函数库内部数据结构,不一定唯一。不同堆分配的内存无法互相操作。栈空间分静态分配和动态分配两种。静态分配是编译器完成的,比如自动变量(auto)的分配。动态分配由alloca函数完成。栈的动态分配无需释放(是自动的),也就没有释放函数。为可移植的程序起见,栈的动态分配操作是不被鼓励的!堆空间的分配总是动态的,虽然程序结束时所有的数据空间都会被释放回系统,但是精确的申请内存 / 释放内存匹配是良好程序的基本要素。
None.gif
None.gif
、不调用C ++/ C的字符串库函数,请编写函数 strcpy
None.gif
None.gif
None.gif
1 . C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里? 
None.gif
None.gif
2 . 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml ? (讲概念就行了)
None.gif
None.gif
3 . C#, Java 和 c ++ 的特点,有什么相同的地方,不同的地方,C#分别从c ++ 和java中吸取了他们那些优点?
None.gif
None.gif
4 . C#可否对内存进行直接的操作?(这可是个难点哦?要注意!)
None.gif
None.gif
5 . 用Visual C ++   6 .0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合?
None.gif
None.gif
6 . 以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假)
None.gif
None.gif
7 . 你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)?
None.gif
None.gif 
None.gif
None.gifQ3: 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么
None.gif
None.gifQ4:ADO。NET相对于ADO等主要有什么改进?
None.gif
None.gifQ5:ASP。NET与ASP相比,主要有哪些进步?
None.gif
None.gifQ6:C#中的委托是什么?事件是不是一种委托?
None.gif
None.gifQ7:描述一下C#中索引器的实现过程,是否只能根据数字进行索引?
None.gif
None.gifQ8:C#中要使一个类支持FOREACH遍历,实现过程怎样?
None.gif
None.gifQ10:写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。
None.gif
None.gifQ11:你对XMLHTTP、WEBSERVICE 了解吗?简单描述其特点、作用
None.gif
None.gifQ12:接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么?
None.gif
None.gifQ13:自定义控件和一般用户控件的异同?如果要用这两者之一,你会选择哪种?为什么
None.gif
None.gifQ14:大概描述一下ASP。NET服务器控件的生命周期
None.gif
None.gifQ15:UML
None.gif
None.gifQ16:面向对象的概念,主要特点
None.gif
None.gifQ17:类划分的依据。类粒度问题
None.gif
None.gifQ18:事物管理问题
None.gif
None.gif 
None.gif
None.gif第一,谈谈final, 
finally , finalize的区别。 
None.gif
None.gif第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)
interface (接口) ?
None.gif
None.gif第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
None.gif
None.gif第四,
& && 的区别。
None.gif
None.gif第五,HashMap和Hashtable的区别。
None.gif
None.gif第六,Collection 和 Collections的区别。
None.gif
None.gif第七,什么时候用assert。
None.gif
None.gif第八,GC是什么
?  为什么要有GC ?  
None.gif
None.gif第九,String s 
=   new  String(xyz);创建了几个String Object ?
None.gif
None.gif第十,Math.round(
11.5 )等於多少 ?  Math.round( - 11.5 )等於多少 ?
None.gif
None.gif第十一,
short  s1  =   1 ; s1  =  s1  +   1 ;有什么错 ?   short  s1  =   1 ; s1  +=   1 ;有什么错 ?
None.gif
None.gif第十二,sleep() 和 wait() 有什么区别
?
None.gif
None.gif第十三,Java有没有goto
?
None.gif
None.gif第十四,数组有没有length()这个方法
?  String有没有length()这个方法 ?
None.gif
None.gif第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
?
None.gif
None.gif第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢
?  是用 == 还是equals() ?  它们有何区别 ?
None.gif
None.gif第十七,给我一个你最常见到的runtime exception。
None.gif
None.gif第十八,error和exception有什么区别
?
None.gif
None.gif第十九,List, Set, Map是否继承自Collection接口
?
None.gif
None.gif第二十,
abstract  class和interface有什么区别 ?
None.gif
None.gif第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized
?
None.gif
None.gif第二十二,接口是否可继承接口
?  抽象类是否可实现(implements)接口 ?  抽象类是否可继承实体类(concrete  class ) ?
None.gif
None.gif第二十三,启动一个线程是用run()还是start()
?
None.gif
None.gif第二十四,构造器Constructor是否可被override
?
None.gif
None.gif第二十五,是否可以继承String类
?
None.gif
None.gif第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法
?
None.gif
ExpandedBlockStart.gifContractedBlock.gif第二十七,
try   dot.gif {} 里有一个return语句,那么紧跟在这个try后的finally  dot.gif {} 里的code会不会被执行,什么时候被执行,在return前还是后 ?
None.gif
None.gif第二十八,编程题: 用最有效率的方法算出2乘以8等於几
?
None.gif
None.gif第二十九,两个对象值相同(x.equals(y) 
==   true ),但却可有不同的hash code,这句话对不对 ?
None.gif
None.gif第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递
?
None.gif
None.gif第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
?
None.gif
None.gif第三十二,编程题: 写一个Singleton出来。
None.gif
None.gif
None.gif 
None.gif
None.gif一.填空题
None.gif
None.gif
1 .c#中的三元运算符是__ ? :___ ?
None.gif
None.gif
2 .当整数a赋值给一个object对象时,整数a将会被__装箱(封装)___ ?
None.gif
None.gif
3 .类成员有_____种可访问形式?   this .; new  Class().Method;
None.gif
None.gif
4 . public   static   const   int  A = 1 ;这段代码有错误么?是什么?  const不能用static修饰
None.gif
None.gif
5 . float  f =- 123.567F ;
None.gif
None.gif  
int  i = ( int )f;
None.gif
None.gifi的值现在是_____
?     123   
None.gif
None.gif
6 .利用operator声明且仅声明了“ == ”,有什么错误么 ?   
None.gif
None.gif
7 .委托声明的关键字是______ ?  delagete
None.gif
None.gif
8 .用sealed修饰的类有什么特点?密封,不能继承
None.gif
None.gif
9 .在Asp.net中所有的自定义用户控件都必须继承自________ ? Control
None.gif
None.gif
10 .在.Net中所有可序列化的类都被标记为_____ ?   
None.gif
None.gif
11 .在.Net托管代码中我们不用担心内存漏洞,这是因为有了______ ? gc
None.gif
None.gif
12 .下面的代码中有什么错误吗?_______
None.gif
None.gif     
using  System;
None.gif
None.gif     
class  A
None.gif
ExpandedBlockStart.gifContractedBlock.gif     
dot.gif {
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif          
public virtual void F()dot.gif{
InBlock.gif
InBlock.gif              Console.WriteLine(A.F);
InBlock.gif
ExpandedSubBlockEnd.gif           }

InBlock.gif
ExpandedBlockEnd.gif      }

None.gif
None.gif      
abstract   class  B:A
None.gif
ExpandedBlockStart.gifContractedBlock.gif       
dot.gif {
InBlock.gif
InBlock.gif           
public abstract override void F(); // new public abstract void F();  
InBlock.gif

ExpandedBlockEnd.gif       }

None.gif
None.gif 
None.gif
None.gif
13 .当类T只声明了私有实例构造函数时,则在T的程序文本外部,___可以___(可以 or 不可以)从T派生出新的类,不可以____(可以 or 不可以)直接创建T的任何实例。
None.gif
None.gif
14 .下面这段代码有错误么?
None.gif
ExpandedBlockStart.gifContractedBlock.gif    
switch  (i) dot.gif {
InBlock.gif
InBlock.gif    
case():
InBlock.gif
InBlock.gif        CaseZero();
InBlock.gif
InBlock.gif        
break;
InBlock.gif
InBlock.gif    
case 1:
InBlock.gif
InBlock.gif        CaseOne();
InBlock.gif
InBlock.gif        
break;
InBlock.gif
InBlock.gif    
case 2:
InBlock.gif
InBlock.gif        dufault;  
//wrong
InBlock.gif

InBlock.gif        CaseTwo();
InBlock.gif
InBlock.gif        
break;
InBlock.gif
ExpandedBlockEnd.gif   }

None.gif
None.gif
15 .在.Net中,类System.Web.UI.Page 可以被继承么?可以
None.gif
None.gif 
None.gif
None.gif二.简答题
None.gif
None.gif
1 .在c#中using和new这两个关键字有什么意义,请写出你所知道的意义? using  指令 和语句  new  创建实例  new  隐藏基类中方法
None.gif
None.gif
4 .谈谈类和结构的区别?类是引用类型、结构是值类型
None.gif
None.gif
5 .一个长度为10000的字符串,通过随机从a - z中抽取10000个字符组成。请用c#语言编写主要程序来实现。
None.gif
None.gif
6 .对于这样的一个枚举类型:
None.gif
ExpandedBlockStart.gifContractedBlock.gif      
enum  Color: byte dot.gif {
InBlock.gif
InBlock.gif          Red,
InBlock.gif
InBlock.gif          Green,
InBlock.gif
InBlock.gif          Blue,
InBlock.gif
InBlock.gif          Orange
InBlock.gif
ExpandedBlockEnd.gif       }

None.gif
None.gif     
string [] ss = Enum.GetNames( typeof (Color));
None.gif
None.gif     
byte []   bb = Enum.GetValues( typeof (Color));
None.gif
None.gif试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。
None.gif
None.gif
7 .您了解设计模式么?请列出您所知道的设计模式的名称。  //
None.gif

None.gif
8 .请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路?
None.gif
None.gif
9 .什么叫做SQL注入,如何防止?请举例说明。
None.gif
None.gif
10 .下面这段代码输出什么?为什么?
None.gif
None.gif     
int  i = 5 ;
None.gif
None.gif     
int  j = 5 ;
None.gif
None.gif     
if  (Object.ReferenceEquals(i,j))
None.gif
None.gif          Console.WriteLine(Equal);
None.gif
None.gif     
else
None.gif
None.gif          Console.WriteLine(Not Equal);
None.gif
None.gif
None.gif 
None.gif
None.gif
1 .写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用 例 。
None.gif
None.gif
2 .对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯) 
None.gif
None.gif开发语言概念题 
None.gif
None.gif
3 .什么是反射? 
None.gif
None.gif
4 .用Singleton如何写设计模式 
None.gif
None.gif
5 .C#中的垃圾回收机制是怎样的? 
None.gif
None.gif
6 .什么是Application Pool? 
None.gif
None.gif
7 .链表和数组的区别,各有什么优缺点.
None.gif
None.gif
8 .Remoting在客户端服务器怎么实现  ?
None.gif
None.gif
9 .什么是友元函数? 
None.gif
None.gif
10 .用标准C如何实现多态? 
None.gif
None.gif
11 .什么是虚函数? 
None.gif
None.gif
12 .什么是抽象函数? 
None.gif
None.gif
13 .什么是内存泄漏,怎样最简单的方法判断被存泄漏  ?
None.gif
None.gif 
None.gif
None.gif英语题 
None.gif
None.gif
14 .用英文介绍一下使用C# / C ++ 做的项目,主要功能 
None.gif
None.gif
15 .如果要与美国开电话会议,会如何与美国的工程师沟通 
None.gif
None.gif
16 .如果老板认为你的技术落后,你会怎么回答 
None.gif
None.gif 
None.gif
None.gif数据库知识题 
None.gif
None.gif
17 .使用什么工具来调用存储过程 
None.gif
None.gif
18 .SQL Server的两种索引是何形式?索引的作用?索引的优缺点? 
None.gif
None.gif
19 .触发器的作用 
None.gif
None.gif 
None.gif
None.gif其它知识题及问题 
None.gif
None.gif
20 .什么是Web Service? 
None.gif
None.gif
21 .什么是XML? 
None.gif
None.gif
22 .Socket怎么实现?

转载于:https://www.cnblogs.com/adam/archive/2007/07/30/836310.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值