大家一起来答面试题~~ 面试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.http://msdn.microsoft.com/zh-cn/library/bb384067.aspx2http://msdn.microsoft.com/zh-cn/library/system.collections.arraylist.aspx看备注对于 ArrayList的强类型重写,请考虑使用 List<T>。 ArrayList 可能并不总是提供特定任务的最佳性能。 有关这些选件类相对性能的讨论参见。List<T> 参考主题中的“性能注意事项”部分。...3....4....5....我当年也以为只要记住答案的~现在用一句广告词来回答你:谁用谁知道! 稍作思考回答下这个,并不知道最优的答案,欢迎大家讨论。10智力题:一个钢化玻璃杯,验证能把杯子摔碎的最低楼层。a.摔坏杯子最少的方法。摔碎杯子最少,可以从第1层开始往下摔,然后是2、4、8、16、32、...、2^n层往下摔,假设在16层没摔坏,而在32层摔坏了,那么把17层当做1层,从17~31,重新一轮摔:1(17)、2(18)、4(20)、8(24);然后不断递归,能把杯子摔碎的最低楼层是2^n-1层时,摔碎的杯子最多。b.摔杯子次数最少的方法。摔杯子次数最少,肯定是二分法,假设最高楼层是k层,不断折中楼层测试即可:假设某次在第m层摔,杯子碎了,那么取下部分折中,否则取上部分折中。 话说,关于基础的问题,直接百度,谷歌或MSDN就好了,就没必要讨论了涉及算法的问题,根据你要算的内容不同,这算法就多了,经典的算法书上可能会有,自定义的算法就需要自己想了 本帖最后由 caozhy 于 2014-10-24 13:23:51 编辑 我来公布一下我的答案,有不同意见或需要补充的直接回复:1 泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能。泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。例如,通过使用泛型类型参数 T,您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的成本或风险在泛型类型定义中,where 子句用于指定对下列类型的约束:这些类型可用作泛型声明中定义的类型参数的实参。 例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就可以实现 IComparable<T> 接口:public class MyGenericClass<T> where T:IComparable { }new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 如果要使用 new 约束,则该类型不能为抽象类型。2 ArrayList中存放的类型都是Object的,虽然方便,但也可能造成隐患,比如存入存取一个不同类型的值就会发生类型错误,而泛型集合是在定义时就确定类型的,List<这里定义你期望存入的类型>,这样就限制了List存取的类型3 我提供两种传递方式:利用委托写入主线程;利用事件将值送给主线程。暂时想到两点,这个希望大家多多补充。4 和6如8楼所述5 Expressions Tree 概念–表达式树又称为表达式目录树,以数据形式表示语言级代码。所有的数据都存储在树结构中,每个结点表示一个表达式(Expression)。–Lambda表达式树允许我们像处理数据(比如读取,修改)一样来处理Lambda表达式。7狭义的SOA是指一种软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部 署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。WCF是微软为了实现各个开发平台之间的无疑缝连接而开发一种崭新工具,它是为分布式处理而开发。soa的优点:第一、更易维护。第二、更高的可用性。第三、更好的伸缩性8存储过程具有执行速度快、安全性好、维护性好的特点。防止sql注入的方式可以采用存储过程代替sql,另外尽量避免sql拼接(这是我的观点)9事务的作用我目前只知道可以回滚,其他的作用或更深层次的理解欢迎补充。10智力题a方法是从一楼往上逐层扔杯子b我当时面试时说二分法,而面试管说有一个数列如九楼所提到,但是哪个方法更好一些待验证。11三层架构分为ui层、逻辑控制层、数据层。12拆箱的过程是从object到实际类型的一个转换,这需要新创建一个变量、销毁一个变量两个步骤,所以导致性能减少。 我今年面试过不少企业,最后总结出来是应试者更应该暴露出自己的真实水平(毕竟不是大学刚毕业了),因为如果面试官期待过高试用期很难通过,所以每次收到offer之后都会再次和技术负责人沟通工作内容等细节。但是通过这些面试,我觉得自己成长很多,比如这次面试,发现了很多盲点,自己看书可能只是学一些书面上的知识,很难深入。所以我觉得把面试题分享给大家不是让大家去死记硬背,不同的企业出的面试题也不不一样,侧重点也不一样。希望大家不要想偏了,把问题看一遍之后能够真正理解最好! Microsoft Visual Studio2008 Windows服务怎样启动它,怎么用? 关于正则表达式的性能问题 使用session传值的问题 窗体的线程的问题?不太理解,高手进来随便坐坐! 求助关于C#网站在win2003下部署的问题 求最新的国内ip地址分配表,要access形式最好 “DateTimePicker” 是否可以选择“小时”??? 大家觉得这样如何?快来支持啊! 求救:有谁知道如何通过asp.net在IIS上新建一个站点? C#如何与数据库连接……? ikvmc将jar包转化为dll时出现原java引用的jar找不到的情况 C#用递归计算1-2+3-4+5-6+7-8+9的值
http://msdn.microsoft.com/zh-cn/library/bb384067.aspx2
http://msdn.microsoft.com/zh-cn/library/system.collections.arraylist.aspx
看备注
对于 ArrayList的强类型重写,请考虑使用 List<T>。 ArrayList 可能并不总是提供特定任务的最佳性能。 有关这些选件类相对性能的讨论参见。List<T> 参考主题中的“性能注意事项”部分。...3....4....5....我当年也以为只要记住答案的~
现在用一句广告词来回答你:谁用谁知道!
a.摔坏杯子最少的方法。摔碎杯子最少,可以从第1层开始往下摔,然后是2、4、8、16、32、...、2^n层往下摔,假设在16层没摔坏,而在32层摔坏了,那么把17层当做1层,从17~31,重新一轮摔:1(17)、2(18)、4(20)、8(24);然后不断递归,能把杯子摔碎的最低楼层是2^n-1层时,摔碎的杯子最多。b.摔杯子次数最少的方法。
摔杯子次数最少,肯定是二分法,假设最高楼层是k层,不断折中楼层测试即可:假设某次在第m层摔,杯子碎了,那么取下部分折中,否则取上部分折中。
涉及算法的问题,根据你要算的内容不同,这算法就多了,经典的算法书上可能会有,自定义的算法就需要自己想了
1 泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能。泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。例如,通过使用泛型类型参数 T,您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的成本或风险
在泛型类型定义中,where 子句用于指定对下列类型的约束:这些类型可用作泛型声明中定义的类型参数的实参。 例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就可以实现 IComparable<T> 接口:
public class MyGenericClass<T> where T:IComparable { }
new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 如果要使用 new 约束,则该类型不能为抽象类型。
2 ArrayList中存放的类型都是Object的,虽然方便,但也可能造成隐患,比如存入存取一个不同类型的值就会发生类型错误,而泛型集合是在定义时就确定类型的,List<这里定义你期望存入的类型>,这样就限制了List存取的类型
3 我提供两种传递方式:利用委托写入主线程;利用事件将值送给主线程。暂时想到两点,这个希望大家多多补充。
4 和6如8楼所述
5 Expressions Tree 概念
–表达式树又称为表达式目录树,以数据形式表示语言级代码。所有的数据都存储在树结构中,每个结点表示一个表达式(Expression)。
–Lambda表达式树允许我们像处理数据(比如读取,修改)一样来处理Lambda表达式。
7狭义的SOA是指一种软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部 署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。WCF是微软为了实现各个开发平台之间的无疑缝连接而开发一种崭新工具,它是为分布式处理而开发。
soa的优点:第一、更易维护。第二、更高的可用性。第三、更好的伸缩性
8存储过程具有执行速度快、安全性好、维护性好的特点。防止sql注入的方式可以采用存储过程代替sql,另外尽量避免sql拼接(这是我的观点)
9事务的作用我目前只知道可以回滚,其他的作用或更深层次的理解欢迎补充。
10智力题a方法是从一楼往上逐层扔杯子b我当时面试时说二分法,而面试管说有一个数列如九楼所提到,但是哪个方法更好一些待验证。
11三层架构分为ui层、逻辑控制层、数据层。
12拆箱的过程是从object到实际类型的一个转换,这需要新创建一个变量、销毁一个变量两个步骤,所以导致性能减少。