【三七互娱】-Java岗-春招服务端开发

1.宣讲会笔试,20道单选,10道不定项(具体题目不大记得了)
2.到公司,一份开放题:
1.你认为java语言有哪些需要改进的地方
2.有没有遇到程序性能瓶颈,怎么定位和处理
3.你心中的游戏服务器是怎样的,工作原理是什么

一面(40min):

熟悉哪些linux命令
熟悉哪一些数据结构,举几个例子
讲一下tcp/udp区别,分别的使用场景
有没有使用过netty,网络编程的知识了解哪些
有没有看过哪些jdk或开源框架的源码,举几个例子,讲一下底层实现
hashMap底层结构,扩容机制,导致的性能问题
开发过程中线程池的使用,初始化参数意义
多线程环境下怎样保证共享变量是安全的,常见的几种处理方式
举几个juc包中类的用法
juc包中的类是怎么保证线程安全的,与之前的有什么区别
怎样实现无锁线程安全
讲一下jvm有哪些gc算法,实际开发有没有遇到过内存溢出现象,原因是什么,怎么定位和解决
平常用过什么设计模式(主要说了工厂和策略),举几个例子,具体怎么设计的,有什么好处
代码规范和设计方面怎么做,举几个例子(面试官提醒:借鉴代码整洁之道中的几个设计思想)
平常看什么书,怎么学技术
平常玩什么游戏
根据简历:
讲一下kmp算法和哈夫曼树
项目中主要负责什么部分,有没有遇到过并发环境下导致的线程安全问题,怎么解决的
做二次开发主要是用到金蝶云之家哪个部分的功能,怎么结合现有应用的(面试官之前是云之家底层引擎的开发者)

二面(30min):

jvm运行时数据区域有哪些,分别有什么作用
问有没有做过网络编程相关的经验,举几个例子
线程池的种类,为什么要使用线程池去管理线程
不加锁怎样实现线程安全
nio的底层原理,为什么异步非阻塞能够实现无锁线程安全,讲一下实现(还说底层有粒度很小的加锁机制,近似于无锁。。。我一脸懵,还有这操作?)
juc包有用过吗,讲一下AQS
volatile实现原理,它能保证线程安全吗,为什么能保证读取的变量值是最新的
atomic修饰的变量为什么能保证原子操作,实现原理是怎样的,是否加锁了
hashTable和currentHashMap的底层结构,两者分别怎样实现并发下线程安全,有没有加锁,1.7版本和1.8版本底层实现有什么不同
实际开发中juc包的使用,举几个实践案例
游戏服务器开发了解多少

hr面

说人太多,现在的hr面均转为电话面形式,一周内出结果。

发表评论

后才能评论