1. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里? 
2. 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了)
3. C#, Java 和 c++的特点,有什么相同的地方,不同的地方,C#分别从c++和java中吸取了他们那些优点?
4. C#可否对内存进行直接的操作?(这可是个难点哦?要注意!)
5. 用Visual C++ 6.0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合?
6. 以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假)
7. 你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)?Q3: 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么
Q4:ADO。NET相对于ADO等主要有什么改进?
Q5:ASP。NET与ASP相比,主要有哪些进步?
Q6:C#中的委托是什么?事件是不是一种委托?
Q7:描述一下C#中索引器的实现过程,是否只能根据数字进行索引?
Q8:C#中要使一个类支持FOREACH遍历,实现过程怎样?
Q10:写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。
Q11:你对XMLHTTP、WEBSERVICE 了解吗?简单描述其特点、作用
Q12:接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么?
Q13:自定义控件和一般用户控件的异同?如果要用这两者之一,你会选择哪种?为什么
Q14:大概描述一下ASP。NET服务器控件的生命周期
Q15:UML
Q16:面向对象的概念,主要特点
Q17:类划分的依据。类粒度问题
Q18:事物管理问题第一, 谈谈final, finally, finalize的区别。 
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
第五,HashMap和Hashtable的区别。
第六,Collection 和 Collections的区别。
第七,什么时候用assert。
第八,GC是什么? 为什么要有GC? 
第九,String s = new String("xyz");创建了几个String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
第十二,sleep() 和 wait() 有什么区别?
第十三,Java有没有goto?
第十四,数组有没有length()这个方法? String有没有length()这个方法?
第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
第十七,给我一个你最常见到的runtime exception。
第十八,error和exception有什么区别?
第十九,List, Set, Map是否继承自Collection接口?
第二十,abstract class和interface有什么区别?
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
第二十三,启动一个线程是用run()还是start()?
第二十四,构造器Constructor是否可被override?
第二十五,是否可以继承String类?
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,编程题: 写一个Singleton出来。

