简单来讲下上周面网易互娱的心得(因为我不是走内推而是直接怼笔试的,所以上周才有了笔试结果然后被告知面试),我面的岗位是游戏研发工程师(初级)
一面(40分钟左右)
开始是简单的自我介绍
C++:
关于C++问的比较简单,因为我跟面试官说我主要学的是Java(其实这点我也比较担心会有影响),问得有
针对C++问得有virtual关键字和静态库与动态库
但是两种语言的共性——面向对象总有很多可以问的
先是问了对多态的理解,这点不难,我用自己的话来解释了多态;接着面试官顺着我的回答问了一个设计模式中的策略模式,我答这就是用了多态的特性,我用一个针对不同特权玩家的充值优惠策略来举例,简单写了一下类关系图,解释了策略模式是怎么运用的
算法:
从Java问起,问的是HashMap怎么实现(hash表),怎么解决哈希冲突(链地址法+红黑树),尽可能的避免hash冲突(0.75的负载因子)
解释快速排序,然后给了我一个数列,写出这个数列经过快排一趟之后的结果
同样一个数列,写出归并排序的整个过程,这两个对我来说还是比较轻松的。
后面补充问了时间复杂度,并且在纸上推导快速排序的时间复杂度,我大概推了5分钟吧,因为比较久远有些忘记了。
DFS的话,给了一个迷宫,描述DFS走迷宫的整个流程,具体到走到哪一步,对应的标志会发生什么样的变化