草庐IT

2 .NET Core笔试题

郑大勇 2023-03-28 原文

1.说说在Linux系统部署ASP.NET Core项目的步骤。
2.说说热重载是什么。
3.如何理解鉴权和授权两个词
4.说说.NET7包含了几大方向的开发?
5.如何理解云原生?
6.ASP.NET Core应用程序部署IIS,需要准备什么?
7.如何理解MVC5的管道和ASP.NET Core的管道?
8.在ASP.NET Core设计中,为什么要把把ResourceFilter放在授权Filter之后,而在其他Filter之前。
9.说说优化Core WebApi性能的常见方案
10.如何理解MAUI?
11.如何在ASP.NET Core中激活Session功能?
12.什么是中间件?
13.Applicationbuilder的Use和Run方法有什么区别?
14.什么是ASP.NET Core里面的taghelper


1.说说在Linux系统部署ASP.NET Core项目的步骤。

a. 准备Linux系统
b.安装ASP.NET Core 的运行时环境(类似于人类生存需要空气和水,那么ASP.NET Core程序运行也需要符合它运行的的环境)
c.发布ASP.NET Core 项目(可以直接发布到Linux上去,也可以发布成文件系统,然后上传)
d.上传到Linux系统
e. 进入到发布程序的根目录,执行命令:
dotnet run --urls=http://Linux系统的Ip:端口号 


2.说说热重载是什么。

热重载由“编辑并继续”,在不需要停止在代码断点或者重启应用程序的情况下,就可以对代码进行修 改,并可以立即看到代码修改的效果。修改代码后,点击Vs 上的红色火苗按钮即可。

3.如何理解鉴权和授权两个词。

鉴权:确定来来访者是谁,解析来访者携带的信息,记录来访着的信息;
授权:鉴权以后,通过来访者的信息内容来分辨是否允许本次返回本次要访问的资源;如果在鉴权步骤 没有解析到用户信息,在授权阶段就会返回401,如果解析到了用户信息,在授权阶段通过用户信息来 判断的时候。用户不具备访问资源的权限,返回403.

4.说说.NET7包含了几大方向的开发?

共8大方向:
  • WEB:网站开发
  • Mobile:手机端开发
  • Desktop:桌面开发
  • Microservices:微服务
  • Cloud:云原生开发
  • Machin Learning:人工智能
  • Game Development:游戏开发
  • Internet of Things:物联网开发

5.如何理解云原生?

云原生最大的价值和愿景,就是认为未来的软件,会从诞生起就生长在云服务器上,并且遵循一种新的软件开发、发布和运维模式,从而使得软件能够最大化地发挥云的能力。
  • 第一部分是云应用定义与开发流程。这包括应用定义与镜像制作、配置 CI/CD、消息和 Streaming 以及数据库等。
  • 第二部分是云应用的编排与管理流程。这也是 Kubernetes 比较关注的一部分,包括了应用编排与调 度、服务发现治理、远程调用、API 网关以及 Service Mesh。
  • 第三部分是监控与可观测性。这部分所强调的是云上应用如何进行监控、日志收集、Tracing 以及在云 上如何实现破坏性测试,也就是混沌工程的概念。
  • 第四部分就是云原生的底层技术,比如容器运行时、云原生存储技术、云原生网络技术等。
  • 第五部分是云原生工具集,在前面的这些核心技术点之上,还有很多配套的生态或者周边的工具需要使 用,比如流程自动化与配置管理、容器镜像仓库、云原生安全技术以及云端密码管理等。
最后则是 Serverless。Serverless 是一种 PaaS 的特殊形态,它定义了一种更为“极端抽象”的应用编写方 式,包含了 FaaS 和 BaaS 这样的概念。而无论是 FaaS 还是 BaaS,其最为典型的特点就是按实际使用 计费(Pay as you go),因此 Serverless 计费也是重要的知识和概念

6.ASP.NET Core应用程序部署IIS,需要准备什么?

需要安装AspNetCoreMoudleV2

7.如何理解MVC5的管道和ASP.NET Core的管道?

在.NET Framework中MVC的管道是通过事件驱动,观察者模式来完成。在HttpContext处理的过程中, 定义好事件,然后通过给事件注册行为;请求来了以后,执行事件,从而执行行为,达到扩展目的;

在ASP.NET Core中,管道是通过委托来完成的,通过委托的多层嵌套装配,形成一个俄罗斯套娃;请求
来了以后,穿过整个俄罗斯套娃的全部过程;


8.在ASP.NET Core设计中,为什么要把把ResourceFilter放在授权Filter之后,而在其他Filter之前。

