.NET研发人员面试题(一)
1、简述javascript中的“=、==、===”的区别?
=赋值
==比较是否一般相等 "3"==3 //会做类型的隐式转换,true
===比较是否严格相等 "3"===3 //先比较类型,再进行值比较,false
2、看下列代码输出为何?解释原因
var a = null;
alert(typeof a); 
var b;
alert(typeof b);
alert(c);
a为null,也是一个对象,所以typeof(a)为object.
b只有声明没有初始化,因此typeof(b)为undefined.
c没有定义,因此alert(c)会出现error.
3、编写javascript代码实现把两个数组合并,并删除第二个元素。
合并js数组用concat方法,array1.concat(array2)。
删除元素用splice方法,splice(1,1),函数原型splice(index,count),指从数组索引1处开始删除1个元素,即删除第二个元素。
4、简述javascript的作用域和闭包
js变量的作用域是指:函数内定义的局部变量只在此函数内有效,而全局变量可以全局有效。
闭包的作用就在于能够改变局部变量的作用域,将值保存下来,但是如果使用不当会造成无法回收变量,引起性能问题,甚至崩溃。
5、列举你用过的javascript框架,并简述它们的优缺点
js框架:jQuery EasyUI、ExtJS、Bootstrap、AngularJS等等。
jQuery EasyUI:轻量级web前端ui开发框架,尤其适合MIS系统的界面开发,能够重用jquery插件。
ExtJS:统一的前端UI开发框架,学习难度中等。尤其适合MIS系统的界面开发,开发文档和例子代码都比较完整。缺点是大量的js脚本,降低了运行速度。
Bootstrap:响应式网站开发框架,优点是降低了后端开发人员开发前端页面的难度,统一了界面风格,缺点是界面风格比较单一。
AngularJS:将java后端的优秀特性引入到了js前端,大而全的框架。缺点是学习曲线高,Angular2几乎重写。
6、简述a.Equals(b)和a==b的区别?
Equals方法比较内容(值是否相等),==比较引用地址(是否指向同一个对象)。
——————
更正一下,在Java中上述结论是正确的,但在C#中却正好反过来,即:==比较内容是否相等,Equals先比较值,然后再比较引用。
7、ASP.NET的Application、Session、Cookie、ViewState和Cache等变量的区别是什么?
Application 应用程序级别
Session 会话级别用户跟踪
Cookie 客户端存储少量信息
ViewState 保持ASP.NET控件状态的机制
Cache 缓存
8、列举ASP.NET MVC ActionResult的返回值有几种类型?
主要有View(视图)、PartialView(部分视图)、Content(内容)、Json(Json字符串)、Javascript(js脚本)、File(文件)等几种类型。
9、简述ASP.NET WebApi相对于ASP.NET MVC的优点?
WebApi消息处理管道独立于ASP.NET平台,支持多种寄宿方式。
10、简述ASP.NET请求的生命周期?
用户从 Web 服务器请求应用程序资源->ASP.NET 接收对应用程序的第一个请求->为每个请求创建 ASP.NET 核心对象->将HttpApplication对象分配给请求->由HttpApplication 管线处理请求
refer: https://msdn.microsoft.com/zh-cn/library/ms178473(v=vs.100).aspx
11、ORM中的延迟加载与直接加载有什么异同?
延迟加载(Lazy Loading)只在真正需要进行数据操作的时候再进行加载数据,可以减少不必要的开销。
12、简述Func<T>与Action<T>的区别?
Func<T>是有返回值的委托,Action<T>是没有返回值的委托。
13、开启一个异步线程的几种方式?多线程编程时的注意事项?
APM(Asynchrocous Programming Model,比如:BeginXXX、IAsyncResult)、EAP(Event-Based Asynchronous Pattern,比如:DownloadContentAsync)、TPL(Task Parallel Library,比如:Task.Factory.StartNew)、async/await。
线程饿死、线程死锁、线程同步、线程安全。
14、简述Linq是什么,以及Linq的原理?并编写一个Linq to Object的示例代码
Linq(Language Integrated Query),其中Linq to Object是对Enumberable扩展方法的调用,在执行时会转化为Lambda然后执行。
示例代码:Linq分组统计
var result = from p in list.AsEnumerable()
group p by p.Province into g
select new
{
g.Key,
SumValue = g.Sum(p => p.Value)
};
result.ToList().ForEach((i) =>
{
Console.WriteLine(i.Key + ":" + i.SumValue);
});
15、简述面向对象的特性有哪些?你是如何理解的?
继承(inheritance)、封装(encapsulation)、多态(polymorphism)。
16、列举你所知道的设计模式?你在真实项目中使用过的有哪些?有什么心得?
单例模式、模板方法、工厂模式、外观模式、策略模式等。
17、编写SQL从A表中查出Name字段重复三条以上的记录,并编写SQL删除这些重复记录
查询Name字段记录重复三条以上的记录
select name from A group by name having count(name)>3
删除重复记录
if exists(select * from sysobjects where name = 'tempA')
drop table tempA
select ROW_NUMBER() over (order by name ) as rowid, name into tempA from A select * from tempA --删除重复记录,只保留rowid最小的那一行
delete from tempA where name in
(select name from tempA group by name having count(name)>3)
and rowid not in (select min(rowid) from tempA group by name having count(name)>3) select * from tempA
.NET研发人员面试题(一)的更多相关文章
- .NET研发人员面试题(二)
		
