解析“60k”大佬的19道C#面试题(上)
解析“60k”大佬的19道C#面试题(上)
先略看题目:
- 请简述
async
函数的编译方式 - 请简述
Task
状态机的实现和工作机制 - 请简述
await
的作用和原理,并说明和GetResult()
有什么区别 Task
和Thread
有区别吗?如果有请简述区别- 简述
yield
的作用 - 利用
IEnumerable<T>
实现斐波那契数列生成 - 简述
stackless coroutine
和stackful coroutine
的区别,并指出C#
的coroutine
是哪一种 - 请简述
SelectMany
的作用 - 请实现一个函数
Compose
用于将多个函数复合 - 实现
Maybe<T>
monad
,并利用LINQ
实现对Nothing
(空值)和Just
(有值)的求和 - 简述
LINQ
的lazy computation
机制 - 利用
SelectMany
实现两个数组中元素的两两相加 - 请为三元函数实现柯里化
- 请简述
ref struct
的作用 - 请简述
ref return
的使用方法 - 请利用
foreach
和ref
为一个数组中的每个元素加1
- 请简述
ref
、out
和in
在用作函数参数修饰符时的区别 - 请简述非
sealed
类的IDisposable
实现方法 delegate
和event
本质是什么?请简述他们的实现机制
没错,这是一位来自【广州.NET技术俱乐部】微信群的偏Programming Languages
(编程语言开发科学
)的大佬,本文我将斗胆回答一下这些题目