专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

TOP 20+ .NET和OOP面试题(ooa oop ood 面试)

ins518 2025-07-06 12:51:03 技术文章 8 ℃ 0 评论


OOP(面向对象编程)

1. OOP的4个支柱是什么?

  • 封装 – 将数据和方法捆绑在一起
  • 抽象 – 隐藏复杂性,只显示本质
  • 继承 – 通过基类/派生类重用代码
  • 多态 – 一个接口,多种实现(重载/重写)

2. 抽象和封装的区别

概念

抽象

封装

重点

隐藏内部_发生了什么_

隐藏数据_如何_存储

用途

接口/抽象类

访问修饰符


3. C#中接口vs抽象类

特性

抽象类

接口

方法

可以有定义

只有签名(直到C# 8)

修饰符

允许访问修饰符

所有成员都是公共的

继承

单一继承

支持多个接口


4. 重载vs重写

  • 重载: 相同方法名,不同参数(编译时
  • 重写: 在派生类中重新定义基类方法(运行时

.NET和C#面试题

5. ref和out的区别?

  • ref: 传递前必须初始化
  • out: 无需初始化;必须在方法内赋值

6. .NET中的垃圾回收是什么?

**垃圾回收器(GC)**通过销毁未使用的对象自动释放内存。


7. ==和.Equals()的区别

  • ==: 比较值(值类型)或引用(对象)
  • .Equals(): 可以比较内容,可以被重写

ASP.NET MVC问题

8. 什么是MVC架构?

  • Model: 业务逻辑和数据
  • View: UI层
  • Controller: 处理用户输入并更新Model/View

9. MVC中的路由是什么?

将URL映射到控制器/操作方法。

routes.MapRoute("Default", "{controller}/{action}/{id}");

10. TempData vs ViewData vs ViewBag

特性

ViewData

ViewBag

TempData

类型

Dictionary

Dynamic

Dictionary

生命周期

当前请求

当前请求

当前+下一个请求

用例

数据到View

数据到View

跨重定向


11. MVC中的Action Filters是什么?

Action Filters允许你在控制器中的操作方法执行之前或之后运行逻辑。

示例:

  • [Authorize] – 限制访问
  • [HandleError] – 处理异常
  • [OutputCache] – 缓存输出

Web API问题

12. .NET中的Web API是什么?

ASP.NET Web API是一个框架,用于构建RESTful HTTP服务,用于Web、移动或桌面应用程序。它支持内容协商(JSON/XML)并且轻量级。


13. 区别:Web API vs MVC

特性

MVC

Web API

目的

返回HTML视图

返回数据(JSON,XML)

返回类型

ViewResult

JsonResult,IHttpActionResult


14. 如何保护Web API?

  • 使用JWT令牌OAuth 2.0
  • 实现授权过滤器
  • 使用HTTPS加密通信

15. Web API中的常见HTTP动词

  • GET – 读取数据
  • POST – 创建新数据
  • PUT – 替换整个资源
  • PATCH – 更新部分资源
  • DELETE – 删除数据

SQL Server面试题

16. WHERE vs HAVING

  • WHERE:GROUP BY之前过滤
  • HAVING:GROUP BY之后过滤

17. SQL连接的类型

  • INNER JOIN – 返回两个表中的匹配行
  • LEFT JOIN – 左表的所有行+右表的匹配行
  • RIGHT JOIN – 右表的所有行+左表的匹配行
  • FULL OUTER JOIN – 当任一表中有匹配时的所有行
  • CROSS JOIN – 笛卡尔积(每个组合)

18. DELETE vs TRUNCATE

特性

DELETE

TRUNCATE

日志

记录每行

最少日志

WHERE

允许

不允许

回滚

不保证


19. 什么是存储过程?

存储过程是存储在数据库中的预编译SQL语句集,用于执行特定任务。

CREATE PROCEDURE GetEmployees
AS
BEGIN
   SELECT * FROM Employees
END

20. SQL中的索引是什么?

索引是一种技术,用于通过减少数据库引擎必须扫描的数据量来加速SQL表中的数据检索


索引类型:

  • 聚集索引 – 根据键值对表中的数据行进行排序和存储。每个表只有一个。
  • 非聚集索引 – 将索引与实际表数据分开存储。每个表允许多个。
  • 唯一索引 – 确保索引键中的所有值都是唯一的。
  • 全文索引 – 用于搜索基于文本的列(例如,LIKE,CONTAINS)。

快速提示:

在解释时要清晰自信。

练习真实的SQL查询和索引场景。

定期复习这些问题以在面试前保持敏锐。


专业提示:

在处理大型数据集时,索引可以显著提高性能——特别是在WHEREJOINORDER BY查询上。


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表