ResourceFilter是用来做缓存的,请求来了以后,如果能取出缓存,也必须是在授权桌,有权限才能取 数据;也是ResourceFilter是用来做缓存的,如果有缓存,授权后就可以直接取缓存,就没有必要再去 执行其他的逻辑;如果放在其他Filter之后,在执行了其他的Filter后取缓存,那么其他的Filter执行就没 有价值了。

9. 说说优化Core WebApi性能的常见方案

缓存
压缩

10.如何理解MAUI?

.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于创建使用 C# 和 XAML 的本机移动和桌面应 用。 .NET多平台应用 UI( .NETMAUI) 使你可以使用面向 Android、iOS、macOS、Windows 和 Tizen 的移动 和桌面外形规格的 .NET 跨平台 UI 工具包生成本机应用

11.如何在ASP.NET Core中激活Session功能?

首先要添加session包. 其次要在configservice方法里面添加session。然后又在configure方法里面调用 usesession。

12.什么是中间件?

中间件在这里是指注入到应用中处理请求和响应的组件。是通过多个委托来嵌套形成的一个俄罗斯套 娃!

13.Applicationbuilder的Use和Run方法有什么区别?

这两个方法都在StartUp 类的configure方法里面调用。都是用来向应用请求管道里面添加中间件的。 Use方法可以调用下一个中间件的添加,而run不会。run是终结式的;
publicvoidConfigure(IApplicationBuilder app, IHostingEnvironment env)
{   //可以看到通过匿名函数实现的中间件是内嵌在启动类文件中的,因此通常也叫做内联中间件。
    app.Use(async(context, next) =>
    {
        awaitcontext.Response.WriteAsync("One Holle Word 1!\r\n");
        awaitnext; //传递到下一个中间件,而不是先执行下面的 
        awaitcontext.Response.WriteAsync("One Holle Word 2!\r\n");
    });
    app.Run(async(context) =>
    {
        awaitcontext.Response.WriteAsync("Two Holle Word 1!\r\n");
        awaitcontext.Response.WriteAsync("Two Holle Word 2!\r\n");
    });
}

14.什么是ASP.NET Core里面的taghelper ?

Taghelper用来在服务器端使用Razor视图引擎创建Html元素的。

