翻新工场-行云笔试加面试经验
今天上午到中关村的行云去笔试加面试了,由于之前没有赶上校招,所以只能按照社招的流程走。
行云是由创新工场和腾讯一起投资的一家专注于网络游戏云计算平台的公司。
具体的信息可以去看官网上看:www.xingcloud.com
今天登记完就是笔试,给的应该是创新工场校招的题目,由于没参加校招,所以不是很清楚。
10道选择题:
1、路由器在网络模型的哪层工作?(网络层、数据链路层)
2、递归函数依赖于哪种数据结构?(栈)
3、面向对象中,类具有getHashCode()函数,一个test类重写了这个函数
int getHashCode()
{
return 1;
}
请问,如果有256个test对象,用链表的方式储存,平均查找长度是多少?(128)
4、malloc函数生成的空间位于什么数据结构中?(堆)
5、设计模式(内高聚、低耦合)
6、5个红球、8个蓝球,红球不相邻的概率(14/143)
7、不是TCP和UDP的区别的是(控制的端口范围)
8、使用什么策略能够避免造成deadlock的“环路等待”的原因:有序分配策略。
9、10记的不是太清楚了,当时就第5题错了,剩下的就没有问题了。
4道编程题
1、实现strcmp(const char* p, const char*q)函数
2、单向链表,实现从结尾开始打印key
struct ListNode
{
int Key;
ListNode* next;
}
3、打印n*n的蛇形矩阵,例如3*3的蛇形矩阵是
1 2 3
8 9 4
7 6 5
4、两个升序排列数组X[1...n]和Y[1...n],求一个O(lg n)的算法,能够选出合并后的第n+1项。例如X=[1 3 5 7],Y=[2 4 6 8],那么结果就是5。
这四道题没什么难度,基本上思路和代码都是正确的。
接下来是面试,是今天最失败的环节了。
1、 有200万条数据,包括name、age等信息,要求一个O(n)的算法来对age排序。
2、 4个人去吃饭,玩手心手背,要求只玩一次就能选出一个人来请客,请制定一个规则。
3、 C语言实现int StringToInt(char *p)函数。
前两题当时真的太紧张了,没什么好的答案,其实第一题的思路已经接近正确了。但是还是没敢说出来,真是失败。第二题确实没有想到使用二进制编码的方式来做。
第三题没什么问题,注意别越界和判断字符类型就好了。
面试官看完代码问了问题,如果不使用函数遍历数组,有什么办法得到长度?想了一下,想起来使用sizeof()就能办到了。然后还有就是不希望使用这个长度,直接将每位的结果变成int整形,当时脑子懵了,没想到直接每项都乘10就可以了~这个还是面试官告诉我的。这下子就记住了。
基本上就是这些问题,面试官告诉我凶多吉少了。我也觉得自己表现的不太好,基本上不会有二面的机会了。
这有啥牛逼的……都被刷掉了~真正拿到Offer的那些人才牛逼~