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 (免费开源+好用))