9月28日晚上进行了一次视频面试,阿里广州游戏部门,下面说下这次面试的情况
1.自我介绍
介绍了做过的项目,面试官就围绕做过的项目进行深挖。
2.redis的集群方式
(1)主从模式
主节点挂了之后,需要手动将从节点调整成主节点
缺点:主节点挂了后,无法自动切换;集群的容量也很难扩容。
(2)哨兵模式
使用哨兵来监控主节点是否挂了,如果挂了,从节点主动切换成主节点。
缺点:集群的容量也很难扩容。
(3)redis cluster
把集群分成16384个槽,对KEY按CRC16算法获得值,再对16384取余数,通过客户端的配置获得节点的位置。集群也会有主从,当主节点挂了,从节点自动切换成主节点。
如果节点挂掉怎么办?
单个节点的并发量可以达到多少?
3.压测
压测是使用什么工具?
压测使用多少台机器?
压测的瓶颈是什么?网络?CPU?
怎么定位压测的瓶颈的?
4.SQL优化
怎么做SQL优化?有哪些场景?
表的数据库量有多少?有没分库分表?
如果表的数据量达到瓶颈时,怎么优化查询性能。
5.JVM
JVM优化是怎么做的?
OOM有哪些类型?
https://www.cnblogs.com/xiaoxi/p/7406903.html
第一种永久代内存溢出 OutOfMemoryError: PermGen space
第二种堆内存溢出 OutOfMemoryError: Java heap space
第二种 栈溢出 java.lang.StackOverflowError : Thread Stack space
怎么定位FULL GC的原因?
-XX:+PrintGCDetails -Xms20M -Xmx20M -XX:+HeapDumpOnOutOfMemoryError
使用JDK自带的工具jhat
6.有什么想问的?
面试官挖得比较深,很多没有答好,最后挂了。