zoukankan      html  css  js  c++  java
  • C# 面试题 二

    1、进程和线程的区别

    进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。

    2、成员变量和成员函数前加static的作用

    它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。

    3、malloc和new的区别

    new是C++的关键字。malloc在分配内存时必须按给出的字节分配,new可以按照对象的大小自动分配,并且能调用构造函数。可以说new是对象的对象,而malloc不是。本质上new分配内存时,还会在实际内存块的前后加上附加信息,所以new所使用的内存大小比malloc多。

    4、堆和栈的区别

    栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。

    堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。

    栈是机器系统提供的数据结构,而堆则是C/C++函数库提供的。

    栈是系统提供的功能,特点是快速高效,缺点是有限制,数据不灵活;而栈是函数库提供的功能,特点是灵活方便,数据适应面广泛,但是效率有一定降低。栈是系统数据结构,对于进程/线程是唯一的;堆是函数库内部数据结构,不一定唯一。不同堆分配的内存无法互相操作。栈空间分静态分配和动态分配两种。静态分配是编译器完成的,比如自动变量(auto)的分配。动态分配由alloca函数完成。栈的动态分配无需释放(是自动的),也就没有释放函数。为可移植的程序起见,栈的动态分配操作是不被鼓励的!堆空间的分配总是动态的,虽然程序结束时所有的数据空间都会被释放回系统,但是精确的申请内存/释放内存匹配是良好程序的基本要素。

    5、不调用C++/C的字符串库函数,请编写函数 strcpy

    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出来。

  • 相关阅读:
    准备 FRM 考试——方法、工具与教训
    930. 和相同的二元子数组 前缀和
    1906. 查询差绝对值的最小值 前缀和
    剑指 Offer 37. 序列化二叉树 二叉树 字符串
    815. 公交路线 BFS
    518. 零钱兑换 II dp 完全背包
    1049. 最后一块石头的重量 II dp
    5779. 装包裹的最小浪费空间 二分
    5778. 使二进制字符串字符交替的最少反转次数 字符串 滑动窗口
    474. 一和零 dp
  • 原文地址:https://www.cnblogs.com/Shadowing/p/3422158.html
Copyright © 2011-2022 走看看