网易游戏初级研发工程师Java
菜鸡的一面:1h 30min
网易游戏的面试比较独特,进了面试间后,hr说,同学,先来做道题热身一下把还有这种热身的吗?i了i了
手写LRU,老LRU了,看到这题的第一反应,觉得稳了,后来下来发现自己还是写漏了一点东西,唉,老哈皮了我
后面一个小时,几乎都是问的基础和场景题
1.讲一下java里的HashMap和HashTable
2.ConcurrentHashMap讲一下
3.java里如何实现一个只读的集合
4.讲一下ArrayList和LinkedList
5.java里如何拷贝一个对象?
5.java里如何拷贝一个对象?
6.如何实现对象的深拷贝?
7.线程有哪些资源是共享的?
8.说一下僵尸进程和孤儿进程,该如何解决?
9.讲一下虚拟内存,它可以解决什么问题?
10.说一下JVM的垃圾回收算法
11.讲一下堆是怎么划分的,以及为什么要这样划分?
12.TCP和UDP能同时监听同一个端口号吗?为什么?
13.端口处于TIME_WAIT状态是什么原因,怎么解决?
14.IO多路复用了解吗?讲一下sellect、poll、epoll的区别
玩过哪些游戏?听到这个问题,我人傻了,平时不怎么爱玩游戏,只知道几个比较火的,但是貌似都不是网易出的,说了会不会不太好
没办法了,只能硬着头皮说,玩过绝地求生,CF等,脑子里搜索了下网易出的游戏,一个都没想起来。。。然后很抱歉地说,平时不怎么玩游戏,只喜欢体育。然后又被问了喜欢什么体育项目,答了篮球。我以为,都开始聊天了,不会这就面完了把,这么快。
没想到聊游戏只是为了放大招
刚才你说玩过绝地求生是吧,里面的缩毒圈知道把,假设现在已经出现了第一个毒圈,请你设计算法,实现等概率随机生成第二个毒圈(第二个毒圈要比第一个小,并且半径已知,不能超出第一个毒圈)。。。(当时一直在往二维映射为一维上想,说了个大致想法,面试官总是抓着细节不放,如何做到等概率)后来还是没有想出满意的答案。。。
然后给了第二个场景题:现在已知一个圆,和一堆点,如何用最快的方法找出哪些点在圆内?
先说了下暴力,然后让我优化,想了一会,想出来一个优化方法,貌似可行。
后来就真聊天了。
其他的问题暂时想不起来了,想起来了在加。
虽然菜的离谱,但还是希望能有二面。