多益游戏研发工程师(莫名其妙的凉了,也没有反馈)(java)
还好面试之前翻了一下周志明老师的书,太爱你了,好几个问题都有解答。
1面
-
一分钟自我介绍和项目介绍
-
项目用到的新技术
SpringBoot、SpringCloud、Redis
-
Redis的了解
基本数据结构、用于项目中数据的缓存
-
Redis和mysql的区别
一个是用内存,一个使用磁盘,效率不一样
-
讲一下垃圾回收算法:
s说了引用计数算法和可达性分析算法,还描述了一下他们的流程(还好最近买来深入理解JVM看了一点。。。)
-
最近在看的知识
深入理解JVM虚拟机,关于线程安全的实现和jdk中锁的优化
-
为什么要看这本书
因为公司项目用到了一些虚拟机参数,然后最近debug的时候经常看到ClassLoad这个类,还有就是经常能看到关于多线程的一些知识点,所以就想去了解一下JVM相关的这本书。 -
游戏后端相关的技术栈
C++,unity3D(回答了,但是不对,这些偏前端,让我去多了解涉及的技术栈)
-
运算符为什么不能继承
没听过
-
实习的内容
简单回答了一下上一份实习的内容
-
svn的使用
checkout、commit
-
有没有写过批量提交的脚本
没有
-
git和svn区别
不了解(平时只是使用他们来存储代码)
-
HashMap
说了自己刚写了一篇文章就没问底层了
-
HashMap的负载因子为什么是0.75,如果改成1有什么影响
不了解,简单分析了一下如果是1的话,直到map存满了才会扩容,影响就不清楚了
-
怎么样算是一个好游戏?
用户量、剧情策划
-
让你设计吃鸡中道具加载的方案(道具已经随机生成好了在海岛上的坐标)
思考了一下回答:存储玩家所在的坐标和道具的坐标,实时计算出玩家和道具之间的距离,到达一定的距离内将道具加载出来。
-
追问:如果有一百万个道具怎么办,海岛这么大,你该怎么设计?
思考之后:可以将海岛地图划分坐标区间,到达某一区间之后再开始计算该区间内的道具与玩家之间的距离
-
再追问:如果刚好在两个相邻区间的边界上有一些道具,这时应该如何设计?
思考之后试探性回答:可以将边界上的物品单独存储吗?
面试官提示不能,说可以做一些冗余加载,在机器性能的允许情况下,可以加载一个区间及其相邻区间上的物品
-
十分钟写算法:LeetCode-78:子集 https://leetcode-cn.com/problems/subsets/
算法太拉,歇菜了,用的暴力循环。。。
-
对加班的看法:钱给够,公司是我家
反问:
开发游戏的语言:主要是c++和Python,很可能要学习新的语言
此次面试的情况:其他情况良好,关于游戏的技术栈需要多加学习
求hr面
#java求职##面经##秋招##Java##多益网络#