1、请用一个例子来说明泛型的好处。
答:泛型可以存放任何的引用或值类型,避免了显式强制转换。
List<T> list =new ArrayList<T>();
list.add("可以放个值,也可以放对象")
访问时由于已经指定了存放类型T ,所以在取值时不需要强制转换了。可以用:
foreach(T t in list){
Console.WriteLine(""+t.属性);
}
使用时很方便 也精简了代码。
2、描述下你常用的设计模式,并解释下你在什么业务逻辑下用的?为什么要用这样的模式?
答:MVC设计模式,在使用三层架构时最适合,它将页面和代码很好的分离,也将逻辑代码和显示代码很好的分离开来,易于管理和维护升级。
3、有两个有序整形数组(已经按从小到大排序),请写一个算法找出二者相同的元素和不同的元素。
答:int[] num1=new int[]{3,5,7,8,9} int[] num2=new int[]{2,4,6,8}
这里要用到两个循环:
int commonNumInt=0;
int diffentNumInt=0;
for(int i=0;i<num1.length;i++){
for(int j=0;j<num2.length;j++){
if(num1[i]==num2[j]){
commonNumInt ++; //相同元素的个数
break;
}else{
if(j==num2.length-1){
diffentNumInt ++; //不同元素的个数
}
}
}
}
4、杂志业务有两个表,分别是杂志信息表和期刊表,请简要设计下表结构,并写一个sql查找所有杂志的最新期刊。
答:杂志信息表 tbl_MagazineInfo
杂志编号:magazineID nvarchar(5) not null
杂志名称:magazineName nvarchar(20) not null
杂志作者:magazineAuthor nvarchar(20) not null
出版时间:magazineTime nvarchar(20) not null
出版社名:magazinePubliName nvarchar(50) not null
期刊表 tbl_Periodical
期刊编号:periodicalID nvarchar(5) not null
杂志编号:magazineID nvarchar(5) not null
期刊名称:periodicalName nvarchar(20) not null
期刊时间:periodicalTime nvarchar(20) not null
select max(periodicalTime) from tbl_Periodical where magazineID in(select magazineID from tbl_MagazineInfo)
5、新闻通常有多个标签(关键字),请设计表结构来描述二者的关系,要求很方便查找某个新闻的标签和查找指定标签所有的新闻。
答:新闻信息 tbl_NewInfo
新闻ID: newID int not null
新闻名称: newName nvarchar(20) not null
标签信息 tbl_MarkInfo
标签ID: markID int not null
标签名称: markName nvarchar(20) not null
中间表 tbl_NandM
ID: id
新闻ID: newID int not null
标签ID: markID int not null
通过指定新闻名获得多个标签:
select markName from tbl_markInfo where markID in( select markID from tbl_NandM where newID =(select newID from tbl_NewInfo where newName ='参数'))
通过标签获得多个新闻:
select newName from tbl_NewInfo where newID in(select newID from tbl_NandM where markID =(select markID from tbl_MarkInfo where markName ='参数'))
6、请设计一个手机通讯录数据库,要求兼容性好(支持市面上的多数机型),可扩展性好。
7、假设一个老系统出现了性能问题,没有源码,没有数据库设计文档,是C#+Sql2000开发的,请问你通过什么方式可以快速的定位问题。