1.当使用new BB()创建BB的实例时,产生什么输出? public class AA { public AA() { PrintFields(); } public virtual void P ...
 - C/C++ 笔试题
		
/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...
 - C/C++程序员应聘试题剖析(转载)
		
转载自:http://www.cnitblog.com/zouzheng/articles/21856.html 1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面 ...
 - C/C++笔试题(很多)
		
微软亚洲技术中心的面试题!!! .进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2 ...
 - (C++) 基本面试题(整理)
		
1.new.delete.malloc.free关系 new/delete是C++的运算符.new 调用构造函数用于动态申请内存,delete调用对象的析构函数,用于释放内存. malloc与free ...
 - 华为C语言笔试题集合
		
①华为笔试题搜集 1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2) 在模块内(但在函数体外),一个被声明为 ...
 - 【转】C/C++程序员应聘常见面试题深入剖析
		
1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵.文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见. 许多面试题看似简单,却需要深厚的基 ...
 - C语言面试题大汇总之华为面试题                            Eddy整理
		
1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局 ...
 - (转)C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析
		
C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析 http://www.nowcoder.com/discuss/1826?type=2&order=0&pos=23&p ...
 
随机推荐
- 2015北京网络赛 A题 The Cats' Feeding Spots 暴力
			
The Cats' Feeding Spots Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acm ...
 - C++中的new与delete总结
			
1. operator new.operator delete与new.delete操作符的区别: operator new的作用类似于malloc,负责分配内存:operator delete的作用 ...
 - Hive权限介绍
			
一.开启权限 眼下hive支持简单的权限管理,默认情况下是不开启.这样全部的用户都具有同样的权限.同一时候也是超级管理员.也就对hive中的全部表都有查看和修改的权利,这样是不符合一般数据仓库的安全原 ...
 - iOS音频篇:AVPlayer的缓存实现
			
授权转载,作者:明仔Su(简书) 在上一篇文章<使用AVPlayer播放网络音乐>介绍了AVPlayer的基本使用,下面介绍如何通过AVAssetResourceLoader实现AVPla ...
 - MySQL 中的两种临时表
			
来源:阿里云RDS - 数据库内核组 链接:http://mysql.taobao.org/monthly/2016/06/07/ 外部临时表 通过CREATE TEMPORARY TABLE 创建的 ...
 - mac中vmware tools进行磁盘压缩和vmware-tools-cli的使用方法
			
前言: 高高兴兴的在vmware9.0中安装了mac10.8系统,然后学习iphone开发,但是发现下载的pdf都是基于xcode3.2.5的,又在10.8上面安装3.2.5,出现“五国”无法解决,最 ...
 - js用斜率判断鼠标进入div的四个方向
			
网上大部分判断鼠标移入div移入移出都是使用一下方法: 这个方法确实十分奇特,使用起来十分方便. 后来自己看了一些文章,看到有另一种以斜率的方法来判断鼠标的移动方向. 上图是此方法的示意图,以浏览器左 ...
 - 关于Patter类和Match类
			
部分引用自: http://developer.51cto.com/art/200906/131761.htm 本文将介绍Java正则表达式中的Pattern类与Matcher类.首先我们要清楚指定为 ...
 - gluster 安装配置基本指南
			
基于网络上的多篇文章,做了一些调整. gluster安装 ### Installing Gluster wget -P /etc/yum.repos.d http://download.gluste ...
 - ASP 生成带日期的随机数
			
<% Function getRnd() '**************************************** '返回值:如getRnd(),即输出2008082415534646 ...