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:有序集合)。