网易互娱初级游戏研发(一面面经)估计凉!很详细!希望帮助你
点关注 , 不迷路;持续更新Java相关技术及资讯!!!内容源于群友投稿!记录面试网易互娱游戏研发的面经 , 整理一下经验 , 分享给大家 , 感谢支持!
文章插图
前言我主攻 Java , 面试官确定我不会 C 和 C++ 后放弃问了 , 就转向 Java 大本营 。
撕代码环节【网易互娱初级游戏研发(一面面经)估计凉!很详细!希望帮助你】面试总共 1.5h , 前 0.5h 手撕代码 , 然后面试官面了我 1h
代码题:实现数组的随机排序 Reorder()
题目:提供 rand() 和 floor() 函数 , 其中 rand() 生成 [0, 1) 的随机浮点数 , floor() 返回小于浮点数 f 的最大整数
样例输入:[7, 9, 0, 3, 1]样例输出:[3, 1, 0, 9, 7]
要求:算法尽量地高效 , 除了上面两个函数 , 不要调用其它函数
代码我就不贴出来了 , 本质上就是简单的“洗牌算法” , 然而我在写这个面经时才知道有这种算法 , 在面试时我都是凭直觉写的 。。 罪过罪过~
正式面试环节
- 自我介绍一下
- 解释一下你上面写的代码(我就说了乘一个因子)
- 有没有更快的算法啊(上面写的代码时间复杂度是 O(n) 了 , 我就想着怎么降低到 O(logN) , 然后突然提到分治?)
- 我们今天的面试分为 Java , 操作系统 , 计算机网络还有数据结构与算法 , 你做好心理准备哈(瑟瑟发抖 , 虽然面试官很随和)
- 你知道 HashMap 的实现原理吗?你知道什么就都说出来吧
- HashMap 是线程安全的吗?为什么?有哪些可以保证线程安全的方法呀?(Collections.synchronizedMap() , Hashtable , ConcurrentHashMap)
- HashMap 扩容过程呢?(以默认容量 1 << 4 这种写法解释 , 展开说)
- 你知道 Vector 和 ArrayList 吗?它们有什么区别呀?(线程安全性、初始容量大小、扩容机制、数据结构)
- 你知道 LinkedList 和 ArrayList 的区别吗?(数据的存储结构、查询、插入的时间复杂度···)
- 如果我有100W个数据要存储 , 你说用 ArrayList 好还是 LinkedList 好?(100W个数据 , 如果是遍历查找的话 , 其实性能已经体现出来了 , 寻址的过程会耗费时间;还有从占用空间方面考虑···)
- 你知道有哪几种锁机制吗?(我扯远了 , 扯到操作系统上了 , 估计面试官是想问 synchronized的锁机制 , 还有读写锁【共享、排它】、自旋锁、阻塞锁)
- 我们存储一个常量是存储在哪里呀?【 实际上这个问题是从操作系统问到“const”我不会 , 面试官转向问这个问题的;】(如果是字符串 , 在 JDK.1.6 还是 1.7 就被存到堆里面了 , 如果是其它运行时常量 , 则存在方法区/元空间)
- 你知道重载是怎么实现的吗?面试官说这是个探讨性问题 , 没有对错哈(我懵了····)
- 来写个单例模式吧(Double Check + Lock , 没错)
- 来写个生产者-消费者模型吧(跟面试官说第一次写 , 后来没写好 , 大体上没错 , 细枝末节有错)
文章插图
操作系统部分
- 你知道分页内存管理吧?说一下(一块块大小相同的页 , Linux 上是4Kb , 分配内存时将其分配为一块块内存大小相同的页 , 是一种离散式的内存管理 , 减少内存碎片)
- 那分段呢?(将程序看作成一段段连续的内存分配 , 弊端是有大量的内存碎片 , 当无法分配更多内存时 , 需要利用 Swap 空间整理内存)
- 网易云音乐上线“一键迁移”虾米歌单功能:还免费送3个月黑胶VIP
- 虾米音乐别了!教你把虾米导入QQ音乐网易云音乐
- 虾米音乐宣布关停!我的歌单如何导入QQ音乐、网易云音乐?
- 虾米音乐活跃用户一千万不到,QQ音乐、网易云音乐花式抢客
- 虾米音乐歌单可导入QQ音乐、网易云音乐 方法这
- 网易数帆亮相中台战略大会,解读云原生软件生产力实践
- 聊聊网易云音乐:“心动模式”
- 报告|年底了,支付宝晒剁手,网易云晒歌单,福佑卡车晒……
- 没有人在意你的网易云年终总结
- 网易宁波中心落户奉化,将给宁波带来什么?