网络知识 娱乐 2022 .net部分面试题

2022 .net部分面试题

1.sqlserver和orcal的区别
答:语法不一样,Mysql是最流行的关系型数据库管理系统,SQLServer主要用于用于存储和检索数据;
它可以面向数据库执行查询,存储和检索数据,更新数据库中的数据,可以通过SQL语句从数据库写入或者是取回数据等。
SQL Server数据库的特点(1)可信任性(2)高效性(3)智能性。
2.什么是数据库读写分离
答:数据库读和写分开读取,写入数据库需要同步读取数据库数据,不是实时性,但分开后后提升性能。
索引的含义,
答:索引加快查询速度,但会降低写入速度;
3.vue父传子,子传父参数如何传递
父向子传值props,子传父emit
4.如何处理高并发
通过消息队列;通过redis缓存数据库;加锁;负载均衡;读写分离;分布式部署;
5.多线程如何同步,同时执行,按照顺序结束
countDownLatch.await();或传参
6.事务有哪些特性和含义
答:原子性:不成功便成仁;
一致性:对数据的一组特定陈述必须始终成立;
隔离性:事物并发的隔离;
持久性:数据改变持久性;
7.什么是委托
委托是一种动态调用方法的类型,可以将方法作为参数进行传递
8.redis是单线程还是多线程,如何使redis和数据库数据同步
答:4.0之前单线程,之后多线程;先删除缓存,后更新数据库(数据库同步redis)
9.sql优化技巧
答:查必需字段;在表中建立索引,优先考虑where、group by使用到的字段;
尽量避免使用in 和not in和or,会导致数据库引擎放弃索引进行全表扫描
10.数据库分库分表

11.vue执行的生命周期
答:created-mounted-updated-destroyed
12.net core用啥关键字注入服务
答:AddScoped:同一个Scoped只创建一个实例;
、AddTransient:每次请求都获得一个实例
、AddSingleton:每次获取同一个实例
13.jquery和vue的区别
答:前者频繁操作dom,后者采取数据双向绑定的形式,无需操作dom

14.ado.net操作数据库的关键字
答:Connection建立和数据库的连接
Command执行命令
DataReader读取只读只进的数据流
DataSet将数据读进内存中
DataAdapter数据适配器,建立数据库和数据集之间的关系

15.orm框架和ef的区别
答:ORM是一种思想,而EF是实现这种思想的一种框架。将表实体的变化,通过ORM框架映射到数据库表的变化。即在代码中所添加的实体,可以通过EF框架映射到数据库表中
16.什么是装箱和拆箱
答:装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型 ;如 int a=2;object b=a;这个就是装箱。int c=b.intValue();这个是拆箱
17.ref和out的区别
答:ref需要初始化值,out不需要,但在函数中需要初始化,ref会改变实际值,out则不会

18.什么是消息队列?消息队列会产生哪些问题?如何解决?
消息队列是为了处理高并发,大峰值请求;通过将请求加入队列中,可以使服务器最大限度处理请求不至于挂掉,同时还可以及时给予用户反馈,RocketMQ 
19.空字符串和null的区别,==和===的区别
答:null 没有创建内存空间,""中存放的是空引用指针,string.Empty就相当于""

20.什么是js闭包
答:闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。闭包的缺点就是常驻内存,会增大内存使用量,使用不当很容易造成内存泄露
21.什么是sql注入,如何预防
答:sql注入是通过用户提交数据加上sql字符,达到操作数据库的目的,通过验证过滤特殊sql字符达到预防。

22.asp.net生命周期
页请求

页请求发生在页生命周期开始之前。用户请求页时,ASP.NET 将确定是否需要分析和编译页(从而开始页的生命周期),或者是否可以在不运行页的情况下发送页的缓存版本以进行响应。

开始

在开始阶段,将设置页属性,如 Request 和 Response。在此阶段,页还将确定请求是回发请求还是新请求,并设置 IsPostBack 属性。此外,在开始阶段期间,还将设置页的 UICulture 属性。

页初始化

页初始化期间,可以使用页中的控件,并将设置每个控件的 UniqueID 属性。此外,任何主题都将应用于页。如果当前请求是回发请求,则回发数据尚未加载,并且控件属性值尚未还原为视图状态中的值。

加载

加载期间,如果当前请求是回发请求,则将使用从视图状态和控件状态恢复的信息加载控件属性。

验证

在验证期间,将调用所有验证程序控件的 Validate 方法,此方法将设置各个验证程序控件和页的 IsValid 属性。

回发事件处理

如果请求是回发请求,则将调用所有事件处理程序。

呈现

在呈现之前,会针对该页和所有控件保存视图状态。在呈现阶段中,页会针对每个控件调用 Render 方法,它会提供一个文本编写器,用于将控件的输出写入页的 Response 属性的 OutputStream 中。

卸载

完全呈现页并已将页发送至客户端、准备丢弃该页后,将调用卸载。此时,将卸载页属性(如 Response 和 Request)并执行清

23.当遇到问题,你是如何解决的
答:谷歌、技术文档、博客、B站视频、同事、github源码

24.下班后做啥,有啥兴趣爱好
答:自我发挥