2019面试题记录

                                            2019面试题记录_第1张图片

    最近几天的面试集锦,持续更新

1、json的序列化和反序列化如何实现?

2、事件是什么?委托是什么?两者的区别。

委托(代表)delegate,是.Net提供的一种引用类型,可以用来引用函数,使用委托,可以实现函数回调、异步回调等,提高程序设计的灵活性。委托的概念有点像c/c++的指针函数。
事件,event,其实就是委托,明确地说是多播委托,就是一个委托可以指向多个函数,并分别回调这些函数。事件用在类中,用来实现一种通知机制,即告知外部,当前类的状态。
方法,就是函数了,和其他语言的概念一样。

举个例子:
定义委托:delegate int FuncEventHandler(int i);
用这个委托定义事件:event FuncEventHandler Func;
用匿名函数给事件赋值:Func += delegate(int i){return i++;};
异步回调函数(后面两个参数用于指定异步回调返回时再次回调的委托,可以忽略):Func.BeginInvoke(1, null, null);

3、属性和索引器有什么差别?

属性是一种成员,它提供灵活的机制来读取、写入或计算私有字段的值。 属性可用作公共数据成员,但它们实际上是称为“访问器”的特殊方法。 这使得可以轻松访问数据,还有助于提高方法的安全性和灵活性。

索引器允许类或结构的实例就像数组一样进行索引。 索引器类似于属性,不同之处在于它们的取值函数采用参数。

   索引器是属性的一种,它本质上和属性一样是方法。
   索引器的类型和集合元素的类型一致
   索引器没有名称 (this关键字为标志)
   索引器至少有一个参数eg:this(int i)
   索引器可以重载,因此一个类中可以有多个索引器,调用时索引器通过数组下标索引;索引器是针对集合类型成员变量的    

属性是封装的一种方法。是专门来控制访问性的一种语法结构,成员变量定义为私有类型(因为变量是表示对象特征的,不可以随便修改,为了安全性。)
Value是关键字,它的类型取决于属性的数据类型;

属性的访问修饰符为public(总是),属性有类型,它的类型取决于成员变量的类型。
当修改属性或为属性赋值时,将值先传给value,再赋给成员变量;
属性的类型分为三类:只读(get) 读写(get&&set) 只写(set)
Set:set访问器  get:get访问器
属性名与成员变量同名,书写时首写字母必须大写
 

4、sql如何优化?

https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/72875054

5、sql分页如何处理?

6、list转json如何实现?

7、简述垃圾回收机制原理。

8、能用foreach便利访问的对象需要实现什么接口或声明什么方法?

9、用sealed修饰的类有什么特点?

无法被继承

10、代码实现冒泡排序。

11、1.1.2.3.5.8.13.21.34求第30位数的结果,用递归算法实现。

12、get和post传值有什么差别?

https://zhidao.baidu.com/question/567658249.html

13、值类型和引用的类型的区别?

https://www.cnblogs.com/woaixiaozhi/p/5116137.html

14、接口和类的区别是什么?

15、SQL能通过视图修改表吗?

16、访问修饰符有哪些?

public,private,protected,internal

17、SQL中INT和GUID数据类型有什么优缺点?

https://www.cnblogs.com/zhuqil/archive/2010/12/02/1894575.html

18、简述下事务是什么。

19、有在数据库中写过循环吗?用过游标吗?

20、lambda和linq的区别。

21、func和action的区别。

func有返回值,action没有。

22、viewdata和viewbag的区别。

23、后端如何防止接口被多次重复调用?

24、如何防止接口传入参数被篡改?

25、rabbitMQ有哪几种消息队列?

5种

26、如何放sql注入、依赖注入?

27、后端如何缓存信息?

28、string和stringbuilder的差别

29、存储过程和函数的差别

30、结构和类的差别

31、分布式事务的使用

32、锁的使用

 

你可能感兴趣的:(2019面试题记录)