c#net中高级开发面试题库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#.net开发中高级面试题卷
姓名:细歌微语
C#.net 部分
1、简单描述.net 体系结构,请画出图形并描述过程。
2、类包括哪些成员?
3、Readonly 和const 关键字的区别?
4、介绍Ref 和out 的区别?
5、请编程实现一个排序算法?(用2 种以上方法,并说明优缺点)?
6、简述private 、protected 、public 、internal 修饰符的访问权限。
7、请说明在.Net 中常用的几种页面间传递参数的方法,并说出他们的优缺点。
8、如下代码:using System;
class A
{ public int n =1; public void showinfo() { System.Console.Write("some information aaa");
}
public virtual void showage(){System.Console.Write("13");}
}
class B:A
{ //public int n =1;
public new void showinfo() { System.Console.Write("some information bbb"); } public override void showage(){System.Console.Write("15");}
public void getname() { System.Console.Write("name"); } }
class Program
{ public static void Main() {
A a1 = new B();a1.showinfo();a1.showage();a1.getname();
} }
请问输出结果是分别什么?
9、谈谈你对反射的理解并应用在哪些场景?
10 、关于异常,嵌套的try 有如下代码:
try
{ //A try {
//Point B
}
catch
{
//point C}finally{
//clean up}//Point D
} catch {
//error handling } finally { //clean up }
1)在内部try 存在异常会怎么样?
2)内部try 没有异常又会怎么以样?
3)请简单描述一下.net 运行库的处理过程?
11 、请说明在.Net 中常用的几种页面间传递参数的方法,并说出他们的优缺点。
12 、一列数的规则如下:1 、1、2、3、5、8、13 、21 、34...... ,求第30 位数是多少,用递归算法实现。
13 、简要描述 Mvc 控制器操作返回的几中类型。
14 、简要描述一下MVC+API 架构下页面的生命周期和处理过程。
15 、简要描述一下依赖注入的原理和您所使用过的容器。
数据库部分
16 、什么是游标?什么是触发器?
17 、描述oracle 中启动和关闭数据库实例的过程.
18 、如下语句:select* from Ta inner join Tb on Ta.a=Tb.a; 表示哪种多表连接查询?请例举出其它几种多表连接查询并依照例句写出SQL 语句。
19 、有三个数据表表,A(STUDENT_ID, STUDENT_NAME, STUDENT_AGE) 表示学生信息表, B(CLASS_ID, CLASS_NAME) 表示课程信息表,C(SCORE_ID, STUDENT_ID, CLASS_ID,SCORE_VALUE) 表示学生科目成绩表,其中STUDENT_ID 、STUDENT_NAME 、STUDENT_AGE 、CLASS_ID 、CLASS_NAME 、SCORE_ID 、SCORE_VALUE 分别表示学号、姓名、年龄、课程编号、课程名称、学生成绩编号、科目成绩,请用SQL 实现以下功能。
(1)查询STUDENT_ID(学号)为20 的所有科目成绩情况(学号、姓名、课程名称、科目成绩),总分按从高到低顺序排列显示。
(2)删除年龄为“19” 的学生的所有科目成绩。
(3)新建一个学号为199,年龄为“18”,姓名为“ 小刘” 的学生信息。
并增加此学生语文成绩分数信息(语文编号为“01”,此学生的语文
成绩为78)。
(4)查询学生的总成绩情况(学号、姓名、总分),并总分按从高到低顺序排列显示。
显示结果如下表:
高级应用部分
20 、在线系统是一款基于Web 的实时聊天系统,用户帮助企业的客服人员回答网站访客的问题。
请根据以下需求场景描述,对系统进行类设计:
1. 聊天(Chat )的双方为访客(Visitor )和客服(Agent);
2. 客服为系统预设,属性包含Id 、Name;
3. 一个聊天只能有一个访客参加,可以有多个客服参加;
4. 聊天由访客请求发起,客服人员接受请求后,双方可以聊天;
5. 聊天过程中,另外的客服人员可以加入;
6. 聊天中访客和客服都可以发送和接收聊天消息(Message);
类设计要求体现需求描述内容和对象关系,要求包含类的定义和成员;不限制语言,不要求实现函数体内容,不要求体现需求未描述内容;
21 、有一Ticket (个案或工单)系统,用于处理来自于客户的邮件、在线表单等问题。
其中,个案的编号、标题、描述、创建时间、状态、负责人、部门等固定字段30 个。
用户会根据自己的业务需求添加或删除其它自定义字段,比如产品、渠道、
咨询类别等。
自定义字段类型包括:文本框,下拉框,复选框,复选框列表等。
其中,下拉框/复选框列表是指用户可以预定义数据,然后在具体新建或编辑Ticket 的时候,客服可以选择其中的一个值。
比如,用户可以加一咨询类别,预定义类别为:售前咨询,产品质量,支付问题等。
在客服在新建或修改产品的时候,客服可以选择一个或多个选项。
业务系统的使用或数据量需求:
1. 我们假定系统有非常多的Ticket ,比如>100 万个Ticket 。
2. 系统设计应该支持客户针对Ticket 字段的频繁查询。
比如客户定义自己的查询为“部门为客服,负责人是自己,状态为Open ,自定义字段-资讯类别为产品质量”的Ticket ,经常使用
3. 用户一般在使用初期会根据业务需求自定义字段,之后在系统使用过程自定义字段新建和修改会比较少;
4. 用户查询和修改一月之前的Ticket 的概率会比最近时间的Ticket 的概率低很多,大概1:100;问题:在关系型数据库的基础上,请定义能实现自定义和存储Ticket 的表结构;。