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
- Docker系列教程08-Dockerfile实战
- VirtualBox和Vmware安装增强功能
- 事件委托与阻止冒泡
- Linux网络工具之Ping命令
- Linux DNS之nslookup命令
- 【LEETCODE】模拟面试-108-Convert Sorted Array to Binary Search Tree
- javascript单线程环境实现真正的setTimeout
- 利用pipework与OVS构建跨主机容器网络
- Docker系列教程07-Dockerfile指令详解
- Docker系列教程06-实战:修改Nginx首页
- prompt() 方法,弹框带输入框
- Docker系列教程05-容器常用命令
- 数据分析利器-NumPy
- 【LEETCODE】模拟面试-134-Gas Station
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- [Deep-Learning-with-Python] 文本序列中的深度学习
- TN-SCUI2020挑战赛详细讲解
- QSignalMapper使用以及替换方法
- 对于组件的可重用性,大佬给出来6个级别的见解,一起过目一下!
- 多个线程为了同个资源打起架来了,该如何让他们安分?
- 实战|记录一次渗透测试项目
- SVN工具分析
- 客服MM被投诉说下单耗时很长,老板下令必须控制在1秒以内
- 介绍两个刷 SQL 题的网站
- Spring MVC 你必须关注点
- 微信小程序开发实战(12):滑杆组件(slider)和form组件
- pandas按照指定的列排序、paste命令指定分隔符、ggplot2添加拟合曲线
- 连连看
- 交叉验证
- lipo命令