一些Asp.Net面试题答案
工作时间长了总是用同样的一些东西 其他的有些生疏 闲来看看面试题练习一下: 题目出处嘛...aspnet-tests-for-juniors
转载请注明来源:http://www.cnblogs.com/zaiyuzhong/p/answer-for-aspnet-test.html
1. 定义接口IQuestion:
interface IQuestion
{
string Title{get;set;}
QuestionType Type{get;}
string GetAnswer();
}
小结: interface默认为internal, 可加上public, 只有这两种访问修饰符; 成员不能声明访问修饰符 全是public; 只包含方法、属性、事件或索引器的签名(其实全是方法);
2. 定义抽象类QuestionBase:
internal abstract class QuestionBase:IQuestion
{
public string Title{get;set;}
public abstract QuestionType Type{get;}
public virtual string GetAnswer()
{
return "默认答案";
}
}
小结: 有默认实现的方法是虚方法, 通过 virtual 声明, 子类可重写可不重写;
3. 定义TextQuestion,MultipleChoiceQuestion类:
internal class TextQuestion:QuestionBase
{
public override QuestionType Type{get{return QuestionType.Text}}
public override GetAnswer()
{
return "文本答案";
}
}
MultipleChoiceQuestion 只有值不一样, 略
小结: 题目没提示, 很可能忘记override Type属性;
4. 完成扩展方法 WhereNotDeleted:
public static class Tools
{
public static IEnumerable<Product> WhereNotDeleted(this IEnumerable<Product> sender)
{
return sender.Where(it => it.IsDeleted == "false");
}
}
小结: 扩展方法是静态类的静态方法, 第一个参数this修饰;
我有一些疑问: 1, Product的IsDeleted用bool类型比string要好;
2, 不清楚这道题要考声明扩展方法还是筛选WhereNotDeleted, 如果是后者, 像我这样的答案应该是不行的;
5. 写出Sql语句: (SQL语句关键字全大写是个人习惯)
SELECT [Name],[Year],[Month],SUM([Amount]) AS Income
FROM [User] INNER JOIN [Income] ON [User].Id=[Income].UserId
GROUP BY [Name],[Year],[Mouth]
小结: 应该是考联合查询和GROUP BY, 测了一下四种联合查询都可以(主外键的值都对应的上,可能提问会问到区别), 测试环境SQL Server 2014;
这里有个坑 User(表名和内置函数User()冲突, 加[]表示xx), 开始写了一个简单的select怎么都报错, 以为自己多年不用SQL忘光了, 大囧;
6. Linq语句得到5结果:
var r = from u in users
join i in incomes on u.Id equals i.UserId
group i by new {u.Name, i.Year, i.Mouth} into temp
select new UserIncomeDto() {
Name = temp.Key.Name,
Year = temp.Key.Year,
Month = temp.Key.Month,
Income = temp.Sum(it => it.Amount)
};
return r.ToList();
小结: 熟悉Linq...
7. 修改HTML和路由:
HTML: <form action="..." method="post">
<input name="username" type="text" placeholder="username" />
<input name="password" type="password" placeholder="password" />
Routes: routes.MapRoute(
name: "MobileLogin"
url: "/admin/mobile/user/login",
defaults: new { controller = "User", action = "Login"}
); //注意路由顺序
小结: form 可能会忘记声明method, 我不记得form默认是post还是get了, 还是声明一下的好;
8. 完成Require方法:
private void Require(Func<Product,string> selector, string msg)
{
var value = selector.Invoke(this);
if(string.IsNullOrEmpty(value)) throw new Exception(msg);
}
小结: 这题好, 以前没注意过还可以这么造...
如果是笔试, 这道题还是不错的, 有难度有区分, 中级开发者不借助VS不一定能写出来, 在后续的提问环节可以更好的了解应聘者的技术能力
#region 2015-01-04 补充
9. 现有蓝色底的纸板... :
private void FillGround(Block ground, IEnumerable list)
{
//思路有点问题, 我先保存一下
// 不行 这道题到我极限了.. 要研究一段时间了
}
#endregion
一些Asp.Net面试题答案的更多相关文章
- 关于完整解答Leo C.W博客中名为“我们公司的ASP.NET 笔试题,你觉得难度如何”的所有题目
关于完整解答Leo C.W博客中名为“我们公司的ASP.NET 笔试题,你觉得难度如何”的所有题目,请大家鉴定,不足之处,敬请指教! 第1到3题解答如下: public enum QuestionTy ...
- (转)130道ASP.NET面试题
130道ASP.NET面试题 转自http://blog.csdn.net/kingmax54212008/article/details/2021204 1. 简述 private. protect ...
- 远光软件ASP.NET笔试题小汇总
ASP.NET笔试题是ASP.NET程序员面试必须经历的,一般会叫你填两个表 1个是你的详细信息表 1个是面试题答卷 两个都要注意反正面是否都有内容不要遗漏,如果考你机试一般也有两种,就是程序连接数据 ...
- N++ 道ASP.NET面试题
InterviewQuestions-ASP.NET N++ 道ASP.NET面试题 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . ...
- ASP.NET面试题130道
130道ASP.NET面试题 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. ...
- JQuery面试题答案
jQuery面试题答案 转自:http://blog.csdn.net/zhangpei_xf/article/details/8822021 一.Jquery测试题 下面哪种不是jquery的选择器 ...
- Linux相关面试题&答案
Linux相关面试题&答案 Linux面试题&答案 假设apache日志格式为:118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] " ...
- 1+X云计算平台运维与开发(中级)eNSP A~E卷 试题+答案
1+X云计算平台运维与开发(中级)eNSP A~E卷 试题+答案 A卷 路由器管理(40分) 41 配置R1和R2路由器(路由器使用R2220),R1路由器配置端口g0/0/1地址为192.168.1 ...
- asp.net 面试题(附答案)
这次面试遇到的一些问题有很基础,也有的一些我没有听过.根据经验不同或应聘职位和公司的不同等,遇到的面试问题肯定也不一样.本人两年半asp.net开发经验,这是我年后应聘asp.net工程师遇到的问题, ...
随机推荐
- python描述符(descriptor)、属性(property)、函数(类)装饰器(decorator )原理实例详解
1.前言 Python的描述符是接触到Python核心编程中一个比较难以理解的内容,自己在学习的过程中也遇到过很多的疑惑,通过google和阅读源码,现将自己的理解和心得记录下来,也为正在为了该问题 ...
- Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibr
网上找了一大堆,没有解决的办法 ,主要是iOS10的适配问题,info.plist里没有加对. 访问相册,我只加了 <!-- 相册 --> <key>NSPhotoLibrar ...
- bzoj1045 糖果传递
escription 老师准备了一堆糖果, 恰好n个小朋友可以分到数目一样多的糖果. 老师要n个小朋友去拿糖果, 然后围着圆桌坐好, 第1个小朋友的左边是第n个小朋友, 其他第i个小朋友左边是第i-1 ...
- inux中fork()函数详解(原创!!实例讲解)
转载自原创博客,欢迎继续转载 点击跳转到原文
- java基础 作业(一)
题目: 跳水比赛,8个评委打分.运动员的成绩是8个成绩去掉一个最高分,去掉一个最低分,剩下的6个分数 的平均分就是最后 得分.使用以为数组实现打分功能 .请把打分最高的评委和最低的评委找出来. 解析: ...
- Android-做个性化的进度条
1.案例效果图 2.准备素材 progress1.png(78*78) progress2.png(78*78) ...
- Yslow-23条规则
1. 减少HTTP请求次数 合并图片.CSS.JS,减少首次访问用户等待时间. 2. 使用CDN就近缓存==>智能路由==>负载均衡==>WSA全站动态加速 3. 避免空的src和h ...
- bzoj1023: [SHOI2008]cactus仙人掌图
学习了一下圆方树. 圆方树是一种可以处理仙人掌的数据结构,具体见这里:http://immortalco.blog.uoj.ac/blog/1955 简单来讲它是这么做的:用tarjan找环,然后对每 ...
- python __call__ 内置函数的使用
对象通过提供__call__(slef, [,*args [,**kwargs]])方法可以模拟函数的行为, 如果一个对象x提供了该方法,就可以像函数一样使用它,也就是说x(arg1, arg2... ...
- selenium 总结篇,常见方法和页面元素的操作
今天,总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio b ...