当前位置:好文网>职场指南>笔试>.net笔试题

.net笔试题

时间:2024-09-29 10:23:10 飞宇 笔试 我要投稿
  • 相关推荐

.net笔试题

  在平时的学习、工作中,我们都要用到试题,借助试题可以为主办方提供考生某方面的知识或技能状况的信息。大家知道什么样的试题才是好试题吗?下面是小编为大家收集的net笔试题,仅供参考,大家一起来看看吧。

.net笔试题

  .net笔试题 1

  今天去一家公司笔试,主要是.net方向的,拿出来做个总结

  1 .net读取数据库用到哪些类

  DataSet: 数据存储器。

  DataCommand: 执行语句命令。

  DataAdapter: 数据的集合,用语填充。

  2 是否可以继承string类

  String类是final类故不可以继承。

  3 remoting 和 webservice

  1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTp,则与Web Service就没有什么区别了,一般都喜欢定义为TCp,这样比Web Service稍为高效一些。

  2、Remoting不是标准,而Web Service是标准。

  3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要IIS进行启动。

  4、在VS.net开发环境中,专门对Web Service的调用进行了封装,用起来比Remoting方便。

  我建议还是采用Web Service好些,对于开发来说更容易控制。Remoting一般用在C/S的系统中,Web Service是用在B/S系统中,后者还是各语言的通用接口,相同之处就是都基于XML。

  为了能清楚地描述Web Service 和Remoting之间得区别,我打算从他们的体系结构上来说起:

  Web Service大体上分为5个层次:

  1. HTTp 传输信道

  2. XML 数据格式

  3. SOAp 封装格式

  4. WSDL 描述方式

  5. UDDI 体系框架

  总体上来讲,.NET 下的 Web Service结构比较简单,也比较容易理解和应用,一般来讲在.NET结构下的WebService应用都是基于.net framework以及IIS的架构之下,所以部署(Dispose)起来相对比较容易点。

  从实现的角度来讲,首先WebService必须把暴露给客户端的方法所在的类继承于:System.Web.Services.WebService这个基类;其次所暴露的方法前面必须有[WebMethod]或者[WebMethodAttribute] 。

  WebService的运行机理。首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(proxy Class)

  这个代理类负责与WebService服务器进行Request 和Response,当一个数据(XML格式的)被封装成SOAp格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAp包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAp包装,然后把这个包作为一个Response发送给客户端的代理类(proxy Class),同样地,这个代理类也对这个SOAp包进行解析处理,继而进行后续操作。这就是WebService的一个运行过程。

  下面对.NET Remoting进行概括的阐述:

  .NET Remoting 是在DCOM等基础上发展起来的一种技术,它的主要目的是实现跨平台、跨语言、穿透企业防火墙,这也是他的基本特点,与WebService有所不同的.是,它支持HTTp以及TCp信道,而且它不仅能传输XML格式的SOAp包,也可以传输传统意义上的二进制流,这使得它变得效率更高也更加灵活。而且它不依赖于IIS,用户可以自己开发(Development)并部署(Dispose)自己喜欢的宿主服务器,所以从这些方面上来讲WebService其实上是.NET Remoting的一种特例。

  1、Remoting 是MarshByReference的,可以传变量的引用,直接对服务器对象操作。速度快,适合Intranet(企业内部互联网)。WebService 是MarshByValue的,必须传对象的值。速度慢,可以过FIREWALL,配置比较简单,适合Internet(因特网)。

  2、 一般来说,Remoting是和平台相关的,需要客户和服务器都是.NET,但可配置特性比较好,可以自定义协议。WebService可以做到跨平台通信,但必须采用SOAp协议。

  3、 SOAp消息有RpC和文档两种样式。 文档样式的body元素中包含一个或多个元素,可以是任何内容,只要接受者理解就行了。rpc样式的的body元素中包含调用的方法或远程过程的名称,以及代表方法参数的元素。

  4 .net中读写XML的类归属命名空间

  任何类型的项目都可以通过System.XML命名空间进行XML处理

  使用System.Xml命名空间中的XmlDocument类来操作xml的数据

  5 装箱和拆箱

  装箱:将值类型转换为引用类型。

  拆箱:将引用类型转换为值类型。

  6 asp.net身份验证有哪些

  Asp.net的身份验证有有三种,分别是"Windows | Forms | passport",

  passport由 Microsoft 提供的集中身份验证服务,用于为成员站点提供单一登录和核心配置服务。

  Windows 身份验证 ASp.NET 会结合 Internet 信息服务 (IIS) 身份验证使用 Windows 身份验证

  Forms 身份验证 通过其可将没有通过身份验证的请求重定向到使用 HTTp 客户端重定向的 HTML 窗体的系统

  7 asp.net页面之间传值的几种方式

  ASp.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer方法来实现。

  8 ASp.NET页面跳转的几种方法

  标签 1.2.这是最常见的一种转向方法; HyperLink控件 1.Asp.net 服务器端控件 属性NavigateUrl指定要跳转到的Url地址 2.NavigateUrl是可以在服务器端使用代码修改,这个区别于 3.由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl 4.代码示例 ok Response.Redirect()方法 1.过程:发送一个Http响应到客户端,通知客户端跳转到一个新的页面,然后客户端再发送跳转请求到服务器端。 2.页面跳转之后内部控件保存的所有信息丢失,当A跳转到B,B页面将不能访问A页面提交的数据信息。 3.使用这个方法使用这个方法跳转后浏览器地址栏的Url信息改变 4.可以使用Session Cookies Application等对象进行页面间的数据传递 5.重定向操作发生在客户端,总共涉及到两次与Web服务器的通信:一次是对原始页面的请求,另一次是重定向新页面的请求

  Server.Transfer()方法 1.实现页面跳转的同时将页面的控制权进行移交 2.页面跳转过程中Request Session等保存的信息不变,跳转之后可以使用上一个页面提交的数据 3.跳转之后浏览器地址栏的Url不变 4.这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转 Server.Execute()方法 1.该方法允许当前页面执行同一个Web服务器上的另一个页面 2.页面执行完毕之后重新回到原始页面发出Server.Execute()的位置。 3.这种方式类似针对页面的一次函数调用 被请求的页面可以使用原始页面的表单数据和查询字符串集合 4.被调用页面的page指令的EnableViewStateMac属性设置为False

  .net笔试题 2

  一、试题

  1.说说什么是架构模式。

  2.架构的5大要素是哪5大要素?

  3.说说什么事集群,什么是分布式。

  4.说说对Redis的理解

  5.你所了解的NoSql除了Redis还有哪些?

  6.谈谈对消息队列的理解

  7.说说你对数据库读写分离的理解

  8.如果你的系统功能中出现性能问题,说说你的排查计划。

  9.请列出常见的缓存方式,并简要概述其优缺点。

  10.谈谈对通信加密解密的理解。

  11.CTS、CLS、CLR分别作何解释?

  12.PDB是什么东西? 在调试中它应该放在哪里?

  13.C#中Params是什么含义?有何用途?

  14.说说对http 301、302、303,304、400、405、415状态码的认识;

  15.请使用C#的相关知识,封装一个泛型的数据库访问查询方法;

  16.什么是异步编程?

  17.架构模式(Architectural Pattern) 设计模式(Design Pattern) 代码模式(Coding Pattern)的区别是什么?

  18.软件架构的目标是什么?

  19.什么是迪米特法则?

  20.解释一下里氏替换原则?

  21.什么是依赖倒转IOC原则?

  22.为何说基于 SOAP 的服务是重量级的服务,Rest是轻量级的?

  23.基于REST 和基于SOAP的服务的区别是什么?

  24.工厂模式,简单工厂模式,抽象工厂模式三者有什么区别

  25.Session有什么重大BUG,微软提出了什么方法加以解决?

  26.NET下内存分配机制是什么?

  27.如何提高.NET的性能 ?

  28.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?

  29.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?

  30.一张长方形的桌面上放n个一样大小的圆形硬币。这些硬币中可能有一些不完全在桌面内,也可能有一些彼此重叠;当再多放一个硬币而它的圆心在桌面内时,新放的硬币便必定与原先某些硬币重叠。请证明整个桌面可以用4n个硬币完全覆盖

  31.三名传教士和三个野蛮人同在一个小河渡口,渡口上只有一条可容两人的小船。问题的目标是要用这条小船把这六个人全部渡到对岸去,条件是在渡河的过程中,河两岸随时都保持传教士人数不少于野蛮人的人数,否则野蛮人会把处于少数的传教士吃掉。这六个人怎样才能安全渡过去?

  二、答案:

  1.说说什么是架构模式。

  1)分层。2)分割。

  分层是对网站进行横向的切分,那么分割就是对网站进行纵向的切分。将网站按照不同业务分割成小应用,可以有效控制网站的复杂程度。3)分布式。在大型网站中,分层和分割后主要是为了让网站能够便于分布式部署,也就是将不同的模块部署到不同的服务器上。常用的分布式方案有如下几种。3).1 分布式应用和服务。3).2 分布式静态资源。3).3 分布式数据和存储 3).4 分布式计算。3).5 此外还有分布式配置,分布式锁,分布式文件系统等。

  4)集群。

  分布式方案只是将不同的模块或服务独立部署到服务器上,但通常还是单台服务器。集群则是将同一个模块或服务同时部署到多台服务器上,通过负载均衡设备对外提供服务。

  5)缓存。

  常用的缓存有如下几种,CDN,反向代理,本地缓存,分布式缓存。

  6)异步。

  异步一般通过队列的方式来实现。在单一服务器中,可以通过多线程共享内存队列实现异步。在分布式系统中,可以通过分布式消息队列实现。异步有一些作用,描述如下。6).1,提高系统可用性。6).2,加快网站响应速度。6).3,消除并发访问高峰。

  7)冗余 冗余的目的是实现高可用性。是通过使用集群来实现的。即使是再小的服务,也要部署到至少2台服务器上。数据库的冗余有冷备份和热备份两种。冗余还包括在异地建立灾备数据中心。

  8,自动化 自动化包括自动化代码管理,自动化部署,自动化测试,自动化安全检查等。

  9,安全 安全主要通过哦密码和手机验证码的方式实现。

  2.架构的'5大要素是哪5大要素?

  1.高性能架构 2.高可用架构 3.伸缩性架构 4.可扩展架构 5.安全架构

  3.说说什么事集群,什么是分布式。

  集群: 多台服务器来完成业务处理,业务请求来了以后,每一台服务器都能独立的完成业务计算;每个服务器都是独立的个体;多台服务器集合起来,通常也需要做负载均衡;分布式:多台服务器完成业务处理,也去请求来了以后,需要多个服务器合作来完成,比方说一个业务处理有5个环节,可能在处理的时候,A服务器处理第一个环节,B服务器处理第二个化解,C服务器处理第三个环节,D服务器处理第四个环节,E服务器来处理第五个环节;一个业务请求的5个环节,被五台服务器来合作完成了一个业务连,此类架构叫分布式架构;

  4.说说对Redis的理解

  Redis是一种基于键值对的NoSQL数据库(非关系型数据库);是一个key-value存储系统Redis有两个特点:高能性 可靠性 高能性:Redis将所有数据都存储在内存中,所有读写性特别高 可靠性:Redis将内存中的数据利用RDB和AOF的形式保存到硬盘中,这样就可以避免发生断点或机器故 障时内存数据丢失的问题 功能应用:1.数据缓存功能,减少对数据库的访问压力 2.消息队列功能(轻量级): Redis提供了发布订阅功能和阻塞队列功能 3.计数器-应用保存用户凭证 比如计算浏览数,如果每次操作都要做数据库的对应更新操作,那将会给数据库的性能带来极大的挑战 缓存:优化网站性能,首页 (不常变的信息) 存储:单点登录,购物车 计数器:登录次数限制,incr 时效性:验证码expire 订单号:数字

  redis有哪些应用场景场景?

  1.缓存数据服务器

  eg: SSO单点登录

  2.应对高速读写的场景

  eg: 秒杀高可用

  3.分布式锁

  eg: 秒杀数据一致性

  4.数据共享

  eg: 库存数据

  5.你所了解的NoSql除了Redis还有哪些?

  Memcache/MongoDb

  6.谈谈对消息队列的理解

  对于传统的应用程序,如果需要向另一个应用程序发送信息,只需要向其发出请求即可!这种方式虽然简单直接,但是如果应用程序2突然挂了,应用程序1可能会因为服务异常,而无法继续提供服务!

  设想一下,在应用程序1和应用程序2之间,插入一个消息服务,主要用于接受消息和发送消息,这样应用程序1和应用程序2之间的依赖关系就解耦了,同时也不会因为任何一方当服务不可用时,无法继续提供服务!其中插入的消息服务被称为消息队列!

  消息队列带来的优势:

  1.程序解耦:应用程序1和应用程序2在进行交互时,不会因为一方服务中断而导致服务停止;

  2.异步处理:程序解耦之后,带来的最大的好处就是可以异步处理,应用程序1只管把消息发送到消息中间件,应用程序2只需要从消息中间件中接受消息然后进行处理即可;同时,基于异步处理特性,在某些业务场景下,例如商品秒杀活动,引入消息队列之后,当客户端请求量很大的时候,可以有效的进行流量削峰!如果没有中间层做缓冲,当进行商品秒杀时,一下突然大量请求涌入,很可能造成系统直接瘫痪,甚至宕机!消息队列也会带来很明显的弊端:

  1.系统可用性降低:在引入消息队列之前,你不用考虑消息丢失或者消息队列服务挂掉等等的情况,但是引入消息队列之后你就需要去考虑这些问题!

  2.系统复杂性提高:加入消息队列之后,你需要保证消息没有被重复消费、处理消息没有被正确处理的情况等等问题!

  引入消息队列虽然会带来一些问题,俗话说,兵来将挡、水来土掩,这句话同样适用于 IT 开发者,有坑填坑!

  对于系统可用性降低方面,通常常用的解决方案就是搭建消息服务集群,具体技术实现上可以是主从架构或者分布式架构,即时一台消息队列服务机器挂了,也不会影响消息队列无法提供服务!

  对于系统复杂性提高方面,常用的解决方案也很多,例如接受者接受到消息之后,可以先将消息写入数据库,即时没有被正确处理,还可以走人工处理,或者消息消费失败,将消息重新入队等待下一次消费等等。

  7.说说你对数据库读写分离的理解

【.net笔试题】相关文章:

net笔试题01-20

12580笔试题01-20

360笔试题01-20

笔试-CRI 2010笔试题01-19

net面试常见问题01-17

大班笔的教案12-22

笔的世界教学反思02-19

笔试题06-10

五矿笔试题专业笔试题01-19