一个不知道怎么回答的面试问题

近日闲着无聊就去投简历了,收到一家公司的面试邀请,一个技术经理在墙壁上的白板上画了一个式子:

var q = list.Where(g=>g.Age>21 && g.Sex)

问题1:var q是一个什么变量?

问题2:Where作为一个方法,HighLight是什么参数?

问题3:g是什么参数?

 

我反应了半天,心中一万只羊驼在狂奔:

对于问题1:

var q不就是C# 3.0才有的新特性,配合LINQ使用的,具体叫啥变量真的想不起来了,查了资料说是推断类型;

使用var定义变量时有以下四个特点:

1. 必须在定义时初始化。

2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
3.   var要求是局部变量。
4.   使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

对于问题2:

Where作为一个方法,括号里面的不就是一个Lambda表达式嘛,就是一个匿名函数,用于创建委托或表达式树类型,传递一些参数;

网上查询了一圈子,看到一个哥们的解释:

list.Where(g=>g.Age>21 && g.Sex)高亮部分就相当于一个委托参数;

思考了半天也想不好怎么回答他。。。。

问题3:Lambda 表达式的参数,之所以使用Lambda,是为了简化了匿名方法的语法而已

然后他又问了我什么是DI,什么是控制反转,然后就和我说面试结束了,沟通能力还行,技术能力你也看到了就这个样子,谢谢你来面试!

我是彻底醉了,我可怜的路费啊,这神一样的面试!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值