有关2 .NET Core笔试题的更多相关文章

  1. JS笔试题 - 2

    二升三笔试(老田)一.数组扁平化(将一个多维数组变为一个一维数组。例如,将数组[1,2,[3,[4,5]],[6,7]]扁平化处理后输出[1,2,3,4,5,6,7];)functiongetArray(arr){letres=[];for(leti=0;i 二.合并有序数组给定两个从小到大排好序的数组,亲,请你把它两个合并成新的数组,合并后的结果依然有序。如:给定数组:[1,3,7,15,20]和数组:[-5,0,2,8,9,12]。那么结果是:[-5,0,1,2,3,7,8,9,12,15,20]functionmergeSortedArrays(arr1,arr2){varmergedA

  2. 盘点6个.NetCore+Vue前后端分离的开源项目 - 2

    今天我们一起梳理下6个,比较受到大家欢迎的.NetCore+Vue前后端分离的开源项目。1、Vol.NetCore构建的简单、跨平台快速开发框架项目简介这是一个基于.NetCore构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;框架集成了表单、表格、图表等各种常用的Demo方便直接使用;后端框架支持Vue2、Vue3。技术架构1、跨平台:这是基于.NetCore开发的系统,可以部署在Docker,Windows,Linux,Mac。2、数据库支持:MicrosoftSQLServer,PostgreSQL

  3. 【Java牛客&力扣刷题特辑第五期】——诸佬们这些坑你们都踩过了吗?牛客网经典笔试题目每天刷两道,快乐充实一整天 - 2

    ✨✨【Java牛客&力扣刷题特辑第五期】——诸佬们这些坑你们都踩过了吗?✔✨前言🎉🎉大家好!好久不见我是青花瓷,今天你刷题了吗?文章目录,从易到难,层层递进,如果每一道题都吃透,你一定会在做题方面有质的飞跃,关注我,一起学习算法,一起分享好的题型。博主将持续更新算法,大厂笔试题,经典算法题,易错题,如果觉得不错,点点赞支持一下,如果有错误的地方,欢迎指正✨✨下一期:算法篇之回溯算法作者介绍:🎓作者:偷偷敲代码的青花瓷✨👀作者的Gitee:代码仓库📌系列文章推荐:✨1.Java牛客&力扣刷题特辑第一期✨2.Java牛客&力扣刷题特辑第二期✨3.Java牛客&力扣刷题特辑第三期✨4.Java牛客&

  4. c# - .NETCore 4.5.1 中是否缺少 GetTypeInfo? - 2

    我尝试将嵌入式资源(Windows8.1商店应用程序中的字体文件)作为字节流读取,但问题是对资源文件的访问。我经常用typeof(Type).GetTypeInfo.Assembly.GetMainfestResourceStream(...)但是.NETCorev.4.5.1的System.Reflection.Type中的方法GetTypeInfo()不存在。是否缺少Lib-Reference?我有点困惑^^ 最佳答案 Itisanextensionmethod,addingusingSystem.Reflection;isre

  5. c# - 替换 NetCore 1.0 中的 Array.ConvertAll - 2

    我当前的代码正在使用Array.ConvertAll,我需要将其迁移到netcore1.0。如何将其迁移到NetCore中工作。我们可以使用带有自定义转换代码的foreach语句来处理转换吗?但我不知道该怎么做。感谢任何帮助。 最佳答案 代替int[]array1=...string[]array2=Array.ConvertAll(array1,element=>element.ToString());您可以使用Linq:int[]array1=...string[]array2=array1.Select(element=>el

  6. c# - 如何修复 'Microsoft.NETCore.App' ,找不到版本 '1.1.2'? - 2

    我在尝试运行单元测试时看到此错误:Testhostprocessexitedwitherror:ItwasnotpossibletofindanycompatibleframeworkversionThespecifiedframework'Microsoft.NETCore.App',version'1.1.2'wasnotfound.-Checkapplicationdependenciesandtargetaframeworkversioninstalledat:\-Alternatively,installtheframeworkversion'1.1.2'.如何解决?

  7. c# - NETSDK1061 : The project was restored using Microsoft. NETCore.App 版本1.0.0,但使用当前设置,将使用版本2.0.9 - 2

    我正在开发移动应用程序并使用MSAppCenterforCI。昨天,单元测试项目未能在AppCenter中构建,出现以下错误。我无法在任何开发人员机器上重现该问题,此错误仅发生在AppCenter中。error:NETSDK1061:TheprojectwasrestoredusingMicrosoft.NETCore.Appversion1.0.0,butwithcurrentsettings,version2.0.9wouldbeusedinstead.Toresolvethisissue,makesurethesamesettingsareusedforrestoreandfor

  8. YY-测试实习生笔试+面试复盘 - 2

    YY-测试实习生笔试+面试复盘笔试题都挺基础的,基本都写出来了,好好准备可以过的。因为疫情所以是线上的,在牛客上笔试有摄像头。一、笔试题单选题:如下哪些测试场景不属于负载压力测试()A.疲劳强度测试B.恢复测试C.大数据量测试D.并发性能测试填空题:1请写出二进制数10111101对应的八进制、十六进制、十进制。2数据库DB有两张表,一张学生信息表Student,有No(学号),Name(姓名),Sex(性别),Birth(生日),Dept(院系)四个字段;一张课程表Class,有No(学号),Class(课程),Score(分数)三个字段1)请写一条sql查询语句,查找性别为“女”且学号大于

  9. 华为机试(6.17笔试题解析) - 2

    华为机试一共三道题,分值分别是100,100,200,满分400分,限时2.5小时。我抽到的这三题相对来说比较简单,满分通过,这里做个总结:第一题:数据分类■ 题目描述 对一个数据a进行分类,分类方法为:此数据a(四个字节大小)的四个字节相加对一个给定的值b取模,如果得到的结果小于一个给定的值c,则数据a为有效类型,其类型为取模的值;如果得到的结果大于或者等于c,则数据a为无效类型。比如一个数据a=0x01010101,b=3,按照分类方法计算(0x01+0x01+0x01+0x01)%3=1,所以如果c=2,则此a为有效类型,其类型为1,如果c=1,则此a为无效类型;又如一个数据a=0x01

  10. IC 笔试真题之吾见——华为实习(1) - 2

    前言今天(20220407)刚建立了一个专栏《IC真题之吾见》,准备记录一些IC真题的见解,为以后找工作做一点准备。刷题绝不是目的,以题代练,以题代学。题目来自师兄申请华为实习“设计”岗位的笔试真题。见解大部分来自自己学习的理解,也有部分超纲知识是网络检索得到,希望可以多多在评论区留言交流,共同进步!有问题的地方也希望可以直接批评指正!后面也会同步更新此专栏!建议PC端或Pad端查看!1、下列有关时序分析的描述正确的是()A.recovery时间,是指异步控制信号在有效时钟沿到达之后必须保持稳定的时间B.时钟信号的建立时间裕度的计算方法是基于数据的到达时间和数据的需要时间C.下面的公式用来计算

随机推荐