面试Unity时以为技术经理不懂,其实一题就面出了工作经验

在说题之前,要说一下,在此之前有过电话面试,也没聊什么,问了几个关于学校的问题,明显醉翁之意不在酒啊。

然后还是问了我最关心的问题,地址(位置)问题。

不管有没有车补,和车补多少,我都无法接受太远的距离问题。

地铁换乘公交,或公交换乘地铁这种是完全不能接受的。

所以我能接受的距离是:坐公交车不能超过20-30分钟,如果算上走路时间超过30分钟,就不考虑了,作为一个曾经要坐50多分钟公交车去上班的我,其实30分钟已经是极限能接受,除非是特别优待,就在30分钟能考虑。

特别优待就是有住宿,然而这个显然没有,显然不是。

因为地图导航的问题,刚开始显示只有20分钟的车程,算是比较理想的,所以就去了。

结果去到后,地图的导航和之前完全不一致,走了十几分钟才到,加起来就四十几分钟了。

太偏僻,这个已经不考虑了。可来都来了,就面一下吧。

 

于是面到了负责技术这方面的,具体不清楚。

这个技术在确定了Unity用C#作为脚本后,就给了一张纸,只让做题。

纸上只有一道C#题,问的是【 打乱 C# List 】

连访问修饰符,返回值,方法名,参数列表都写好,就让写方法体。

 

我就写了两行,以为很简单,结果就聊了两句,连问都没问那种,早知道写个八行,就能多聊几句(开玩笑)。

void Random(List a)
{
}

这个就是面试题,要求打乱List的数据。

当时给的是一张纸和笔,看来是要求手写。


刚开始想都没有想,想写成这样。

void Random(List a)
{
    a = RandomList(a);
}


List RandomList(List a)
{
    System.Random r = new System.Random();
    List b = new List();

    foreach (var item in a)
    {
            b.Insert(r.Next(b.Count), item);
        }

    return b;
}

结果,因为笔墨老是断水,就缩写成这样。已经没什么意向了,尽量减少后续可能出现的提问环节。

void Random(List a)
{
    Random r = new Random();
    List b = new List();

    foreach (var item in a)
    {
            b.Insert(r.Next(b.Count), item);
        }
}

最后和我预想的一样,这样再被问个两句,就差不多可以风度翩翩的走了。

这个题,表面上看就是普通的C#题,和Unity关系不大。其实,这题就测出了有没有工作经验,虽然技术没有说,但我知道,我也不说,这种题对我这种老油条没有用。

为什么呢?自己想吧。手写这种事,已经很蛇精病了。

你可能感兴趣的:(Unity)