比较知名的互联网公司就只投了网易和欢聚,其它的都完美错过......
于是从欢聚那失败归来后,赶紧印了数份简历,每天跑来跑去听宣讲会。
厦门这边正好就来了几家搞游戏的,于是就去看了...
三、厦门吉比特,游戏研发(一面挂,后来问要不要先去实习看看,如果能力可以会转正,没去)
刚看到这个公司的时候,感觉从来没见过...然后看了介绍,居然是以前做出《问道》的那家公司。
吉比特今年开出的待遇非常好,技术类月薪12k~18k,福利在厦门也是比较好的,笔试的时候整个大教室都坐满了,竞争挺激烈的。
笔试的话大部分都是c/c++的基础题,还有一些算法题,也参杂一了些Java和操作系统的问题,平时有做过题目的话基本上就OK。
然后顺利进入一面,面试官挺好的,比较有耐心,也不会专门往刁钻的地方提问。
开始时先让自我介绍,然后大概问了一点基本情况,学习成绩什么的,然后就开始问笔试时的一些题。
1. 第一个是最大子序列和问题:
a. 当时不记得动态规划怎么写了,就说了O(n^2)的解法:
int subMaxSum_1(int input[], int size)
{//对数组每一位,计算其向后累加和,累加过程中记录最大值,最终结果即为所求最大值
//O(n^2)
int subMax = 0;
for(int i = 0; i < size; i++)
{
int sum = 0;
for(int j = i; j < size; j++)
{
sum += input[j];
if(sum > subMax)
{
subMax = sum;
}
}
}
return (subMax > 0) ? subMax : 0 ;
}
b. 回去后把动态规划(O(n))的方法撸了出来,加深印象:
int subMaxSum_2(int input[], int size)
{//利用动态规划方法
//nAll[i] = max(input[i], nEnd[i], nAll[i-1])
//nAll为0~i的最大的一段数组和,nEnd是包含input[i]在内的最大一段数组和
//O(n)
int subMax = 0;
int nEnd = input[0