赞
踩
这几天去某知名互联网面试,总结下几次的面试题,做一次备忘录。面完之后,都让我怀疑人生了。
(1)多个线程顺序执行,如果有一个线程运行超时了,那么如何保证超时线程不影响其他线程执行?
答:使用Thread.join(超时时长)
(2)mysql的sql如何优化? 如何使用mysql的执行计划?
答:sql优化有很多优化方式,
在数据库和sql方面看:避免select *;sql使用变量; 使用索引;sql写法优化(like、exists、超长in、not in等)
在代码层面看:采用预处理方式;避免循环查询;使用批量插入和更新;如果数据量很大,可以使用原生JDBC方式查询
mysql 的执行计划,使用EXPAIN,SQL好坏关键在于type,
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
具体可参考:https://blog.csdn.net/q936889811/article/details/72576182(3)并发集合有哪些?
(4)mysql什么情况下会死锁?
(5)transition关键字是什么,ArrayList如何序列化的?
(6)java提供了哪些线程池,ExecutorService的几个参数是什么意思?第二个参数和第三个参数有什么关系?
(7)平时会用到哪些事务隔离级别?
(8)HashMap数据结构是如何的, equal和hash是什么作用?hash相同,那么equal是否相同? equal相同,那么hash是否相同?
(9)JVM默认gc是哪个? CMS怎么工作的? 为什么会出现STW(STOP THE WORLD)?什么时候会触发CMS?什么情况下会触发full GC?如果1G内存,那是否可以使用CMS?
(10)Java8的HashMap为什么要用红黑树? 红黑树的时间复杂度是多少?
(11)Java7的ConcurrentHashMap的数据结构是怎么样的?Java8的ConcurrentHashMap的数据结构又是怎么样的,为什么要用重量锁synchronized,而不用并发锁?
(11)分表分库上进行分页查询,SQL如何更优化?
(12)linux下,如何定位java的cpu占用率高的代码?
(13)熟悉哪些linux的命令, 如何查找出java的内存占用率高的代码?
(14)如果java有一个方法效率很慢, 请问如何排查?请说出来平时工作上遇到哪些类似情况,如何解决的?
(15)jvm有哪些常用命令?各有什么作用?
(16)描述下Dubbo的工作原理?如果Dubbo提供者、消费者配置都正常无误,但是会出现Dubbo消费者启动时会无法订阅到服务,请问什么情况下出现?
(17)SpringMVC的核心类有哪些? 一个请求参数如何传递到方法中的参数中?如果请求参数a, 那么对应方法中的参数有两个,一个是对象(对象有a属性),另一个是字符串a, 请问这参数a如何传递的?
(18)代理模式和包装模式有什么区别? 静态代理和包装模式从代码上是否很相似,那么什么会要区分这2个模式?
(19)为什么要用负载均衡,负载均衡有哪些?
(20)HashMap是否线程安全,为什么?
(21)Spring的Bean是否单例? 那么如何保证多线程安全?
(22)mybatis的${}和#{}有什么区别?
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。