`
sakakokiya
  • 浏览: 507265 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

非常详细的C#面试题集

阅读更多
1、在C#中,string str = null与string str = “” 请尽量使用文字或图象说明其中的区别。
回答要点:说明详细的空间分配。(10分)
答:string str = null是不给他分配内存空间,而string str = “” 给它分配长度为空字符串的内存空间.
2、请详述在dotnet中类(class)与结构(struct)的异同:(10分)
答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的.
3、根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:(10)
namespace test
{
public delegate void OnDBOperate();
public class UserControlBase : System.Windows.Forms.UserControl
{
public event OnDBOperate OnNew;
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button.Equals(BtnNew))
{
//请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。
}
}
}
答:if( OnNew != null )
OnNew( this, e );
4、分析以下代码,完成填空(10分)
string strTmp = “abcdefg某某某”;
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i= j=
答:i=13,j=10
5、SQLSERVER服务器中,给定表table1中有两个字段ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。(10)
答:Select ID
FROM table1
Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)
6、根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。(10分)
public void test(int i)
{
lock(this)
{
if (i>10)
{
i-;
test(i);
}
}
}
答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)
7、分析以下代码。(10)
public static void test(string ConnectString)
{
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = ConnectString;
try
{
conn.Open();
…….
}catch(Exception Ex)
{
MessageBox.Show(Ex.ToString());
}finally
{
if (!conn.State.Equals(ConnectionState.Closed))
conn.Close();
}
请问
1}以上代码可以正确使用连接池吗?
答:回答:如果传入的connectionString是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连字符的空格数,顺序完全一致。
2}以上代码所使用的异常处理方法,是否所有在test方法内的异常都可以被捕捉并显示出来?
答:只可以捕捉数据库连接中的异常吧. (finally中,catch中,如果有别的可能引发异常的操作,也应该用try,catch。所以理论上并非所有异常都会被捕捉。)
8、简要谈一下您对微软.NET构架下remoting和webservice两项技术的理解以及实际中的应用。(10)
答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。
9、公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路:(10)
答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中
10、给定以下XML文件,完成算法流程图。(10)
<FileSystem>
< DriverC >
<Dir DirName=“MSDOS622”>
<File FileName =“ Command.com” ></File>
</Dir>
<File FileName =“MSDOS.SYS” ></File>
<File FileName =“ IO.SYS” ></File>
</DriverC>
</FileSystem>
请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。
答:
void FindFile( Directory d )
{
FileOrFolders = d.GetFileOrFolders();
foreach( FileOrFolder fof in FileOrFolders )
{
if( fof is File )
You Found a file;
else if ( fof is Directory )
FindFile( fof );
}
}
简单的说就是从根节点开始遍历找子节点,在从找到的子节点找它的子节点,一层层下去
果你的简历上面写“熟悉/了解C#”,那么你就应该能够回答下面的这些基础问题。我将给出自己的简要答案以供参考。欢迎讨论。
传入某个属性的set方法的隐含参数的名称是什么?
value,它的类型和属性所声名的类型相同。
如何在C#中实现继承?
在类名后加上一个冒号,再加上基类的名称。
C#支持多重继承么?
不支持。可以用接口来实现。
被protected修饰的属性/方法在何处可以访问?
在继承或间接继承与这个类的子类中可以访问。
私有成员会被继承么?
会,但是不能被访问。所以看上去他们似乎是不能被继承的,但实际上确实被继承了。
请描述一下修饰符protected internal。
被protected internal修饰的属性/方法只能在它的在同一个程序集(Assembly)中的子类被访问。
C#提供一个默认的无参数构造函数,当我实现了另外一个有一个参数的构造函数时候,还想保留这个无参数的构造函数。这样我应该写几个构造函数?
两个,一旦你实现了一个构造函数,C#就不会再提供默认的构造函数了,所以需要手动实现那个无参数构造函数。
C#中所有对象共同的基类是什么?
System.Object.
重载和覆写有什么区别?
重载提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父类方法行为的实现。
在方法定义中,virtual有什么含意?
被virtual修饰的方法可以被子类覆写。
能够将非静态的方法覆写成静态方法么?
不能,覆写方法的签名必须与被覆写方法的签名保持一致,除了将virtual改为override。
可以覆写私有的虚方法么?
不可以,甚至子类中无法访问父类中的私有方法。
能够阻止某一个类被其他类继承么?
可以,使用关键字sealed。
能够实现允许某个类被继承,但不允许其中的某个方法被覆写么?
可以,标记这个类为public,并标记这个方法为sealed。
什么是抽象类(abstract class)?
一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽象类的抽象方法后才能被实例化。
何时必须声明一个类为抽象类?
当这个类中包含抽象方法时,或是该类并没有完全实现父类的抽象方法时。
接口(interface)是什么?
只含有共有抽象方法(public abstract method)的类。这些方法必须在子类中被实现。
为什么不能指定接口中方法的修饰符?
接口中的方法用来定义对象之间通信的契约,指定接口中的方法为私有或保护没有意义。他们默认为公有方法。
可以继承多个接口么?
当然。
那么如果这些接口中有重复的方法名称呢?
这种情况中你可以决定如何实现。当然需要特别得小心。但是在编译环节是没有问题的。
接口和抽象类的区别是什么?
接口中所有方法必须是抽象的,并且不能指定方法的访问修饰符。抽象类中可以有方法的实现,也可以指定方法的访问修饰符。
如何区别重载方法?
不同的参数类型,不同的参数个数,不同的参数顺序。
const和readonly有什么区别?
const关键字用来声明编译时常量,readonly用来声明运行时常量。
System.String 和System.StringBuilder有什么区别?
System.String是不可变的字符串。System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的方法。
分享到:
评论

相关推荐

    C#面试题集

    这份“C#面试题集”包含了多个C#编程中的关键知识点,涵盖了C#语言的多个方面,包括类与对象、数据类型、事件、异常处理、数据库操作、网络编程、系统编程等。以下是详细知识点的解析: 1. C#基础知识与语法 - C#...

    C#面试题集及经验之谈

    ### C#面试题集及经验分享 #### 标题解析:C#程序员面试的关键知识点 C#作为一种广泛应用于各种开发场景的编程语言,其面试往往聚焦于语言特性、面向对象编程、性能优化等方面。以下将对描述和部分内容中提到的...

    C#经典面试题合集(1-6部)

    C#经典面试题合集,包括了从基础到高级的各类问题,是检验和提升C#技能的重要资源。 在C#面试中,常见的话题涵盖了以下几个主要方面: 1. **基本语法**:面试通常会从语言基础开始,如变量声明、数据类型、运算符...

    C#面试题,C#面试题

    C#是一种面向对象的编程语言,常常用于...以上是C#面试中常见的一些知识点,理解并掌握这些将有助于你在面试中表现出色。在实际编程中,还需要灵活运用这些知识,解决复杂问题。不断学习和实践,才能成为C#编程的专家。

    C#面试题,C#面试经典题

    掌握C#语言是每一个.net开发者的必备技能,本文将为您提供一份详细的C#面试题知识点总结。 1. 传入某个属性的set方法的隐含参数的名称是什么? 答案:value。它的类型和属性所声名的类型相同。 2. 如何在C#中实现...

    C#面试大全\C#面试题

    11. **ASP.NET面试题**:这部分内容涉及ASP.NET Web Forms、MVC、Web API等技术,包括控件使用、页面生命周期、状态管理、异常处理、缓存策略、身份验证与授权、AJAX应用等。 以上就是C#面试中常见的一些知识点,...

    200多个C#面试题含答案总共30页已编辑好可打印

    - 在Visual Studio .NET中创建C#项目时,可以在`AssemblyInfo.cs`文件中设置程序集的信息,如版权、商标等。 ### 9. 显示对话框的方式 **知识点概述**: - 要将窗体作为对话框显示,可以设置窗体的`...

    c#,.net 程序员常见面试题大全(含答案)

    《C#与.NET程序员面试题大全》是一份全面的指南,专为准备C#和.NET技术面试的程序员设计。这份资料包含了大量的问题和答案,旨在帮助求职者在面试前做好充分的准备,提升成功的机会。 1. **C#基础知识**: - **...

    Unity面试题(含c#)

    ### Unity面试题(含C#)相关知识点解析 #### 一、值类型与引用类型的区别 1. **存储位置**: - **值类型**: 存储在内存栈中。 - **引用类型**: 数据存储在内存堆中,内存单元存放的是堆中数据的地址。 2. **访问...

    自己整理的C#面试题

    以下是我根据"自己整理的C#面试题"这个主题,结合C#的基础知识和常见面试题,为你详细解析的一些关键知识点: 1. **基础语法**:C#语法与C++和Java类似,但更注重安全性。包括变量声明(如int、string、bool等)、...

    各大软件公司C#笔试面试题

    4. **C#面试题示例** - **内存管理**:解释垃圾回收的工作原理,何时会发生垃圾回收? - **多线程**:如何实现线程同步?死锁是什么,如何避免? - **设计模式**:举例说明工厂模式、单例模式和观察者模式的应用...

    C#最新面试题(127道)word格式

    ### C#面试题详解 #### 1. 访问修饰符的理解 - **Private**: 这个修饰符定义了一个私有成员,意味着只有定义它的类内部可以访问这个成员。这通常用于封装类的内部状态,确保外部代码无法直接修改这些状态。 - **...

    C#面试基础题(几个基本的面试题 但很多人不是很清楚)

    ### C#基础知识详解 #### 一、CLR与CTS解析 **CLR**(Common ...以上内容总结了C#面试中常见的几个基础知识点,对于初学者来说非常重要。了解这些基础知识有助于更好地理解和掌握C#语言的核心概念和技术要点。

    面试题 C#笔试面试题集

    很好的面试题 面试题 C#笔试面试题集 赶紧下载 不能错过

    经典C#面试题集锦.doc

    "C#经典面试题集锦" 本资源摘要信息涵盖了C#编程语言的多个方面,包括字符串、类和结构、运算符重载、访问修饰符、静态方法、CLR和IL等。以下是详细的知识点解释: 一、字符串:在C#中,string str = null 和 ...

    130道C#面试题+答案.rar

    这130道C#面试题涵盖了从基础语法到高级特性的诸多方面,旨在帮助求职者充分准备面试,展示其对C#语言的深入理解和实践能力。以下是对这些面试题及答案的详细解析: 1. **C#的基本语法** - 了解C#中的数据类型,...

    经典C#面试题集锦

    在C#编程语言中,面试题往往涵盖多个方面,旨在测试开发者对语言特性的理解和应用能力。下面我们将深入探讨一些常见的C#面试知识点。 1. **字符串(string)**:在C#中,`string str = null`表示字符串变量未赋值,不...

    C#面试题答案

    C#面试题答案 在本资源中,我们将涵盖 C# 的各种面试题,涵盖了 ADO.NET、面向对象编程、字符串处理、ADO.NET 数据访问、Windows 窗体应用程序、ASP.NET 等多个方面的知识点。 1. ADO.NET 中的 Command 对象 在 ...

Global site tag (gtag.js) - Google Analytics