8.15 网易游戏互动娱乐提前批面试(初级游戏研发工程师)

1、笔试(手撕代码)

两道题,半小时。

1)单字符串压缩 :

输入:ABBBCCD , 输出AB3C2D

2)多字符串压缩

输入:AABCABCD,输出A(ABC)2D(暴力写了一半,时间到了)

2、一面

0)自我介绍

1)笔试代码交给面试官。(我介绍了自己代码的思路)

2)多态,多态的实现,派生类虚表的布局是怎样的(虚表布局不太清楚)

3)模板类了解吗?实现一个unique_list容器(插入操作)(手撕,借助vector实现的)

4)STL的使用,哪些容器用的比较多,介绍一下

5)vector容器的扩容

6)n个元素插入一个空的vector对象里面,时间复杂度是多少?O(N)(白扯了半天,在面试官的一再提醒下,才算清执行多少次复制操作)。

7)(最大或最小)堆了解吗?给你一个无序数组,怎么调整成一个堆,时间复杂度是多少(O(N))。我问能用优先队列吗?ans:笑着说,当然不能。

8)在一个堆上插入一个元素,怎么调整,时间复杂度多少(O(LogN)

9)问你一下网络编程吧,介绍一下滑动窗口机制和作用(流量控制和拥塞控制)

10)介绍一下select()和epoll()区别(1.文件描述符的限制;2.检查机制;3.fd在内核和用户进程之间的拷贝)

11)了解操作系统吗?介绍一下LRU。想一下用什么数据结构实现LRU比较好。(先说链表,想了一下还是堆比较好)

12)介绍一下操作系统中的锁(互斥锁,读写锁)

13)只有互斥锁,如何实现读写锁?(纠结了老半天,面试官提醒了好半天,设置读写标志位)

14)图形学了解吗?(不)

15)介绍一下红黑树

16)用的哪个版本的C++?C++11了解多少?

17)还有什么问题吗?(我问,下一面面什么?不告诉我)面试官是挺年轻的小哥哥,态度也挺好,各种提示,面试完让我去休息区等二面通知。

3、二面(基本照着简历问,问了东西比较深,开放性问题比较多,有点懵)

0)自我介绍

1)说说你比较有成就的一个项目(介绍了京东的《GOC城市物流运输车辆智能调度》的比赛)

2)你对STL了解吗?是通过读源码吗(STL源码剖析)?通过这本书,学到了什么?

3)说说你最擅长的三个方面

4)B+、B-树了解吗?(不太了解,知道avl树和红黑树)

5)什么时候读的UNIX网络编程和Redis设计与实现?

6)Redis事务支持到什么程度(不会)

7)Redis的持久化?(RDB和AOF)。RDB怎么实现的?

8)读Redis的源码了吗?(读了一部分)

9)主从服务器如何同步?如何发现主服务器掉线?谁来发现?如何实现?哪个服务器来实现?(????懵)

10)主服务器故障,在从服务器中如何选举一个新的主服务器?(a:从服务器直接向邻居拉选票;q:会出现死锁,怎么解决?a:发送的数据包带时间戳;q:时钟不同步呢?a:那就根据各个从服务器的数据状态。)

11)设计一个分布式邮件系统,包括一对一发送和群发功能?(面试官递过来了纸和笔,慌的一批)

12)1g数据的文本文件,不知道行数,每行都是一个整数,求和?可以使用电脑一台,4核。(ans:哈希成四份文件?ques:效果可能更差,再想想。... 懵)

13)求和的那题。 比较耗时的是那部分?(ans:字符串转为整数。ques:嗯,不是,I/O最耗时,再想想?...继续懵)

14)设计模式了解哪些?(Reactor、Observer)

15)C++11了解多少?

16)有没有经历过比较大的打击?

17)职业规划?

18)薪资待遇?

19)有没有收到其他offer?

20)还有什么问题吗?简历留下,面试结束。这周或下周给结果。等消息吧。

 

可能还有其他问题,记不太清楚了?

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(面经)