.NET面试题20道

1、 switch的break作用:

如果加了break,则break的作用是在相应的位置跳出整个循环:

2、Sting和 StringBuilder的区别:

 String 对象是不可改变,空间不足时需要为该新对象分配新的空间,对字符串进行操作,每次拼接都会构建一个新的String对象,既耗时又浪费内存

 StringBuilder 对象是动态对象,当达到容量时,将自动分配新的空间且容量翻倍

3丶class和struct的区别:

struct:值类型,不能被继承,默认的访问权限是public

class:引用类型,可以被继承,可以实例化,默认的访问权限是private.

4、c++和c#的区别:

C++支持多继承,C#类只能继承一个基类中的实现但可以实现多个接口

5、冒泡排序的时间复杂度和空间复杂度:

时间复杂度为:O( n^2 );

最优的空间复杂度就是开始元素顺序已经排好了,则空间复杂度为:0;

最差的空间复杂度就是开始元素逆序排序了,则空间复杂度为:O(n);

6、事务:

事务是用户定义的一系列执行SQL语句的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。

      (1)原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

      (2)一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。

      (3)隔离性:如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,  必须串行化或序列化请 求,使得在同一时间仅有一个请求用于同一数据。

      (4)持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

7、索引,视图,存储过程:

 索引:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

视图:也被称作虚表;视图中不存放数据,数据依然存放在视图引用的原始数据表中;视图仅仅用来查询,视图不占实际空间

存储过程:存储过程可以用来增删改查;存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。

8、面向对象的三大特性:

封装;在于保护或者防止代码(数据)被我们无意中破坏

继承:继承主要实现重用代码,节省开发时间

多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。重载(overload)和重写(override)是实现多态的两种主要方式。

9、进程和线程:

进程:是并发执行的程序在执行过程中分配和管理资源的基本单位

线程:是进程的一个执行单元,比进程更小的独立运行的基本单位,提高并发性,开销少,效率高,切换速度快,共享进程资源;

10、GC垃圾回收机制:

判定引用类型对象或者其包含的子对象没有任何引用是有效的,那么系统就认为它是垃圾

Using {}里面的代码执行完成后,会自动调用对象的 Dispose()方法。

11、值类型和引用类型:

值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用;

值类型:byte,short,int,long,float,double,decimal,char,bool 和 struct;值类型变量声明后,不管是否已经赋值,编译器为其分配内存

引用类型:string 和 class;

当声明一个类时,并没有为其分配堆上的内存空间,当使用 new 创建一个类的实例时,分配堆上的空间。

12、装箱和拆箱:

装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型。

object类型是一切类型的父类。


 13、重写和重载:

重写:当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致

重载:一个类中的方法与另一个方法同名,但是参数列表或参数类型不同,类型可以不同。

14、ASP.NET中页面传值的几种方式:

QueryString、Session、Cookie、Application、Server.Transfer
15、对面向对象的理解:

面向对象是一种以事物为中心的编程思想。

16、abstract,New

抽象类不能实例化。只允许在抽象类中使用抽象方法声明。在抽象方法声明中使用 static 或 virtual 修饰符是错误的;因为抽象方法声明不提供实际的实现,所以没有方法体;

New创建类型的新实例

17、static、virtual

virtual只能在基类中使用,且可以方法里面实现;且abstract和virtual只能写一个;

static:静态的,不变的,在一个类中只有一个,一个方法前加上static修饰后要对其进行调用可以直接通过类名点出来,不用再对类进行实例化。且abstract和static只能写一个;

18、JavaScript有哪几种基本数据类型?

五种基本数据类型:undefined、null、boolean、 number、string;另外还含有一种复杂的数据类型:object.

19、 在c#中“==”和equals 的区别?

对于值类型而言,==与Equals相同,均是判断其值是否相等。

对于引用类型而言,其栈中存储的是对象的地址,那么==就是比较两个地址是否相等,即是否指向同一个对象;Equals函数则是比较两个对象在堆中的数据是否一样,即两个引用类型是否是对同一个对象的引用。

20、 Redis支持哪些数据类型?

string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:进程等待究竟是什么?如何解决子进程僵尸所带来的内存泄漏问题?

Linux:进程等待究竟是什么?如何解决子进程僵尸所带来的内存泄漏问题? 一、进程等待的概念二、进程等待存在的意义三、如何进行进程等待3.1 wait()是实现进程等待1、wait()原型2. 验证wait()能回收僵尸子进程的空间 3.2 waitpid()实现进程等待…

Kali Linux汉化教程

以下是Kali Linux的汉化教程: 打开终端,并切换为root用户。可以使用命令“sudo su root”来切换到root用户。 更新源。使用命令“apt-get update”来更新系统的软件包列表。 安装中文字体。可以使用命令“apt install ttf-wqy-zenhei”来安装中文字体。…

560.和为K的子数组

560.和为K的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入&#xf…

Vue3:优化-从响应式数据中获取纯数据

一、情景说明 我们知道,Vue3中,创建变量时,常用ref、reactive来包裹,这样,这个变量就是响应式数据 然而,有时候,我们只需要纯数据 例如,我们在调用后端接口的时候,我们只…

