C#新鲜面试题出炉(2024)

总所周知 C#这门语言 没有Java的八股文,所以面试题一般都是问的业务,

那么对于新手来讲,最起码也要会一些基础性问题,

以下就是包含C# 和sqlserver几个常见的面试题

1) Delegate和Event的区别是什么 (这道题真的是巨多奥)

Delegate:

Event:

区别:

2)new和Override分别有什么作用(什么情况下用new或者Override)

new:

Override:

总结:

3) async和await 是如何使用的? 本质核心是什么 ?方便的点在哪里?

如何使用:

本质核心:

方便的点:

4) async void 和async Task 有什么区别? 何时使用void

叙述:

5)设计模式种中单例模式分为几种,分别什么用途?

1

2

3

总结:

6)设计模式工厂模式又是什么?有什么用途?

7) Is和As的区别是什么,什么时候用is 什么时候用as?

8)解释一下C#多态是什么?接口与抽象类又有何异同?

9)如何实现线程同步?

10)什么是依赖注入?如何实现依赖注入

11)ref 和out 和In 有什么异同(当然in可以忽略,也可以答疑)

12) yeild的用途是什么,请写出简易循环代码

13) Linq是做什么的? 如何编写一个延迟查询?

14)在winform中 有一个窗体,包含(静态字段,实例字段 ,属性,方法 ,构造函数 )他的执行顺序是什么

15)aspnetcore中 中间件是什么,用途是什么,五大异常过滤器分别是哪些?简述执行顺序

17)using作用什么是,并举例说明

18)Task.waitALL 和Task.WhenALL有什么区别?如何使用

19)现在有一个Task执行循环任务,从0开始 每秒循环一次每次递增1 我如何取消任务? 10秒后我取消任务并且输出 那么最终输出是多少 ? 是否是你想要的值,如果不是,如何处理?

20)什么是深拷贝,什么是浅拷贝,什么时候用深拷贝?那么引用类型和值类型分别又有哪些?

21)如果只有调试的时候才可以获取到属性值,那么在非调试中我应该用什么获取到属性

22)在winform中,我点击一个按钮,此时界面卡死,我应该如何做?

23)如何托管和非托管代码交互(非必要答疑,一般都是调用第三方)

24)Net的内置委托有哪几种,分别有什么作用?

=================================================================================

面试题不全,欢迎补充; 马上下班了,有时间继续补充完善 答案过俩天更新 包含winform /core 以及Http协议

下面是sqlserver

=================================================================================

1)维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么?(老生常谈)

2)什么是事务?什么是锁?

3)什么是索引,有什么优点?

4)视图是什么?游标是什么?举例游标的使用方法

5)什么是存储过程?有什么优点?

6)触发器分为几种,分别有什么作用?

7)char 和vchar最大长度是多少

8)如何优化一条sql语句

9)有哪几种锁?我应该什么时候用不同的锁

一般就这几个,关于数据库啊,一般都是业务,逻辑问题,基础的就这几个问题,答上来就可以

=================================================================================

当然了对于net选手来说 国产orm Sqlsugar 和Freesql 都很爽,大家应该很少写sql了

我有半年都没写过比较复杂的sql了,但是对于一些公司的实施来说,他们还是倾向于sql存储过程(因为他们可以随时改,可以查询)

虽然有了Orm 但是sql也是不可少的奥

后面可以再搞个Redis面试题 (我用的是FreeRedis (免费开源+好用))