【笔试】网易游戏——直播开发实习生

来源:互联网 发布:ubuntu 14.04 glib 编辑:程序博客网 时间:2024/05/22 01:39

前天下午参加了网易游戏的中大专场实习生招聘,感觉好久没有看到纸质试卷了,网易游戏笔试比较全面,方方面面都考了,有单选、多选、填空、编程。稍微记录一下还记得的几道不会的题目及知识点,好好加油~继续努力!最后面的答案是我自己回来之后百度+算的,出现错误欢迎指出。
PS:吐槽一波,笔试教室少说50个人肯定是有的,才5个妹子,想着隔壁面试非技术岗的妹子,内心震惊而忧伤……


单选题

  1. 文本加密算法
  2. 构建与表示分离的设计模式?
    A. Prototype
    B. Factory Method
    C. Builder
    D. Abstract Factory
  3. 视频的编码标准
  4. 对事务T对数据加上S锁之后,其他事务对数据进行的操作?(加上什么类型的锁,可读/写?)
  5. LRU算法(常见问题,给出序列,问缺页中断次数)

填空题

  1. #define CONS(a, b){ a##e##b},CONS(2,3) = ?
  2. 在32位机器上判断一个有符号整数是否为3的幂,不使用循环及递归。(Tips: 3^21=10460353203, 3^22=31381059609, 3^23=94143178827)
  3. http的bad request对应的状态码?
  4. 2017!有多少个0?
  5. (103^207)%7=?

答案

单选题
  1. 文本加密(参考[1])
    题目给出了四个选项,问哪个不是,然而我只知道RSA是,其他随缘蒙了一个ORZ
    单向加密算法:BASE64(严格来说属于编码方式而非加密算法)、MD5、SHA、HMAC
    对称加密/非对称加密算法:
    DES、PBE、RSA、DH、DSA、ECC
  2. C
    这个完全不懂,稍微看了一下23种设计模式
  3. 选项有一个是aac,是音频编码标准,我一时脑抽好像选错了,回来才发现有哪里不对QAQ虽然问的是编码标准,但实际上是在问封装标准,常见的有AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV。感觉就是个常识题(对,我就是没常识了一波)
  4. 基本的封锁类型有两种:
    共享锁(S锁/读锁)
    若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
    排它锁(X锁/写锁)
    若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。
  5. LRU算法(Least Recently Used)
    基于局部性原理,即前面频繁使用到的页面可能在之后的指令中也会被频繁使用。在每次调换时,找到最近最久使用的那个页面调出内存。
填空题
  1. 2000
    考察宏(define)中#和##的用法,#把宏参数变为一个字符串,用##把两个宏参数贴合在一起,所以得到的结果为int(2e3)=2000。另外一些有趣的用法
  2. 是否为3的幂:首先找到一个最大的3的幂max=Math.pow(3,(int)(Math.log(0x7fffffff)/Math.log(3))),判断传入参数n是否为max的约数,即符合max%n==0;
    以上是比较通用的方法,实际上笔试的时候我考虑的一种特殊的方法适用于2的幂,考虑2的幂的二进制表示只有最高位为1,按位与 n&(n-1)==0则表示该数字为2的幂(排除数字1),然而考虑到负数,此方法不成立。
  3. 400 这么多状态码根本记不住的万能百度链接
  4. 502 考虑质因子,计算2017!里有多少个5,25,125,625,数量之和为结果[2017/5]+[2017/25]+[2017/125]+[2017/625]([]表示取整数部分)
  5. 6
    (103^207)%7 = ((103%7)^207)%7 = (5^207)%7
    接下来就是找规律时间
    (5^0)%7 = 1
    (5^1)%7 = 5
    (5^2)%7 = 4
    (5^3)%7 = 6
    (5^4)%7 = 2
    (5^5)%7 = 3
    (5^6)%7 = 1
    (5^7)%7 = 5
    其实这里有个数论证明,必定是有规律的,则有a^b%c=a^(b%phi(c)+phi(c))%c 证明
0 0