WPF工程师面试题(一)
1 请简述async函数的编译方式
2 请简述Task状态机的实现和工作机制
3 请简述await的作用和原理,并说明和GetResult()有什么区别
4 Task和Thread有区别吗?如果有请简述区别
5 简述yield的作用
6 利用IEnumerable实现斐波那契数列生成
7 简述stackless coroutine和stackful coroutine的区别,并指出C#的coroutine是哪一种
8 请简述SelectMany的作用
9 请实现一个函数Compose用于将多个函数复合
10 实现Maybe monad,并利用LINQ实现对Nothing(空值)和Just(有值)的求和
11 简述LINQ的lazy computation机制
12 利用SelectMany实现两个数组中元素的两两相加
13 请为三元函数实现柯里化
14 请简述ref struct的作用
15 请简述ref return的使用方法
16 请利用foreach和ref为一个数组中的每个元素加1
17 请简述ref、out和in在用作函数参数修饰符时的区别
18 请简述非sealed类的IDisposable实现方法
19 delegate和event本质是什么?请简述他们的实现机制
20 为什么不提倡catch(Exception)?
21 Debug Build和Release Build的区别,是否会有明显的速度变化?请说明理由