网站首页 > 技术文章 正文
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查询和索引场景。
定期复习这些问题以在面试前保持敏锐。
专业提示:
在处理大型数据集时,索引可以显著提高性能——特别是在WHERE、JOIN和ORDER BY查询上。
猜你喜欢
- 2025-07-06 面试官:前端批量请求失败 Toast 重复弹窗怎么解决?
- 2025-07-06 Java 核心技术面试题(java核心面试知识整理)
- 2025-07-06 一次 Java 架构师面试全记录:从准备到实战的深度复盘
- 2025-07-06 springboot面试题(springboot三大核心注解)
- 2025-07-06 React.js Top20面试题(react面试题)
- 2025-07-06 Java面试题整理:紧跟2025年面试趋势
- 2025-07-06 Spring Cloud的18道面试题及答案(收藏版)
- 2024-10-09 BAT架构师分享30道Java面试题:题目+答案+文末彩蛋
- 2024-10-09 前端工程师常见面试题(前端进阶)——Angular 框架
- 2024-10-09 最全Java架构师130面试题:微服务、高并发、大数据...
你 发表评论:
欢迎- 593℃几个Oracle空值处理函数 oracle处理null值的函数
- 586℃Oracle分析函数之Lag和Lead()使用
- 574℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 571℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 567℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 559℃【数据统计分析】详解Oracle分组函数之CUBE
- 546℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 540℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)