疯狂游戏后台面试经历

1. 自我介绍

​ 这是面试相当重要的一个环节,建议提前准备好模板,自己多对着镜子练一练。

2. 大学里面除了上课还做过什么?

​ 我只说了acm,但是面试官似乎不太满意。

3. 你现在在100层,一次只能下1层或者2层,请问到1层有几种方法。

​ 写代码的时候一定要注意代码规范,而且这个题我没用记忆化,可能面试官只考察你对递归的使用。

int fnc(int n)
{
	if(n == 1)
	{
		return 1;
	}
	else if(n == 2)
	{
		return 2;
	}
	return fnc(n - 1) + fnc(n - 2);
}
4. 面试最后一题用了优先队列,讲一讲优先队列的内部排序是怎么样的

​ 我上来就说了快排,但想了想还是说了堆排序,因为没当我们push进去一个元素,前面的元素都已经排好了,所以在这种情况下用堆排序就好了。我还以为要问堆排序的实现(提前没看),慌得一批,但是没问。

5. 把C++多态的实现讲一下吧

​ 只要面试C++都会问这个问题,建议准备模板。

6. 你刚才提到在工作中做过负载均衡,简单讲一讲吧。

​ 其实就是P2P模式,讲了讲C/S模式和它的区别,和用在项目中的好处。

6. 都用过什么数据库,说一下数据库的索引

​ 就是让你介绍一下b树,结果我上来懵了说了个红黑树,刚想改口,面试官就说下一个问题了。

7.说一下tcp和udp的区别,如果让你使用udp实现一个可靠传输,应该怎么做?

​ 这个问题还是比较好的,广了说会考察你对这两者的速度和可靠性的差别,如果细说会考察你对三次握手,拥塞机制的了解,然后第二问题,我直接说不会。

8.讲一下虚表

​ 我听都没听说过,应该是虚函数表吧,我就虚函数表的原理大体说了说。

9.简历上写到你会redis,讲一讲吧

​ 我只读过redis的源码,把redis内部实现各种吹,但是面试官对此并不感兴趣。可能只注重你对redis的使用。

10.简历上看你写过贪吃蛇,怎样避免蛇形成环形然后自己在里面绕?

​ 这个情景想就能明白吧,就是蛇太长了,自己围成了一个差不多正方形的形状,然后在里面画圈圈,如果避免呢,我说直接bfs是肯定不可以的,要加几个判断条件,然后具体是啥我也不知道。

11.讲一讲自动寻路的算法

​ 那肯定是A*啊,启发式搜索,讲了一大堆。

总结:

​ 面试官水平还是很高的,公司采用了go + mngodb相关的技术,但是结束的时候评价我了解的还是有些少,说我笔试挺好的。只刷题还是没有用啊,都没怎么问,还是多做一些项目吧。

原文地址:https://www.cnblogs.com/Jawen/p/11356011.html