C# 面试测试题

时间:2019-06-18
本文章向大家介绍C# 面试测试题,主要包括C# 面试测试题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1. C#的委托是什么?有何用处?

2. 排序方式有哪些?

3.Heap与Stack有何区别?

4.值类型和引用类型有何区别?

5.请写出斐波那契数列任意一位的值的算法?

6.什么是历史代换原则?

7.接口与抽象类有什么区别?

8.结构体与类有什么区别?

9.请简述访问修饰符及其作用

10.请使用代码实现你理解的多态?

  

11.面向对象三大特征?

  封装  、 继承、 多态

12.请简述你了解的数据结构?

  Array    数组    存放同一种数据类型

   ArrayList    动态存放不同类型的数据   object

   LIst     列表  动态存放同一种数据类型

  LinkList  链表  (单链、双链 、环链) 每一位存储下一位所在的地址

    Dictionary 字典   键值对   每个键仅能有一个  

    Stack   栈       先进先出  后进后出   |   |

   Queue    队列        先进后出   后进先出  |——|

    二叉树     有广度查找    和 深度查找

13.请简述你了解的设计模式?

  现存的共有 23 种设计模式   而熟悉的大概是  单例    观察者   工厂   策略  

  详细的解释在下一篇c#笔记中

14.值传递与引用传递的区别?

  值传递  传递的是数据      基本的数据类型都是值传递    string除外,它是特殊的引用传递

  引用传递  传递的是数据在内存中的地址    

  更详细的解释

  https://www.cnblogs.com/Suanzhai/p/4052545.html

15.out和ref参数的区别与相同点?

  相同点:   能使值类型发生引用传递

  不同点:    ref  在使用前需要赋值,    out 在方法体内需要赋值

16.什么是装箱和拆箱?

  值  —— object  装箱      安全的

  object—— 值    拆箱      不安全的

17.字符串是引用类型还是值类型?

  字符串是特殊的引用类型,它在内存空间中的值不会被更改,

  例如: string  str = "aaa";      str = "bbb";    "aaa"在内存空间中不会被更改,它会遍历空间内,找不到“bbb” 就创建一个“bbb”,让str 指向“bbb”

18.什么是GC(Garbage Collection)?

  C#自带的垃圾回收

19.请简述GC的垃圾回收的流程?

  c#会自己标记有引用的对象,定期清理未被标记的对象,在清理后把剩下的对象整合在一起

20.请简述一个引用对象的生命周期?

  构造——操作对象——资源整理——GC

原文地址:https://www.cnblogs.com/DGJS/p/11045259.html