正浩创新,Java 后端,一面

简历的两个项目,请挑选其中一个做下介绍,讲讲项目的架构、亮点等内容

分库分表,一般使用什么主键去做?(项目中用到了分库分表)
数据库分库分表后,得到一个用户名时,如何实现到相应的数据库中去查询?

Redis 有哪些数据结构?
使用过 Hash 类型的数据结构吗?

你刚刚提到了设计模式(项目),你清楚有哪些设计模式吗?
责任链模式,具体怎么实现的,你清楚吗?

Redis 缓存穿透、缓存雪崩、缓存击穿 分别是指什么?有相应的应对策略吗?

有研究过 Spring 的源码吗?(除了 IoC、AOP)==> 目的:了解平常看的源代码多不多

常用的并发控制手段有哪些?不用讲太细,宏观层面即可,不用只局限于 语言层面(Java),其他手段也行(如:Redis)

你刚刚提到线程池,线程池有哪些常用的参数?
当请求不断增多,线程数和阻塞队列的变化是怎样的过程?
线程池中,核心线程数和非核心线程数是怎样设置的呢?

数据库中,聚簇索引和非聚簇索引?
索引失效的场景?
联合索引 (a, b, c),where b = xxx and c = xxx and a = xxx 会走索引吗?

现在有个 Controller ,函数中使用到了线程池,线程池核心线程数:16,最大线程数:16,阻塞队列长度:20万,每个任务的处理时间是 0.5 s,请求速度:每秒 100 QPS,这个时候会有什么现象出现?这个会有什么问题呢?例如:CPU、内存、服务请求数 这些指标会有什么变化?(注:任务不怎么耗内存,内存不会爆)

对面试官回答的复述(复述内容可能不正确,可能存在对原回答的曲解!!!):
16个线程,0.5 s 处理一个,1 s 处理32个请求,其他68个请求会被放到阻塞队列中(先进先出);存在很多请求堆积在阻塞队列,由于长时间得不到处理,客户端网络请求会有个断开时间,一般是1分钟左右,客户端断开,服务端可能会出现很多 CLOSED_WAIT  状态(TCP 四次挥手),由于 Linux 进程会有句柄数限制(65535),当句柄数被占满之后,用户请求进不来。
所以,前期会出现随着请求量不断增加,CPU使用率会一直增长到一定的水平后稳定,内存使用率随着队列积压逐渐上升,当文件句柄数到达上限后,这时请求已经进不来,请求量从刚开始比较均匀到后面就没有请求量了,CPU  仍继续处理队列中请求,整个服务出现“假死”现象。
#正浩创新校招# #EcoFlow#
全部评论
刚面完二面,居然是老乡😛
1 回复 分享
发布于 2024-12-20 16:29 湖南
分库分表主键选择
点赞 回复 分享
发布于 2024-12-23 04:02 浙江
问这么难?
点赞 回复 分享
发布于 2024-12-20 15:48 江西
你们是25届吗
点赞 回复 分享
发布于 2024-12-19 15:42 重庆
看来一个面试官哈哈,马上二面
点赞 回复 分享
发布于 2024-12-19 13:18 江苏

相关推荐

面试体验是很棒的,面试官都非常准时,面试过程中也会去引导,会沿着你的回答继续去问自我介绍项目介绍项目中提到的线程池干什么用的?还有什么创建线程池的方法?线程池的核心参数。拒绝策略?线程池收到任务后执行流程?如果请求量比较大怎么调参数?项目中 ConcurrentHashMap 干什么用的?为什么要用他别的不行吗?如果不用他你会怎么实现?介绍项目中对接ai生成可视化图表。项目中用 ThreadLocal 做什么的?知道 ThreadLocal的内存泄露问题吗?为什么要把key设置为弱引用? ThreadLocal底层是怎么实现的?为什么要用Redis作缓存?Redis为什么快?Redis雪崩和击穿问题。Redis大key问题。如果让你来设计你会用什么思路解决?除了缓存Redis还能干什么?用过Redis当消息队列吗?为什么不如MQ?刚刚提到Redis持久化机制,介绍一下。聊了聊笔试的第三题派对男女匹配问题说一下常见的排序算法,手撕归并介绍jvm垃圾回收算法。怎么判断对象是否是垃圾?假如你项目上线后突然有个功能出现故障了,要怎么办?之后就聊了聊学校学习的一些事,如果要学习新知识会怎么学?看视频还是看文章?怎么做技术选型的?问了下个人优点,有没有考研打算,为什么不考研?之前参加过多少面试?准备面试多久了?平时会去背八股吗?那如果遇到八股没背到的东西怎么回答呢?
查看16道真题和解析
点赞 评论 收藏
分享
评论
7
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务