关闭

涂鸦移动面试总结

1581人阅读 评论(1) 收藏 举报
分类:

整体问的比较简单知识小地方有的没太注意

先整体自我介绍,然后问我三层架构,然后又让我讲MVC,(MVC讲的不是很好)。然后讲一下面向对象特性,对于多态进行细问,以及多态进行调用过程(父类声明,子类new?)。然后问了进程与线程的区别。

然后说来几道算法题吧。

1:有五十二张牌,现在是有序的,现在只有random(0,1)函数,需要把这52张牌打的很乱,怎样实现:

我的解:把这52张牌可以看成(0,51)数组,对以前的函数乘以51,就变成了(0,51)随机数。我说可以每次随机取出来一个数,放到结果数组里面,然后再选出来一个,与原来的数就行比较 ,如果一样,就重新取值。

面试官说这个解法可以,但是就是在最后几个数值的时候可能比较麻烦,比如最后一个,可能期望值是(1+52)/2=26。

最后面试结束我问好的解法,他说选出来一个数值之后,把最后的一个数值放到该位置上,从而范围就缩小,然后从(0,50)选取一个值。

2:1-2+3-4+5-6+7.....n,n很大

我说n很大, 是不是不能用int或者long存储,他说可以用long存储。我开始叙述了一遍最后的结果,最后说的可能有点乱,他说你把代码写出来,然后再给我说

long n;

cin>>n;

n=abs(n);

if(n==0)

return 0;

if(n%2==0)

return -n/2;

if(n%2==1)

return n/2+1/2;

我复述了好多遍,他说你最后的结果是多少吗,然后我就发现我太数学化了。就把最后改成(n+1)/2。他说行,这就是我为啥让你手写的原因。

最后他问我有什么问题吗,然后我就问他了第一道算法最好的解法。然后我又问,我进去之后做的是哪方面的,他说你知道我们公司是做什么的嘛,我说游戏嘛。他说进去之后有团队,有领导,什么什么的一大串子英文名称,我就恩恩。。。

面试官是福建或者广东人,有的地方让面试官重复了好几遍。


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:24884次
    • 积分:1413
    • 等级:
    • 排名:千里之外
    • 原创:123篇
    • 转载:5篇
    • 译文:0篇
    • 评论:5条
    最新评论