日期:2014-05-20  浏览次数:20774 次

今天领导让我去面试别人了,我不知道是不是刁难到他了....
本帖最后由 yan_hyz 于 2014-03-27 18:26:49 编辑
领导开头让对方做了一些自我介绍,和对方谈了谈一些工作中的问题,让就让我问问关于net技术的问题,我也不懂什么高深的技术,就问了几个理论上的东西:

1、GC.Collect()在代码中手动调用的时候,Clr会立即执行垃圾收集吗?
      
2、在需要定义一个基础类型的时候,你平时是如何选择是定义为一个完全抽象的类还是定义为一个接口

3、string a = “abc”;和string a = new string("abc");两种声明方式一样吗?

4、  

People model = new People();
model.Name = "ABC";
     void Func1(People model)
     {
            model.Name = "CBA";
     }

    void Func2(ref People model)
   {
         model.Name = "CBA";
   }

model 分别作为参数传入这两个方法中,方法执行结束后,model.Name 的值会改变吗?


对一问题1:我只想知道 对方说 会立即执行或者不会立即执行,就行了,但是对方说了一大圈,但是就没有涉及到 这俩结果。

2、只是说了,定义过基础类,但是没有说为什么这样选择定义为完全抽象类或者为何定义为接口,然后我问了他平时定义的时候,考虑过如何定义吗?答:没有。

3、没说出来。

4、没说出来。

可能是对方太紧张了???

对方要的12k,然后我就给人力拒绝了。

没刁难吧.....


------解决方案--------------------
现在随随便便来个阿猫阿狗都敢要十几K
------解决方案--------------------
1. 立即执行
2. 如果基础类中有属性的定义, 会选择抽象类, 否则一律接口.
3. 后面那个方法多生成了一个string对象
4. 两个方法都会变

楼主我要12K, 求笼罩
------解决方案--------------------
1.这个问题在第一次接触之前还真的没注意过,GC.Collect()使用面太窄而且不一定有效,这题有点偏。
2.没有抽象需求的抽象叫做过度设计。
3.这题太没意义了。
4.你的People是class还是struct?
看题目,楼主这是要招初学者啊。
------解决方案--------------------

------解决方案--------------------
作为面试题,无可厚非。
但是说实话,面试和实际能力完全不一样,还得试用后才知道。
很多人面试的时候,说得极好,等进了公司一干活,啥也不会。
有的人苯嘴笨舌的,说不出个什么,可是干活却很好。
------解决方案--------------------
  楼主你等着 你面试的人就是我  下班在大门口堵你
------解决方案--------------------
靠,我发现我可能会都做错啊
------解决方案--------------------
我想知道第3个问题的答案
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

靠,我发现我可能会都做错啊


我问的这几个问题,是我临时想到的(临时让我去面试,之前没准备过),我想听听别人的理解和思路,但是 对方说的时候,我没有从他的描述中提取到有用的信息

我想知道第3个问题的答案,
string str=new string("abc"); 这种写法是如何通过编译的?
   
------解决方案--------------------
1.很容易联想到主动实现垃圾回收,巴拉巴拉一堆,
2.没有标准答案规定什么时候要用抽象类和接口,
3.声明方式,感觉怪怪的,不如直接问有什么区别可能问题目标更明确点
4.这道题的意义何在??明显可以拆成2道题,一题考值类型和引用类型的,一题考ref、out

总结:面试很怕遇到面试官出一些很模糊的题目,适当做一些引导。
不过12k的水平,怎么也能扯点东西出来吧
------解决方案--------------------
我会告诉你我面试过的要求14k的基础笔试题结果基本全部被我打X了么。。。。。。。。。。。

接口,抽象是什么,不知道。。。。。。。。
sealed表示什么含义,不知道。。。。。。。。。
构造函数加个private前缀会导致什么样的后果,不知道。。。。。
const和readonly的区别,不知道。。。。。。
------解决方案--------------------
我为什么没遇到这种面试
------解决方案--------------------
string a = new string("abc"); 能通过编译吗,楼主
------解决方案--------------------

------解决方案--------------------
  不踏实啊
------解决方案--------------------
引用:
1. 立即执行
2. 如果基础类中有属性的定义, 会选择抽象类, 否则一律接口.
3. 后面那个方法多生成了一个string对象
4. 两个方法都会变

楼主我要12K, 求笼罩


就第一题你都错了好么、clr的垃圾回收器只会回收没有引用的垃圾、如果它还持有引用、你把机子GC.Collect()爆他内存还是不降
------解决方案--------------------
卧槽,楼主哪的啊,这样的都12K?
------解决方案--------------------
个人觉得对于问题2,根据接口分离原则对于基础类还是抽象类好一些吧,对抽象编程。
------解决方案--------------------

------解决方案--------------------
工作好几年了,还没写过抽象类,基本没写过接口;不知道坛子里的有多少人,到一家新公司是需要重新去写底层的。
再熟的东西,几年不写也会生疏。
------解决方案--------------------
干了一年,回答不上的,路过!
------解决方案--------------------
引用:
Quote: 引用:

1. 立即执行
2. 如果基础类中有属性的定义, 会选择抽象类, 否则一律接口.
3. 后面那个方法多生成了一个string对象
4. 两个方法都会变

楼主我要12K, 求笼罩


就第一题你都错了好么、clr的垃圾回收器只会回收没有引用的垃圾、如果它还持有引用、你把机子GC.Collect()爆他内存还是不降

问的是 会不会执行垃圾回收 不是说会不会被回收
------解决方案--------------------
第三题是java的面试题,c#里根本无法编译。
------解决方案--------------------