首页 > [含内推码]网易互娱sp游戏研发已意向书
头像
YTP327
编辑于 2020-08-24 10:31
+ 关注

[含内推码]网易互娱sp游戏研发已意向书

提前批7月投递面试,8月13号收到意向书。因为实习比较忙一直没写面经,晚上睡不着,把这个补上。

我的网易互娱内推码:kZucVY

内推可以增加简历通过率和免笔试哟!

7月初投递网易互娱提前批sp计划的游戏研发岗位

7月12日通过简历初筛

7月24日一面(60min)

一开始直接算法题:

距离场是是一个应用非常广的数学概念,记录了屏幕上各点到物体轮廓的距离,比如下面的矩阵:

1 1 1 1 1 1

1 0 0 0 1 1

1 0 -1 0 0 1

1 0 -1 -1 0 1

1 0 0 0 0 1

1 1 1 1 1 1

0元素表示了物体的轮廓
-1表示轮廓内部点距离轮廓的默认距离,1表示轮廓外部点距离轮廓默认距离。每两个点之间的曼哈顿距离,是可以计算出来的:|x1 - x2| + |y1 - y2|。

问题:求出所有点距离轮廓的最近的曼哈顿距离,比如对于上面那个矩阵,结果是:

2 1 1 1 2 3

1 0 0 0 1 2

1 0 -1 0 0 1

1 0 -1 -1 0 1

1 0 0 0 0 1

2 1 1 1 1 2

所以给出一个数组m[][],实现 int ** calculateDF(int ** m, int n, int m)

#coding=utf-8

import sys, collections

#str = input()

#print(str)

def calculateDF(matrix, n, m):

    queue = collections.deque()

    for i in range(n):

        for j in range(m):

            if matrix[i][j] == 0:

                queue.append([i, j])

    visited = [[0 for i in range(m)] for j in range(n)]

    while queue:

        i, j = queue.popleft()

        if visited[i][j]: continue

        visited[i][j], minDis = 1, m*n

        if matrix[i][j] == 0:

            if i > 0 and not visited[i-1][j] and matrix[i-1][j] > 0:

                queue.append([i-1, j])

            if i  0:

                queue.append([i+1, j])

            if j > 0 and not visited[i][j-1] and matrix[i][j-1] > 0:

                queue.append([i, j-1])

            if j  0:

                queue.append([i, j+1])

        else:

            if i > 0:

                if visited[i-1][j]:

                    minDis = min(minDis, matrix[i-1][j])

                else:

                    queue.append([i-1, j])

            if i 

                if visited[i+1][j]:

                    minDis = min(minDis, matrix[i+1][j])

                else:

                    queue.append([i+1, j])

            if j > 0:

                if visited[i][j-1]:

                    minDis = min(minDis, matrix[i][j-1])

                else:

                    queue.append([i, j-1])

            if j 

                if visited[i][j+1]:

                    minDis = min(minDis, matrix[i][j+1])

                else:

                    queue.append([i, j+1])

            matrix[i][j] = minDis + 1

    return matrix

matrix = [[1, 1, 1, 1, 1, 1],[1, 0, 0, 0, 1, 1],[1, 0, -1,  0,  0,  1],

[1,  0, -1, -1,  0,  1],[1,  0,  0,  0,  0,  1],[1, 1, 1, 1, 1, 1]]

print(calculateDF(matrix, len(matrix), len(matrix[0])))

二十多分钟写完,然后聊了十分钟项目和暑期实习。然后基础的网络题目https访问网页的过程,我答了DHCP分配ip,ARP,DNS,TCP三次握手建立连接,HTTP get的过程。然后追问http和https的不同,答多了s安全,属于非对称加密。然后又聊到非对称加密和对称加密的异同。问HTTP 1.0, 1.1, 2.0的区别。问了linux知道哪些指令,线程和进程区别。然后我反问项目分组之类问题,网易互娱的游戏研发是两批入职5月和7月,进去。先做一个月左右迷你项目,最后分组。感觉这个还挺重要的,组和组之间工作量和成就都差别不小。最后简单聊聊游戏经历结束。

7月29日二面(50min)

应该是组长级别的面试官。简历聊的非常多感觉应该有20多分钟,我开了屏幕共享,展示了我siggraph的论文的demo。顺着项目问了很多,怎么实现低延时的强健网络。问了unity坐标系转换相关问题。AR中虚拟模型和现实物体的校准。我说了转换矩阵,论文里用的改进RANSAC算法不太熟就没说。然后聊了游戏经历。问了一个设计问题,怎么实现玩家人物到目标地点的寻路推荐,要求多条路径给人选择。路径按照长度降序排列,玩家在走动时路径也要相应变化。答关键点要在地图上设置路标,路标间的距离要存储,这样才能实现实时寻路,不然遍历像素点时间太长。可以用迪杰特斯拉,A*或bfs寻路。然后简单说了一下bfs(其实前两个算法印象都不深。。。)。然后一个逻辑题,12个小球一个天平,只有一个质量与其他不同(不知道轻还是重),最少多少次称出那个小球。3次,分类讨论解释了一下。

中间等了好久,八月第一周问hr,她说周末前有结果。结果没消息,感觉凉了,都move on了。8月13日收到意向书,岗位是游戏研发工程师(sp)!!说九月中会有带薪offer。今年秋招不容易,大家好好准备,也祝你们offer多多。网易正式批开始了,大家也来投网易互娱呀,网易最赚钱的部门,用我内推码简历过的话直接面笔试!

全部评论

(7) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