在面试过程中遇到一些面试题,现在同大家分享一下,希望对自己对网友们都有所帮助。
第一次面试
1.
强类型数据集和弱类型数据集的区别和优缺点?
2.
Postback
和
callback
区别
3.
C#
实现冒泡排序
4.
B/s
和
c/s
区别
5.
Webservice
和
remoting
区别
6.
Sql
方面(主子表,各种查询统计、汇总、更新主表同时更新子表)
7.
索引类型和创建方式
8.
内存泄露问题
9.
泛型、反射、委托的理解
10.
ERP
、
SCM
、
CRM
、
DRP
、
OA
区别
答案(个人做的,仅够参考):
1.
强类型数据集是面向对象的,而若类型数据集是针对数据的。而且若类型数据集比较灵活,所以强类型数据集适合相对静态的情形而若类型数据集适合相对动态的情形。
2.
Postback
是
asp.net
webform
中的概念,回传的意思,就是我们将数据由客户端提交到服务器,是会引起页面刷新的。而
Callback
是回调的意思,我们将请求发送到服务器,服务器做出响应后以异步的方式发送到客户端。
3.
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[] { 3,2,5,7,9,1};
BubbleSort(a);
foreach (int i in a)
{
Console.WriteLine(i);
}
}
public static void BubbleSort(int[] myArray)
{
int length = myArray.Length;
for (int i = 0; i < length - 1; ++i)
{
for (int j = i + 1; j < length; ++j)
{
if (myArray[i] > myArray[j])
{
int temp = myArray[i];
myArray[i] = myArray[j];
myArray[j] = temp;
}
}
}
}
}
}
4.
C/S
是客户端服务器结构,在客户端需要安装相应的客户端软件及相应的环境,客户端相应速度快,但是不方便维护和升级。
B/S
是浏览器服务器结构,相当于瘦客户端,也就是在客户端只需要一个浏览器即可,优点是容易维护升级,但是在运行速度方面相对较慢。
5.
webservice
是web
服务,使用http
协议以xml
格式进行数据传输,和具体平台无关,传输效率相对较差,适用于b/s
结构。而remoting
是远程调用,可以使用http
协议,但是更多的采用tcp
协议以二进制方式进行传输,只适用于.net
平台,传输效率较高更适用于局域网c/s
结构。
6.原题不太清楚了,考察内容粘贴过来:
7.
聚集、非聚集。Create index on tableName
(columns
…
)
8.
暂时没有找到答案,而且原题有些记不清楚了,以后补充。
9.
泛型:使你能够编写完全以一般化却可以重复使用的一种算法,其执行效率等同于针对特定类型编写的方法,类似与
c++
中的模板。简单地说就是可以把数据类型作为参数进行传递。
反射:通过反射可以获得
.Net
每一个类型的成员信息,包括成员变量、属性、方法等,甚至可以实例化对象以及调用其相应的方法。我们常用的
orm
映射、
Ioc
控制反转都是利用反射来实现的。
委托:委托类似于
c++
中的函数指针,利用委托我们可以将函数打包成一个变量进行传递。例如我们常用的匿名类、
Lambda
表达式其实质都是委托。
10.
这个没有回答上来,网上也没有找到太好的答案,希望知道的朋友给补充一下。
第二次面试
1.
不引入变量交换
ab
的值
2. 写出
工厂模式、命令模式、状态模式的一种
3.
Asp.net
传值方式
4.
造成查询速度慢的因素,如何解决
5.
如何判断一个字符串中的字母是否包含在另一个字符串中
6.
不引入新数组(或集合)的同时使一个数组内部元素不重复
7.
Asp.net
的服务器控件添加删除提示
8.
IHttpModule
和
IHttpHandler
作用
答案(仅供参考):
1.
a=b-a;
b=b-a;
a=b+a;
2.这个我就以工厂模式为例
3.
表单传值
form.submit();
超链接后面加参数方式
<a href=”a.aspx?id=1”>a.aspx</a>;
Response.redrect(“a.aspx?id=1”);
Server.transfer(“a.aspx?id=1”);
Session
Cookie
Application
4.
建立索引
优化
sql
算法(尽量避免使用
in
、
between
、
select*
)
大量数据采取分页查询
5.
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string str1 = "abcdefg";
string str2 = "adch";
Console.WriteLine(IsInclude(str1, str2));
}
public static bool IsInclude(string a,string b)
{
bool exit=true;
for(int i=0;i<b.Length;++i)
{
if (a.IndexOf(b.Substring(i,1)) == -1)
{
exit = false;
}
}
return exit;
}
}
}
6.
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] ar = new int[] { 1,2,1,3,5,7,1};
FilterSameNum(ar);
foreach (int i in ar)
{
Console.WriteLine(i);
}
}
public static void FilterSameNum(int[] intArray)
{
for (int i = 0; i < intArray.Length; ++i)
{
for (int j = i+1; j < intArray.Length; ++j)
{
if (intArray[j] == intArray[i])
{
Array.Clear(intArray, j, 1);
//j--;
}
}
}
}
}
}
7.Page_Load
事件中添加
8.
实现
IHttpHandler
的类可以处理请求以及做出相应。
实现
IHttpModule
的类可以实现过滤并作出相应操作的功能。