解决方案 »

  1.   

    本人msn:[email protected],欢迎大家多交流!
      

  2.   

    请大家指出我的错误1. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?
    一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质2. 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了)
    不会,正在学习中3. C#, Java 和 c++的特点,有什么相同的地方,不同的地方,C#分别从c++和java中吸取了他们那些优点?
    相同点:都是C系的,都是面向对象
    不同点:Java,C#都是建立在虚拟机机制上,而C++不是4. C#可否对内存进行直接的操作?(这可是个难点哦?要注意!)
    可以5. 用Visual C++ 6.0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合?
    编译Dll,[DLLImport]6. 以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假)
    7. 你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)?Q3: 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么
    触发器,性能好,事务性Q4:ADO。NET相对于ADO等主要有什么改进?
    新增dataset等,不需要随时保持连接,性能提高Q5:ASP。NET与ASP相比,主要有哪些进步?
    asp解释形,aspx编译型,性能提高,有利于保护源码Q6:C#中的委托是什么?事件是不是一种委托?
    委托是一种安全的函数指针,事件是一种消息机制Q7:描述一下C#中索引器的实现过程,是否只能根据数字进行索引?
    不会Q8:C#中要使一个类支持FOREACH遍历,实现过程怎样?
    实现一个接口Q10:写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。
    JS代码Q11:你对XMLHTTP、WEBSERVICE 了解吗?简单描述其特点、作用
    xmlhttp可以主动获取远端web代码,类似HttpWebRequestQ12:接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么?
    接口用于规范,抽象类用于共性。Q15:UML
    统一建模语言Q16:面向对象的概念,主要特点
    封装,基层,多态数据库方面:1.存储过程和函数的区别
    存储过程是编译好的存储在数据库的操作,函数不用说了2.事务是什么?
    具有原子性特点3.游标的作用?如何知道游标已经到了最后?
    指示当前记录的位置,检查NULL4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
    一个是操作前,一个是操作后1。用C#实现以下功能
    a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
            int[] intArr=new int[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];b 对上面生成的数组排序,需要支持升序、降序两种顺序
    ArrayList本身就能排序2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
    session(viewstate) 简单,但易丢失
    application        全局
    cookie             简单,但可能不支持,可能被伪造
    input ttype="hidden"     简单,可能被伪造
    url参数                  简单,显示于地址栏,长度有限
    数据库                   稳定,安全,但性能相对弱
    3。请说明.net中的错误处理机制,并举例
    try catch final4。请说出强名的含义
    具有自己的key,可以在GAC为公用5。请列出c#中几种循环的方法,并指出他们的不同
    for wile foreach6。请指出.net中所有类型的基类
    object7。请指出GAC的含义
    全局程序集缓存8。SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值
    select @@id... 什么的,忘了您在什么情况下会用到虚方法?它与接口有什么不同?
    前面已说Q:Override与重载有什么区别?
    一个是重写父类函数,一个是同一个函数的几种形式Q:值类型与引用类型有什么区别?
    值和指针的区别Q:怎样理解静态变量?
    所有实例公用一个的变量Q:向服务器发送请求有几种方式?
    get postQ:DataReader与Dataset有什么区别?
    一个是只能向前的只读游标,一个是内存中的表Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?
    input type=""
    url
    数据库Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
    三层,表现,逻辑,数据, 安全性,维护性Q:软件开发过程一般有几个阶段?每个阶段的作用?
    需求分析,架构设计,代码编写,QA,部署Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式?
    著名的singleton
    Q:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平?
    Q:您离职的原因是什么?
    Q:通过超链接怎样传递中文参数?
    URLEncode URLDecodeQ:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
    foreach1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析.
    同一个名称控件直接,或者反射2.如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明.
    const static int classNum=0;
    classNum++;3.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.
    构造先父后子,析够反之4.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.
    string inputStr=" xx   xx  ";
    inputStr=Regex.Replace(inputStr.Trim()," *"," ");二.简答题
    1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法
    using 引入名称空间或者使用非托管资源
    new 新建实例或者隐藏父类方法4.谈谈类和结构的区别?
    类是引用类型、结构是值类型5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程序来实现。
    和前面那个差不多,一样6.对于这样的一个枚举类型:
    enum Color:byte{
    Red,
    Green,
    Blue,
    Orange
    }
    string[] ss=Enum.GetNames(typeof(Color));
    byte[] bb=Enum.GetValues(typeof(Color));
    试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。
    foreach9.什么叫做SQL注入,如何防止?请举例说明。
    利用sql关键字对网站进行攻击。过滤关键字'等10.下面这段代码输出什么?为什么?
    int i=5;
    int j=5;
    if (Object.ReferenceEquals(i,j))
    Console.WriteLine("Equal");
    else
    Console.WriteLine("Not Equal");
    //不相等,因为比较的是对象1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用例 。
    inputStr=inputStr.ToCharArray().Reverse().ToString();2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)
    太宽了开发语言概念题
    3.什么是反射?
    动态获取程序集信息4.用Singleton如何写设计模式
    static属性里面new ,构造函数private5.C#中的垃圾回收机制是怎样的?
    三个generation,当每个generation内存满了的时候检查引用,无引用就回收内存6.什么是Application Pool?
    Web应用,类似Thread Pool,提高并发性能7.链表和数组的区别,各有什么优缺点.
    一个可以动态增长,一个固定(VB中可以Redim),性能数组教好8.Remoting在客户端服务器怎么实现 ?
    9.什么是友元函数?
    friendly声明,可以访问protect级别方法11.什么是虚函数?
    可以被重写12.什么是抽象函数?
    必须被重写13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?
    C++,C中忘了释放内存,内存不会再次分配数据库知识题
    17.使用什么工具来调用存储过程
    任何一种语言18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点?
    cluster和非cluster,加速查找,占用额外控件,维护索引耗费时间19.触发器的作用
    保证数据库操作变更能接到通知其它知识题及问题
    20.什么是Web Service?
    使应用程序在整个网上可以被调用21.什么是XML?
    可扩展标记语言,可以做配置文件,可以传输数据,可以存储数据22.Socket怎么实现?
    这个不知道怎么说了
      

  3.   

    ArrayList ar=new ArrayList();
    int [] list=new int[100];
    for(int i=1;i<=100;i++)ar.Add(i);
    Random rm=new Random();
    for(int i=0;i<100;i++)
    {
    int index=rm.Next(99-i);
    list[i]=(int)ar[index];
    ar.RemoveAt(index);
    }
      

  4.   

    22.Socket怎么实现?这个问题是猪才会用来做测试题,不同的语言有不同的方式,有不同的包,有不同的通讯方式!就java和c#来说:他们都有net包/名称空间
    直接使用类就是了,还要什么实现不实现的?
    是c的话还有则说的:
    比如端口需要监听,数据需要串行和反串行化等等。
    这个不是一个问题了,是一个工程!
      

  5.   

    补充中:1.面向对象的思想主要包括什么?
    面向对象三大特征:继承,封套,多态.面相对象的思想也不是一句两句就能说清楚..主要思想就是减少代码重复,增大代码复用率..2.什么是ASP.net中的用户控件
    问这样的问题,一般是迷惑你.因为新手还是分不清楚用户控件和服务器控件(也称自定义控件)..用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中的include..但是功能要强大的多..3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
    这个需要当前描述了..东西太多..打字要打死了..找个比较简单的说说吧!
    CTS:公共类型系统.主要是为了语言之间的进行标准化处理.
    CLS:公共语言规范.主要是确保代码可以在任何语言中访问的最小标准集体
    CLR:公共语言运行时.主要是管理代码..处理,加载代码,以及所有服务的代码4.列举一下你所了解的XML技术及其应用
    xml用于配置,用于保存静态数据类型.接触XML最多的是web Services..和config5.值类型和引用类型的区别?写出C#的样例代码。
    值类型是在内存中保存,引用类型是在内存中保存一副本.你在内存中可以有多个某种引用对象..但是值类型始终只有一个.
    最常见的值类型就是static,struct;
    例如:
    static int aa = 1;//值类型
    如果多个用户改变aa的值则,aa的值会以最后一个修改的记录为准.其他人的修改则会被冲掉.
    引用类型,最能说明问题的就是实例化..你new出来的对象单独分配一个独立的内存..所以值不会互相冲突/
    具体的区别参考我的文章:http://lixianhuei.cnblogs.com/archive/2005/08/31/227274.html6.ADO.net中常用的对象有哪些?分别描述一下。
    Connection 数据库连接对象
    Command 数据库命令
    DataReader 数据读取器
    DataSet 数据集7.如何理解委托?
    委托的概念,最好的说明就是事件.因为事件使用的就是委托.例如:this.Load += new System.EventHandler(this.Page_Load);这个就是使用了一个委托.
    具体的用法请参考.我以前的帖子,设计猫鼠联动..8.C#中的接口和类有什么异同。
    类是方法功能的实现和集合,接口是规范类.约束类.
    参考我的文章:http://lixianhuei.cnblogs.com/archive/2005/08/04/207123.html9.。net中读写数据库需要用到哪些类?他们的作用
    看第六题..答案差不多10.UDP连接和TCP连接的异同。
    这个说不清楚.11.ASP.net的身份验证方式有哪些?分别是什么原理?
    window验证:为每个用户开启window帐号,验证其身份.安全性较高.
    forms验证:为每个登陆用户写入一个身份验证票据..在web使用最广的验证方式..灵活方便.12.进程和线程分别怎么理解?
    这个是新人最容易迷惑的东西..
    进程:Process13.什么是code-Behind技术。
    新建一个VS.NET下的项目..看到ASPX,RESX和CS三个后缀的文件了吗??这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.14.活动目录的作用。
    活动目录是window2000的最重要的功能.可以将用户信息全部集成起来,登陆以后可以访问多个不同的网络服务..没深入研究过.
    查看一下帖子:http://www.ies.impu.edu.cn/resource/os/windowsx/WindowsGeneral/WinGeneral0008.htm15..net中读写XML的类都归属于哪些命名空间?
    System.XML类16.解释一下UDDI、WSDL的意义及其作用。
    解释不清楚了..又是一大块..17.什么是SOAP,有哪些应用。
    simple object access protocal,简单对象接受协议.以xml为基本编码结构,建立在已有通信协议上(如http,不过据说ms在搞最底层的架构在tcp/ip上的soap)的一种规范
    是微软大力推广的Web Service使用的协议..18.如何部署一个ASP.net页面。
    不清楚问的什么意思...如果非要回答的话,就写一个带.aspx的后缀文件..然后安装IIS和FrameWork环境..浏览就好了.19.如何理解.net中的垃圾回收机制。
    垃圾回收体制如下:
    如果发现内存不够,则垃圾回收器,将全部对象作为无效对象(被回收对象),然后先将全局变量,static,处于活动中的局部变量,以及当前CG指针指向的对象放入一个表中.然后
    会搜索新列表中的对象所引用的对象.加入列表中,其他没有被加入列表的对象都会被回收.20.常用的调用webservice方法有哪些?
    我一般用的是WSDL..或者web引用..
      

  6.   

    其实这些,去买一本砖头一样的.net书,认真看,应该是没有问题的
      

  7.   

    to top1000(天天向上)
    呵呵,今天去华为面试了,全是些算法题,而且考的太细致了。人又多,实在没意思,等了会就走了!
    现在还记得最后两道:
    1。有个字符串,下个函数删除从i开始后j个字符。
    2。写个方法判断什么是对称数。比如121,34543,6678766。1.构建一个链表,第i个单元的next指针指向j以后个单元就行了。中间的那些delete
    2.回文判断,标准采用stack这两个题算数据结构,没什么算法可言。
      

  8.   

    to top1000(天天向上)
    呵呵,今天去华为面试了,全是些算法题,而且考的太细致了。人又多,实在没意思,等了会就走了!
    现在还记得最后两道:
    1。有个字符串,下个函数删除从i开始后j个字符。
    c++数据结构解法,一般都是考这些
    #include <iostream>
    #include <list>
    using namespace std;
    int main()
    {
    string myName="shrinerain";
             list <char> myList;
    list <char>::iterator curr=myList.begin();
    for (int m=0;m<myName.length();++m) 
    {
    myList.insert(curr,myName[m]);
    }
    int i=5;//第5个开始
    int j=3;//删除三个字符
    int n=0;
    curr=myList.begin();
    while (n<=i+j) 
    {
    if (n<=i) 
    {
    curr++;
    }
    else
    {
    curr=myList.erase(curr);
    }
    ++n;
    }
    curr=myList.begin();
    while (curr!=myList.end()) 
    {
    cout<<*curr;
    curr++;
    }
    cin.get();
    return 0;
    }c#解法:
                       string myName="shrinerain";
     int i=5;//第5个开始删除
     int j=3;//删除3个
     string myName2=myName.Substring(0,i)+myName.Substring(i+j,myName.Length-i-j);
     Console.WriteLine(myName2);2。写个方法判断什么是对称数。比如121,34543,6678766
    #include <iostream>
    #include <stack>
    using namespace std;
    int main()
    {
    string myName="ssass";
             stack <char> myStack;
    for (int i=0;i<myName.length();++i) 
    {
    if(i<myName.length()/2)
        myStack.push(myName[i]);
    else
    {
    if (myName[i]==myStack.top()) 
    {
    myStack.pop();
    }
    }
    }
        if (myStack.empty()) 
        cout<<"Yes!";
    else
        cout<<"No!";
    cin.get();
    return 0;
    }c#版本
      string myName="ssahss";
     bool flag=true;
     int i=0;
     while(i<myName.Length/2)
    {
       string tempStr=myName.Substring(i,myName.Length-2*i);
       if(tempStr.Substring(0,1)!=tempStr.Substring(tempStr.Length-1,1))
                        flag=false;
       ++i;
    }
    if(flag==true)
    Console.WriteLine("Yes!");
    else
    Console.WriteLine("No!");
      

  9.   

    樓上的C#算法實在~~~~~~
    1。有个字符串,下个函数删除从i开始后j个字符
    string stmp="asdfghj";
    stmp.Remove(i,j);2。写个方法判断什么是对称数。比如121,34543,6678766。
    string sTmp="asdfgfdsa";
    Array.Reverse(sTmp.ToCharArray()); 
    System.Text.StringBuilder stb=new System.Text.StringBuilder("");
    if(sTmp==stb.Append(Array.Reverse(sTmp.ToCharArray())).ToString())
        return true;
    else
        return false;