您的位置:首页 > 职场人生

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

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

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,什么是控制反转,然后就和我说面试结束了,沟通能力还行,技术能力你也看到了就这个样子,谢谢你来面试!

我是彻底醉了,我可怜的路费啊,这神一样的面试!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