面经详情

Java面试一般,共2轮面试
初面
Q:1、JVM的垃圾回收器有哪些?
Q:2、Serial、Parallel、CMS、G12、MyBatis 中 # 和 $ 的区别?1条回答
# 预编译后生成占位符,$ 类似于字符串拼接;# 比较安全,$ 容易造成 SQL 注入
Q:3、什么是 SQL 注入?1条回答
(我给忘了)sql注入是一种将sql代码添加到输入参数中,传递到sql服务器解析并执行的一种攻击手法
Q:4、知道内存溢出吗?
OOM 的话,有栈内存溢出,举个例子像递归忘记写递归出口,就容易造成栈内存溢出;堆内存溢出的话主要是堆内存空间不足,比如对象太多垃圾回收器处理不过来,而且都是强引用
Q:5、生产上 OOM 怎么排查?
(有一点印象但还是不会)
(1)通过top命令找出CPU占比最高的进程;
(2)jps -l 找到后台 Java 程序;
(3)定位到具体线程或代码 ps -mp 进程 -o THREAD, tid, time
(4)将该线程id转成16进制(
(5)jstack 进程id | grep tid -A60找到具体代码
Q:6、JVM常用参数有哪些?
-Xmx:最大堆内存空间;-Xms:初始化堆内存
Q:7、生产上有千个接口,但客户说太卡了,怎么排查哪个接口有问题?1条回答
不太懂......但感觉是用 Spring AOP 切入各个接口
Q:8、JVM 堆内存是怎么样的?
堆内存主要有新生代和老年代,其中新生代分为 Eden、S0区、S1区。新生代中主要发生 Minor GC,老年代主要是 Full GC9、
  • 你有什么想问的?
  • 如果有幸加入贵司需要做什么?
  • 需要学什么技术?
  • 我的面试情况来看您觉得我还有什么欠缺的?

相关推荐

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网广州棒谷网络科技有限公司广州棒谷网络科技有限公司面试经验广州棒谷网络科技有限公司面试经验:Java面试一般,共2轮面试
正在招聘文员/助理(服装)75 个岗位