一面(35分钟)2023.08.301、平常是怎么使用线程池的2、线程池参数3、核心线程数、最大线程数、阻塞队列的关系4、有几种拒绝策略5、核心线程怎么复用的(怎么保证核心线程不会被销毁)6、线程池执行一个worker是怎么进行调度的(简单说一下)7、获取线程的返回值,怎么做8、future的get是阻塞的还是非阻塞的(阻塞)9、ThreadFactory除了创建线程还有什么功能10、可以通过ThreadFactory统一的设置异常捕获吗11、项目中有使用过CountDownLatch吗12、CountDownLatch是用来干嘛的13、CountDownLatch怎么让一个线程等待所有其他线程执行完才执行,底层怎么实现的14、CountDownLatch用的共享锁还是互斥锁15、synchronized和ReentrantLock性能有孰优孰劣16、synchronized有做什么性能优化吗17、synchronized是可重入锁吗?synchronized公平还是非公平的18、ReentrantLock怎么实现公平锁的19、 JDK1.8的HashMap的hash函数做了什么优化20、为什么HashMap有个负载因子的设计21、HashMap解决了多线程操作导致死循环问题吗22、HashMap需要插入1000条数据,你怎么设置HashMap让性能比较高23、Redis为什么会产生big key问题24、Redis渐进式hash有了解吗25、Redis做分布式锁有什么要注意的26、MySQL的sql语句一般会怎么优化27、explain会关注哪些字段28、联合索引为啥会有最左前缀的原则29、SpringBoot的run方法具体执行哪些步骤30、MyBatis的一二级缓存
点赞 5
评论 1
全部评论

相关推荐

投递华为等公司9个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务