Win10 下 git error unable to create file Invalid argument 踩坑实录

原始解决方案参看:https://stackoverflow.com/questions/26097568/git-pull-error-unable-to-create-file-invalid-argument 本问题解决于 2024-02-18,使用 git 版本 2.28.0.windows.1 解决方案 看 Git 抛出的出错的具体信息,比如如下都来自…

GPU的了解

3D动画揭秘显卡的GPU是如何工作的_哔哩哔哩_bilibili 位于显卡中。 与CPU区别: 100名小学生和1位数学博士 做100道非常简单的算术题,小朋友一个人一道题,比博士快。 做1道非常复杂的数学问题,只有博士可以做出来。 CPU主要用于快…

DeepFM。FM(Factorization Machine,因子分解机)。大规模稀疏矩阵。协同过滤方法。

目录 DeepFM。 FM(Factorization Machine,因子分解机)。 大规模稀疏矩阵中的特征组合问题。

c51 单片机如何控制小灯闪烁?

目录 硬件电路设计 软件编程 烧录程序 测试 调整和优化 C51单片机是一种经典的8位微控制器,广泛应用于各种嵌入式系统和智能控制项目中。 C51单片机控制小灯闪烁主要涉及到硬件电路设计和软件编程两个方面。下面是一个基本的步骤说明: 硬件电路设计…

零基础10 天入门 Web3之第2天

10 天入门 Web3之第2天Web3 是互联网的下一代,它将使人们拥有自己的数据并控制自己的在线体验。Web3 基于区块链技术,该技术为安全、透明和可信的交易提供支持。我准备做一个 10 天的学习计划,可帮助大家入门 Web3: 一、这是第二…

铸铁平台合理布局的重要性

铸铁平台合理布局的重要性是为了确保工作环境的安全和效率。以下是一些重要的原因: 安全性:合理布局可以最大限度地减少工作场所的事故和伤害。通过将设备和材料放置在正确的位置,可以降低工作人员被危险物体击中或跌倒的风险。此外&#xff…

【瑞萨RA6M3】1. 基于 vscode 搭建开发环境

基于 vscode 搭建开发环境 1. 准备2. 安装2.1. 安装瑞萨软件包2.2. 安装编译器2.3. 安装 cmake2.4. 安装 openocd2.5. 安装 ninja2.6. 安装 make 3. 生成初始代码4. 修改 cmake 脚本5. 调试准备6. 仿真 1. 准备 需要瑞萨仓库中的两个软件: MDK_Device_Packs.zipse…

Android 代码自定义drawble文件实现View圆角背景

简介 相信大多数Android开发都会遇到一个场景,给TextView或Button添加背景颜色,修改圆角,描边等需求。一看到这样的实现效果,自然就是创建drawble文件,设置相关属性shap,color,radius等。然后将…

基于单片机电流变送器系统仿真设计

**单片机设计介绍,基于单片机电流变送器系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机电流变送器系统的仿真设计,主要目标是利用仿真技术,模拟单片机与电流变送器之间…

二分答案 蓝桥杯 2022 省A 青蛙过河

有些地方需要解释: 1.从学校到家和从家到学校,跳跃都是一样的,直接看作2*x次过河就可以。 2.对于一个跳跃能力 y,青蛙能跳过河 2x 次,当且仅当对于每个长度为 y 的区间,这个区间内 h 的和都大于等于…

hololens 2 投屏 报错

使用Microsoft HoloLens投屏时,ip地址填对了,但是仍然报错,说hololens 2没有打开, 首先检查 开发人员选项 都打开,设备门户也打开 然后检查系统–体验共享,把共享都打开就可以了

计算机网络—HTTP协议:深入解析与应用实践

​ 🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:ヒステリックナイトガール 1:03━━━━━━️💟──────── 5:06 🔄 ◀️ ⏸ ▶️ ☰…

java算法day45 | 动态规划part07 ● 70. 爬楼梯 (进阶) ● 322. 零钱兑换 ● 279.完全平方数

70. 爬楼梯 &#xff08;进阶&#xff09; 题目描述&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 < m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正整数。 输入描述&#xff1a;输入…

java对象是怎么在jvm中new出来的

java对象是怎么在jvm中new出来的 查看java对象字段属性在内存中的值 java 对象 创建 流程 附上java源码 public class MiDept {private int innerFiled999;public MiDept() {System.out.println("new MiDept--------------");}public String show(int data) {Sy…

[Win10] VMware Workstation Pro 17.5.1 Build 23298084 Win64安装教程

VMware Workstation Pro 17.5.1 Build 23298084 Win64安装教程 下载 https://download.csdn.net/download/u012621175/89088925 安装 激活 备注 如果激活不成功可以私信获取私钥

android APP monkey 测试

monkey 测试 一、电脑ADB安装及使用详解1、什么是 Monkey 测试2、什么是ADB3、ADB的作用4、安装前提条件5、ADB下载6、ADB安装与配置 二、连接安卓手机检查是否连接上安卓手机windows端安装ADB驱动 三、 monkey测试操作指令演示指令APP包名查看方式测试效果 一、电脑ADB安装及使…