网易游戏社招面试经历
2018-08-31 本文已影响0人
万士辰
个人情况:
学校:华侨大学
专业:软件工程
入学时间:2012年
工作经历:
2015年7月-2016年11月,飞鱼科技,游戏研发工程师,负责若干休闲游戏及平台SDK研发
2016年11月-2018年8月,心动网络,游戏研发工程师,负责创想世界及一款立项中的Demo全栈研发、相关自动化及工具链研发
面试来得比较突然,所以并没有刷面试题、复习算法,基本是裸奔水平
面试职位:
游戏开发工程师(自研引擎、C++、Python)
一面(电话、资深):
自我介绍:自报户口本式
战斗系统:网络消息同步、抗网络波动、手感及数据校验(表现本地先行、数值效果定期修正)、技能及Buff系统、战斗相关策划配置抽象
底层系统:游戏资源、内存、缓存管理等
排序算法:各排序稳定性、快排实现
大文件处理:4G内存电脑,20G大文件,文件内容空格分割的字符串,求出现次数前十的字符串
语言相关:GC实现原理
其他:随口就来的小知识点,记不太清了
二面(现场、主程):
自我介绍:同一面
战斗系统:同一面
底层系统:同一面
语言相关:C++与C#的区别
程序基础:比较二维数组遍历方法的效率(先行后列、先列后行、正序、逆序)
算法:abcdefg乱序数列,选了某个数,相邻的数不能再选,求最大收益的选择序列
业务逻辑:服务器维护玩家Rank,实时获取前100玩家名单
个人工作内容倾向
三面(现场、技术总监):
一面+二面的内容
热更新:Lua、C#交互原理以及存在性能问题
语言相关:C#反射、C++反射
多线程:线程安全、通讯等
综合考核:
程序内每个函数的头尾均会输出一次带有函数头尾标识、时间戳的Log。现有一个由Log组成的文件,需要向主管上报统计后的数据。
1.打算上报哪些内容
2.如何统计这些内容(手写伪代码 O(n))
3.增加条件多线程输出
4.增加条件输出过程中有崩溃异常
个人职业规划
个人业余兴趣爱好