C# 面试宝典
1、简述 private、 protected、 public、 internal 修饰符的访问权限。
private 私有成员 只有类成员才能访问
protected 保护成员 只有该类及该类的继承类才能访问
public 公共成员 没有访问限制
internal 只有当前程序集内才能访问
2、ADO.NET中的五个主要对象
connection 用于程序及数据库的连接
command 对数据库发出指令
DataAdpter 是数据源和DataSet的桥梁
DataSet 是数据的缓存,只是数据在计算机中的一块内存,无法直接沟通数据源,只能通过DataAdpter进行沟通
DataRead 循环读取数据
3、页面之间传递值的几种方式。
1.queryString 如 .....?id=1
2.session
3.cookie
4.Server.Transfer传值
5.Appcation传值
6.PreviousPage
Server.Transfer和Response.Redirect的区别
Server.Transfer 在服务器内部直接跳转到本地虚拟机的一个网页,浏览器地址不变,如果刷新地址会重回到旧地址页面。
Response.Redirect 跳转后,浏览器地址随之变化。
4、C#中的委托是什么?事件是不是一种委托?事件和委托的关系。
委托是一种类型,事件是一个对象。
委托是指向一个函数的指针。
事件的内部是通过委托来实现的。
事件只包括private的委托以及add,remove方法。
5、override与重载(overload)的区别
override是面向对象的,是对父类方法的重写
overload是面向过程的,方法名一样,但是参数名或参数个数不一样。
6、C#中索引器是否只能根据数字进行索引?是否允许多个索引器参数?
7、属性和public字段的区别是什么?
属性在处理过程中可以非法赋值。
一般情况下,字段的get方法取到的就是set方法赋予的值。
但是如果像
public name
{
get{return 100;}
set{}
}
那么get方法取到的值和set方法赋予的值就不一致。
8、三层架构
U(UI)B(BLL)D(DAL)
U:表现层 与用户的交互界面
B:业务逻辑层 根据数据访问层层取到的数据,根据业务逻辑进行处理。
D:数据访问层 直接对数据库进行增删改查
思想:高内聚,低耦合
优点:良好的扩展性,分工明细,层次分明
缺点:成本高
9、MVC模式
V :表现层 与用户的交互界面
M: 业务逻辑层 根据数据访问层层取到的数据,根据业务逻辑进行处理,数据封装。
C: 表现层与业务逻辑层之间的桥梁,根据不同的界面调用业务逻辑
10、什么是装箱(boxing)和拆箱(unboxing)? (*)
装箱 : 值类型转换成引用类型
拆箱: 引用类型转换成值类型
装箱 object obj = 1;
拆箱 int i = (int)obj;
11、什么叫应用程序域
一种边界,他是公共语言运行库围绕同一程序范围内创建的对象建立。
应用程序域有助于一个程序中创建的对象与其他程序创建的对象隔离,使运行时行为可以预知。
一个独立进程可以包含多个应用程序域,可以理解为是一个轻量型的进程。起到安全的作用。占用资源少。
12、CTS、CLS、CLR分别作何解释(*)
CTS : Common Type System 通用系统类型。
CLS : Common Language Specification 通用语言规范。不同语言的语法不同
CLR: Common Language Runtime 公共语言运行时 .NET提供的类。
13、在dotnet中类(class)与结构(struct)的异同?
类是引用类型,可以被实例化,被分配到内存的堆上。传递时是引用传递。
结构是值类型,参数传递时被复制传递,被分配到内存的栈上。
14、堆和栈的区别?
栈是编译时分配的内存空间,在代码中必须对栈的大小有明确的定义。值类型参数,值类型局部变量都分配到栈上。
堆是程序运行时分配的内存空间。在程序运行时,可以根据情况分配内存的大小。
15、能用foreach遍历访问的对象的要求
需要是实现IEnumberable接口的类型或是声明了GetEnumberatr方法的类型。
16、GC是什么? 为什么要有GC?
GC是垃圾收集器。GC只能处理托管在内存资源的释放,对非托管的资源无法回收。需要手动调用IDispose()方法进行回收。
17、String s = new String("xyz");创建了几个String Object?
两个,一个是“xyx”,一个是指向“xyx”的引用对象。
18、值类型和引用类型的区别?
1.值类型传递时是复制传递。引用类型传递时是引用传递,并不会复制对象本身,而只是复制一个指向对象的引用。
2.值类型不能派生类,所有值类型都派生自System.TypeVaule。但是和引用类型相同的是,结构可以实现接口。
3.值类型不能包含null,但是非空类型允许将null赋给值类型。
4.所有值类型都一个隐式构造函数来初始化默认值。
19、C#中的接口和类有什么异同。
不同点:
接口不能实例化
接口可以多继承,类只能单个继承
接口不包括方法的声明。
类定义可以在不同源文件中拆分。
相同点:
类,接口,结构都可以实现对多个接口的继承。
接口和类都可以定义属性,方法,索引,事件。
接口类似于抽象基类。继承接口的所有非抽象基类必须实现接口的所有成员。
20、abstract class和interface有什么区别
相同点:都不能被实例化,可以通过继承实现其抽象方法。
不同点:
接口支持多继承,抽象类只能单个继承。
接口不包含方法的实现,抽象类既可以定义行为,可以提供实现。
接口可以实现回调,但是抽象类不能实现回调,因为继承不支持。
接口只包含事件,方法,索引器,属性的的定义。但是不能包含字段和方法的实现。
抽象类可以包含方法,属性,字段及可以实现的方法。
接口可以用于值类型和引用类型,抽象类只能用于引用类型。
21、是否可以继承String类?
String是sealed类,不能被继承。sealed是密封类。
22、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行?
会执行,在return前执行。
23、new 关键字用法(*)
new 运算符 是创建对象和调用构造函数
new 修饰符 显式隐藏从基类继承的成员
new 约束 规定泛型类型参数必须拥有公共的无参构造函数。
24、如何把一个Array复制到ArrayList里(*)
1. Array arr = {1,2,3,4} ;ArrayList arrList = new ArrayList(arr);
2.Array arr = {1,2,3,4} ;ArrayList arrList = new ArrayList(); arrList.AddRange(arr);
25、描述线程与进程的区别?(*)
1.线程和进程都定义了某种边界。进程定义了程序与程序的边界。线程定义了代码执行栈堆和上下文的边界。
2.一个程序只能有一个进程,而一个进程可以拥有多个线程。同一进程中的线程共享数据。
26、什么是强类型,什么是弱类型?哪种更好些?为什么?
强类型实现定义好数据的类型,执行时不能变换,不容易出错,效率高。
弱类型没有强制要求指定数据的类型,更加灵活,也容易出错,效率低。
27、什么是反射?
反射可以动态创建类型的实例,调用类型的方法,访问类型的属性。
28、int、DateTime、string是否可以为null?
int,DateTime不行。因为它们是结构,属于值类型,不能设置null。string可以,它是类,可以设置为null。
29、using关键字有什么用?什么是IDisposable?
using可以实现namespace的引入,实现非托管资源的释放。
实现了IDisposable接口的类在using接口后会自动调用Dispose(),释放资源。
30、Assembly.Load("foo.dll"); 这句话是否正确?
错误,Assembly.Load("foo");
31、XML 与 HTML 的主要区别
XML比HTML严格。
XML必须区分大小写,HTML不用
XML的Tag在结束时,必须加结束符(/)
XML的所有属性必须在引号中,HTML可用可不用
XML的所有属性必须要有相应的值,HTML中的属性可以不带值。
XML必须结构完整,不能省略结束标记。
32、string str = null 与 string str = “”说明其中的区别。
string str不分配内存,string str = “”分配一个长度为空字符的内存地址。
string str 没有对象,string str = ""有一个字符串对象。
33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
select top 10 * from A where id not in (select top 30 * from A )
34.面向对象的语言具有________性、_________性、________性
封装,继承,多态
35.在.Net中所有可序列化的类都被标记为_____?
[serializable]
36.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?
GC
37、什么叫应用程序域?什么是受管制的代码?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
38、什么是code-Behind技术。
将页面的显示逻辑与代码逻辑分离,提高代码的可读性和可维护性。
39接口是一种引用类型,在接口中可以声明(a),但不可以声明公有的域或私有的成员变量。
a) 方法、属性、索引器和事件;
c) 索引器和字段;
d) 事件和字段;
40. 在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(c)。
a) insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;
b) ExecuteNonQuery()方法返回执行Sql语句所影响的行数。
c) Select操作的Sql语句只能由ExecuteReader()方法来执行;
d) ExecuteReader()方法返回一个DataReder对象;
41. 下列关于C#中索引器理解正确的是(c )
a) 索引器的参数必须是两个或两个以上
b) 索引器的参数类型必须是整数型
c) 索引器没有名字
d) 以上皆非
42. 要创建多文档应用程序,需要将窗体的(d )属性设为true。
a) DrawGrid;
b) ShowInTaskbar;
c) Enabled;
d) IsMdiContainer;
43. 如果设treeView1=new TreeView(),则treeView1.Nodes.Add("根节点")返回的是一个 (a)类型的值。
a) TreeNode;
b) int;
c) string;
d) TreeView
44. 下面关于XML的描述错误的是(d)。
a) XML提供一种描述结构化数据的方法;
b) XML 是一种简单、与平台无关并被广泛采用的标准;
c) XML文档可承载各种信息;
d) XML只是为了生成结构化文档;
45、以下的C#代码,试图用来定义一个接口:
public interface IFile
{
int A;
int delFile()
{
A = 3;
}
void disFile();
}
关于以上的代码,以下描述错误的是(d )。
a) 以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误;
b) 以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数;
c) 代码void disFile();声明无错误,接口可以没有返回值;
d) 代码void disFile();应该编写为void disFile(){};
46 在ASP.NET中有Button控件myButton,要是单击控件时,导航到其他页面http://www.abc.com, 正确的代码为( c)。
a) private void myButton_Click(object sender, System.EventArgs e){Redirect(“http://www.abc.com”);}
b) private void myButton_Click(object sender, System.EventArgs e){Request.Redirect(“http://www.abc.com”);}
c) private void myButton_Click(object sender, System.EventArgs e){Reponse.Redirect(“http://www.abc.com”);}
d) private void myButton_Click(object sender, System.EventArgs e){Request.Redirect(“http://www.abc.com”);return true;}
47. 声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是(b )。
a) void myCallBack(int x) ;
b) int receive(int num) ;
c) string receive(int x) ;
d) 不确定的;
48.StringBuilder 和 String 的区别?
String每次运算时都会产生一个新的实例,而StringBuilder不会。
49、.请叙述属性与索引器的区别。 (*)没啥意义
属性 索引器
通过名称标识。 通过签名标识。
通过简单名称或成员访问来访问。 通过元素访问来访问。
可以为静态成员或实例成员。 必须为实例成员。
属性的 get 访问器没有参数。 索引器的 get 访问器具有与索引器相同的形参表。
属性的 set 访问器包含隐式 value 参数。 除了 value 参数外,索引器的 set 访问器还具有与索引器相同的形参表。
50.请叙述const与readonly的区别。
const用于常数字段或局部变量的声明。它声明后的字段或变量无法被修改。
const声明变量是必须初始化。初始值必须是一个常量表达式。
const的初始值也可以是另外一个const常量。两个const常量之间没有依赖关系。
const是在编译期间评估。
readonly是在运行期间评估。
readonly可以在声明或构造函数期间初始化。根据构造函数的不同,readonly可以是不同的值。
readonly不能static方法中初始化。
51. 请解释ASP。NET中的web页面与其隐藏类之间的关系?
一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下
<%@ Page language="c#" Codebehind="Tst1.aspx.cs" AutoEventWireup="false" Inherits="T1.Tst1" %>
Codebehind="Tst1.aspx.cs" 表明经编译此页面时使用哪一个代码文件
Inherits="T1.Tst1" 表用运行时使用哪一个隐藏类
52. 什么是viewstate,能否禁用?是否所用控件都可以禁用?
Viewstate是保存状态的一种机制,EnableViewState属性设置为false即可禁用。最有力的举例子:Label、TextBox在禁用ViewState后不同的表现来说明。
53、你对web service的体会?
54您在什么情况下会用到虚方法?它与接口有什么不同?
子类在重定义父类的一个方法时,必须将父类的方法设成虚方法
接口中声明方法时不能有方法体,而虚方法有。
实现时,接口中的方法可以不设定为虚方法,但是继承的类必须要实现这个方法。
55. 不定项选择:
(1) 以下叙述正确的是: B C
A. 接口中可以有虚方法。B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。
(2) 从数据库读取记录,你可能用到的方法有:B C D
A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader
(3).对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) ( ABC )
A.Close B.Dispose C.Finalize D.using E.Quit
(4)以下关于ref和out的描述哪些项是正确的?(多选) ( ACD )
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参数的参数必须最先初始化。
C.使用ref参数,必须将参数作为ref参数显式传递到方法。
D.使用out参数,必须将参数作为out参数显式传递到方法。
56. 单项选择:
(1)下列选项中,(C)是引用类型。
a)enum类型 b)struct类型 c)string类型 d)int类型
(2).关于ASP.NET中的代码隐藏文件的描述正确的是(C)
a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。
b)项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。
c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。
d)以上都不正确。
57、DataReader和DataSet的异同?
DataReader使用时始终占用SqlConnection,在线操作数据库
每次只在内存中加载一条数据,所以占用的内存是很小的
是只进的、 只读的
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接(非连接模式)
DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行 回传更新操作(动态操作读入到内存的数据)
58、public static const; int A = 1;这段代码有错误么?
错误:const不能被修饰为static ;因为定义为常量 (const )后就是静态的(static )。
59传入某个属性的set方法的隐含参数的名称是什么?
value,它的类型和属性所声名的类型相同。
60、C#支持多重继承么?
类之间不支持,接口之间支持。类对接口叫实现,不叫继承。
61、C#中所有对象共同的基类是什么?
System.Object
62、通过超链接怎样传递中文参数?
用Url编码,通过QueryString传递。用UrlEncode编码,UrlDecode解码。
63、string、String;int、Int32;Boolean、bool的区别
String,Int32,Boolean都是.NET中的类。string,int,bool都是C#对这些类的别名。CTS。
64、Server.Transfer和Response.Redirect的区别是什么?(常考)
Server.Transfer仅是服务器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;Response.Redirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。
Server.Transfer是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 这个过程中浏览器和Web服务器之间经过了一次交互。
Response.Redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求。这个过程中浏览器和Web服务器之间经过了两次交互。
65、不是说字符串是不可变的吗?string s="abc";s="123"不就是变了吗?
String是不可变的在这段代码中,s原先指向一个String对象,内容是 "abc",然后我们将s指向"123",那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"123",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。
66、是否可以从一个static方法内部发出对非static方法的调用?
不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部不能发出对非static方法的调用。
67、.Net中会存在内存泄漏吗,请简单描述。 (*)
.Net中有垃圾回收机制,它可以将不再使用的对象进行回收。
但是如果在长生命周期中创建一个短生命周期的对象后,又不再使用它,就会造成内存泄露。
68说出一些常用的类、接口,请各举5个
69、BS与CS的联系与区别。
C/S是Client/Server的缩写。客户端需要安装专用的客户端软件。
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。
C/S 与 B/S 区别:
1).硬件环境不同:
C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
2).对安全要求不同
C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
70、编写一个单例(Singleton)类。
public Chache()
{
private cache = new Cache();
private Cache(){}
public Cache Instance = this.cache;
}
71、什么是sql注入?如何避免sql注入?
用户根据系统的程序构造非法的参数从而导致程序执行不是程序员期望的恶意SQL语句。使用参数化的SQL就可以避免SQL注入。
72、数据库三范式是什么?
第一范式:所有属性都是不可分割的基本数据
第二范式:表必须要有主键。
第三范式:表引用其他表必须通过主键引用。
73、说出一些数据库优化方面的经验?
1.经常查询的字段上使用索引
2.查询时只列出必要的字段,而不用*
3.避免隐式转换造成全表检索
4.避免在索引列上使用计算
74、什么是数据库事务?
事物三特性:一致性,原子性,隔离性。
75、谈谈你对设计模式的理解
设计模式都是面对对象编程思想的应用,我们看到在有些模式中不仅将常见对象封装成了类,而且将状态、操作也封装成了类。学习设计模式可以让你对类的封装、继承、多态有更深的理解和体会。
使用适当的设计模式可以使程序更易扩展和维护。在设计模式中对程序的扩展和维护通常是通过增加代码来完成的,而不是通过修改代码来完成。
76、谈谈ViewState。谈谈对ASP.Net原理的理解。谈谈ASP.Net生命周期。
Label、Textbox在禁用ViewState的时候自增的不同表现
77、post、get的区别
get参数会显示在地址栏中,post不会
刷新时post会现实是否重新提交,get不会
post提交的数据量大,get提交的数据量小(2k)
get能被搜索引擎抓取,post不会
post可以提交文件,get不行
78、下面的程序执行结果是什么?
class Person
{
public int Age { get; set; }
}
int i1 = 20;
int i2 = i1;
i1++;
Console.WriteLine(i2);
Person p1 = new Person();
p1.Age = 20;
Person p2 = p1;
p1.Age++;
Console.WriteLine(p2.Age);
答案:
20
21
79、Http默认的端口号是(80)、Ftp默认的端口号是(21)、SQLServer的默认端口号是(1433)(传智播客.Net培训班原创模拟题)
80、
81 下面程序的执行结果是什么?
int i = 10;
Console.WriteLine(i++);
Console.WriteLine(++i);
Console.WriteLine(i=20);
答案:
10
12
20
82、如果不用VisualStudio,用哪个命令行编译C#程序?(*)
csc.exe
83、下列哪个名词和WebService不直接相关?(B)(传智播客.Net培训班原创模拟题)
A、UDDI
B、GUID
C、WSDL
D、SOAP
84、.Net Framework中的类是专门供C#调用的是吗?(传智播客.Net培训班原创模拟题)
答:错。VB.Net等语言都可以调用.Net Framework中的类。CTS、CLS
85、开放性问题:说出尽可能多的基于.Net Framework的语言。(*)(传智播客.Net培训班原创模拟题)
参考解答:C#、VB.Net、F#、PowerShell、IronPython、J#、Ruby.Net
86、.Net、ASP.Net、C#、VisualStudio之间的关系是什么?(传智播客.Net培训班原创模拟题)
Net一般指的是.Net Framework,提供了基础的.Net类,这些类可以被任何一种.Net编程语言调用,.Net Framework还提供了CLR、JIT、GC等基础功能。
ASP.Net是.Net中用来进行Web开发的一种技术,ASP.Net的页面部分写在aspx 文件中,逻辑代码通常通过Code-behind的方式用C#、VB.Net等支持.Net的语言编写。
C#是使用最广泛的支持.Net的编程语言。除了C#还有VB.Net、IronPython等。
VisualStudio是微软提供的用来进行.Net开发的集成开发环境(IDE),使用VisualStudio可以简化很多工作,不用程序员直接调用csc.exe等命令行进行程序的编译,而且VisualStudio提供了代码自动完成、代码高亮等功能方便开发。除了VisualStudio,还有SharpDevelop、MonoDevelop等免费、开源的IDE,VisualStudio Express版这个免费版本。
87、AJAX解决什么问题?如何使用AJAX?AJAX有什么问题需要注意?项目中哪里用到了AJAX?(传智播客.Net培训班原创模拟题)
答:AJAX解决的问题就是“无刷新更新页面”,用传统的HTML表单方式进行页面的更新时,每次都要将请求提交到服务器,服务器返回后再重绘界面,这样界面就会经历:提交→变白→重新显示这样一个过程,用户体验非常差,使用AJAX则不会导致页面重新提交、刷新。
AJAX最本质的实现是在Javascript中使用XMLHttpRequest进行Http的请求,开发中通常使用UpdatePanel、JQuery等方式简化AJAX的开发,UpdatePanel的方式实现AJAX最简单,但是数据通讯量比较大,因为要来回传整个ViewState,而且不灵活,对于复杂的需求则可以使用JQuery提供的ajax功能。
UpdatePanel的内部原理。
AJAX最重要的问题是无法跨域请求(www.rupeng.com →so.rupeng.com),也就是无法在页面中向和当前域名不同的页面发送请求,可以使用在当前页面所在的域的服务端做代理页面的方式解决。
在如鹏网项目中发帖的时候显示相关帖的功能、站内搜索项目中显示搜索Suggestion、数据采集项目中都用到了AJAX。
88、NET通过对各语言先编译成( IL),然后再执行时用( JIT)将其编译成本地平台代码,来实现异构平台下对象的互操作。(*)
89、编写正则表达式验证一个字符串是否为Email。复习正则表达式部分的知识。
[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.0-9a-zA-Z]+
90、Application 、Cookie和 Session 两种会话有什么不同?
91、开放式问题:你经常访问的技术类的网站是什么?
92、你对.net的GC的理解
GC是.NET的垃圾回收器,它可以让程序员不用关心资源的回收。
对象不再使用后,GC不是立即进行回收,会适当回收。如果想立即回收,可以执行GC.Collection().
GC不能回收非托管资源。对于非托管资源一般都实现了IDisposable接口,使用using关键字进行回收。
93、请写一个SQL语句:从user表中取出name列中的起始字符是“北京”的全部记录
select * from user where name like '北京%'
94、请你简单的说明数据库建立索引的优缺点
建立索引的表在查询时速度快,但是在插入删除时,需要创建索引,速度慢。而且创建所以会消耗磁盘空间。
95、什么是WEB服务控件?使用WEB服务控件有那些优势、劣势?
96、下面程序的执行结果是什么?(传智播客.Net培训班原创模拟题)
int i = 10;
if (i <=0) ;
Console.WriteLine("i必须大于0");
Console.WriteLine("ok");
答案:
i必须大于0
ok
97、下面程序的执行结果是什么?(传智播客.Net培训班原创模拟题)(*)
static void Main(string[] args)
{
Console.WriteLine(Calc());
Console.ReadKey();
}
static int Calc()
{
int i = 0;
try
{
return i;
}
finally
{
Console.WriteLine("finally");
i++;
}
}
答案:
finally
0
98、开放式问题:工作中遇到不懂的问题是怎样去解决的?(传智播客.Net培训班原创模拟题)
99、开放性问题:你能说出哪些数据库?(传智播客.Net培训班原创模拟题)
100、开放性问题:你能说出尽可能多的你听说过的编程语言?(传智播客.Net培训班原创模拟题)(*)
102、在下述选项时,没有构成死循环的程序是
A.int i=100;while (1) { i=i%100+1; if (i>100) break; }
B.for (;;);
C.int k=1000; do { ++k; }while(k>=10000);
D.int s=36; while (s);--s;
103、下列哪个是和数据库访问技术关系不大的技术(C)
A、SQLHelper
B、EnterPrise Library
C、AppDomain
D、Linq
104、下列哪些说法是错误的(传智播客.Net培训班原创模拟题)
105、从以下简写中任选一个简单描述
106、请在数据库中设计表来保存一个树状结构的公司组织结构
107、下面程序的执行结果是什么?
108、在Windows命令行中敲入下面的指令各有什么反应(传智播客.Net培训班原创模拟题)
109、下列这些软件用过哪些?他们是用来做什么的?(传智播客.Net培训班原创模拟题)
110、开放式问题:如果程序连不上SQLServer数据库服务器服务器,你会怎么排除这个故障?(传智播客.Net培训班原创模拟题)
111、下面的IP地址有什么含义?(传智播客.Net培训班原创模拟题)
127.0.0.1:本地回环地址(LoopBack),localh
0.0.0.0:监听所有的网卡。AnyIP。
255.255.255.0
112、不用JQuery等框架实现AJAX无刷新登录。
提示:用纯XMLHttpRequest实现。
113、单点登录。
114、Http状态码各是什么意思。
500:服务器内部错误
115、 对html文本框进行赋值的JQuery语句,对html文本框进行取值的JQuery语句,对TextBox服务端控件进行取值的语句JQuery。
116、IE和FireFox的不同,IE6和IE8的不同。JQuery
XMLHttpRequest。不同浏览器实现AJAX的代码是不一样的。InnerHTML。
CSS、Javascript、dom。
我们项目开发中为了避免这些跨浏览器兼容的问题,就是用JQuery框架,他帮我们屏蔽了浏览器的差异。
说说在软件设计中你遇到的以空间换时间的例子?Cache、索引、简繁转换用Dictionary。
C# 面试宝典的更多相关文章
- 【转】Java面试宝典2015版(绝对值得收藏超长版)(一)
(转自:http://mp.weixin.qq.com/s?__biz=MjM5MTM0NjQ2MQ==&mid=206619070&idx=1&sn=fcb21001d442 ...
- .NET工程师面试宝典
.Net工程师面试笔试宝典 传智播客.Net培训班内部资料 这套面试笔试宝典是传智播客在多年的教学和学生就业指导过程中积累下来的宝贵资料,大部分来自于学员从面试现场带过来的真实笔试面试题,覆盖了主流的 ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- Java面试宝典2015版
这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试.由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两天就看完 ...
- Android高薪之路-Android程序员面试宝典
Android高薪之路-Android程序员面试宝典
- Java面试宝典2013版(超长版)
一. Java基础部分......................................................................................... ...
- 【Android】面试宝典
Android面试 1. 内容介绍................................................................................... ...
- 兄弟连面试宝典php
学历这个事情是企业招聘经常设置的一道门槛,我们不能说学历高就能力高,也不能说学历低能力就差,那如何辩证回答这个问题呢?回答提示:学历不一定完全代表能力,虽然我的学历不够硬但是我会在技术上更努力更认真, ...
- Java面试宝典2014版
一. Java基础部分......................................................................................... ...
- Java 面试宝典-2017
http://www.cnblogs.com/nelson-hu/p/7190163.html Java面试宝典-2017 Java面试宝典2017版 一. Java基础部分........... ...
随机推荐
- border-collapse实现表格细线边框
虽然在xhtml+css 时代 table的使用越来越少,但需要布局数据型元素,用table还是很不错的选择. 用table制作表格的时候美观也很重要,其中的边框.在HTML中,表格的默认样式大概是这 ...
- iOS9开发者测试版下载地址(系转载)
将链接复制后,打开迅雷即可下载!请根据自己的手机型号下载.不需要udid绑定.开发者账号,下载后直接升级即可.请根据自己的手机型号将链接复制 打开迅雷 点击立即下载即可.不过好像Mac版的迅雷下载不了 ...
- [NOIP2015] 子串substring 题解
[题目描述] 有两个仅包含小写英文字母的字符串A和B.现在要从字符串A中取出k个互不重叠的非空子串,然后把这k个子串按照其在字符串A中出现的顺序依次连接起来得到一个新的字符串,请问有多少种方案可以使得 ...
- apache2错误日志在哪,可以看到php错误
在以下路径中 /var/log/apache2/error.log
- ubuntu安装LAMP环境
1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql 由于LAMP大部分 ...
- 【leetcode】Spiral Matrix II
Spiral Matrix II Given an integer n, generate a square matrix filled with elements from 1 to n2 in s ...
- CEF3开发者系列之JS与C++交互之二
本文翻译自JavaScriptIntegration (https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration).本 ...
- ios swift generator 文章推荐
https://medium.com/swift-programming/sequence-beyond-primitive-iterations-in-swift-80bc2507d8cc /// ...
- ItemsSource绑定后ScrollViewer不复位
ItemsSource绑定后ScrollViewer不复位 ItemsSource绑定后ScrollViewer不复位,有的时候我们需要这一效果,但大多数情况下我们是想让它复位的. 在WPF中也有这个 ...
- Divide and conquer:Showstopper(POJ 3484)
Showstopper 题目大意:数据挖掘是一项很困难的事情,现在要你在一大堆数据中找出某个数重复奇数次的数(有且仅有一个),而且要你找出重复的次数. 其实我一开始是没读懂题意的...主要是我理解错o ...