java吧 关注:1,307,214贴子:12,878,711

回复:JAVA后端-5年-杭州 找工作记录贴哈

只看楼主收藏回复

7-13 15:00 第二家 线上面试 一面
自我介绍
离职原因
项目介绍
Q1:多线程怎么创建,参数怎么设置
A1:异步编排的一个线程池,CompletFuture;Executors;ThreadPoolExecutor
他这里问的应该是具体参数如何设置,核心线程数设置成什么,阻塞队列设置成什么等等
核心线程数,目前公司机器16c,CPU用的多话就16;IO多就32
非核心线程,核心*2
阻塞队列ArrayListBlockQueue,这个无所谓用哪个吧,生产基本都没出现过线程池刮的情况,除非是你代码写的太烂了
拒绝策略:abort,因为不太可能出现满的情况,这个用的默认的
后面就打断我了,进入Q2
Q2:用的JDK什么版本,JDK21虚拟线程了解过吗?
A2:JDK8/JDK17 springAI需要,了解过,类似于python的协程,传统一个请求对应一个OS线程,用的内核态,走的操作系统;虚拟线程是在JVM里面,类似于java对象,可以创建很多,并且内存占用小,传统需要涉及到上下文切换,寄存器的切换,比较重;并且虚拟线程碰到io会自动切换,也就是说我们可以用很少的虚拟线程处理大量的请求
Q3:Redis的zset怎么实现的?
A3:这里回答的说实话一般,数据过来忘记是怎么设置的,我记得是百分之25的记录晋升到下一层,然后构成一个多层级链表,比如最底层123456789,第二层13579,第三层1579,我们在查找的时候,依次从上向下查找,查6,就定位到57之间,依次向下查找
Q4:Redis的list怎么实现的?
A4:不清楚,ziplist压缩列表吧,这个没研究过
Q5:Redis的字符串怎么实现的?
A5:SDS,redisObject+数据存储空间,对象头包含,数据空间指针+空间大小+数据长度,数据长度<44字节,用的embstr,和对象头存一起,>=44字节,用的raw,另外开辟一个空间,并且后续如果修改数据长度embstr会直接转成raw,因为embstr存在缺陷,无法动态扩展长度,而raw可以动态扩展长度,后面没说完,被打断进入Q6
Q6:MQ怎么实现延迟消息?
A6:我只知道rabbitMq,TTL+死信队列,设置消息的过期时间,没有消费者,到期了,会自动被投递到死信的channel,由死信的消费者进行消费;或者通过rabbitMq的delayMessageExchange,指定header为x-delay-message(忘记是不是这个了),然后设置delay就能实现
Q7:我想知道的是为什么mq能判断他已经到期了?
A7:不明白到底啥意思,意思是我设置了5分钟的ttl,他怎么判断这5分钟 到期了?这个不知道,可能是算的吧,消息不能改ttl,因此在消息入库的那一刻就已经知道什么时候到期了,这个不是特别了解
Q8:mysql有哪些索引数据结构?
A8:这里面试官有点毒的,跟我扯半天,我说b树,叶子节点和非叶子节点都存数据,并且节点没有指针;然后演变成b+树,他说为什么要演变,我说b树查询速度不稳定啊,并且没有办法顺序遍历;他说哪不稳定了,和b+树不是一样吗,都是从树的头开始往下遍历,我说因为他都存节点,他的树一定比b+树高,b+树,只存索引和主键id,b树可能在中间就找到,也可能在最下层就找到,有的时候快有的时候慢,不稳定;b+树只会在叶子节点找到相对来说更加稳定
Q9:dubbo+zk用过吗?
A9:很早之前用过,现在都是用cloudalibaba那一套了,dubbo就是rpc调用的那一套吧;他说噢那你们注册中心用的nacos吧,我说是的
Q10:AI编程用的多吗?怎么用的?
A10:原先cursor+codex bash +claude code bash;cursor不太好用,java项目调试没发调试;后面idea插件有ccgui,用的idea+ccgui,一开始用的是opus4.5,然后用opus4.6,然后用glm5.1,然后用gpt5.5
Q11:碰到问题怎么排查?
A11:看碰到的是什么问题,正常范围内的报错,比如说用户参数填错了,外部接口报错了,这个不用排查,看一眼就知道了,并且有错误消息自动推送,可以及时反馈给客户;
如果是服务器问题,比如说stackOverflow、outofmemory,我记得应该是top -H,转十六进制,然后jstack pid grep 找到对应线程,查看对应代码,或者是通过jmap dump下来,到jvisualvm里面,看堆情况以及调用栈;或者jstat看GC情况
询问我有什么问题,结束


IP属地:浙江32楼2026-07-13 16:20
收起回复
    报告兄弟们,目前手里的面试


    IP属地:浙江33楼2026-07-13 16:25
    收起回复
      2026-08-09 09:57:49
      广告
      不感兴趣
      开通SVIP免广告
      今天4个面试,有的吃不消了
      10:30 14:00 16:30 19:30


      IP属地:浙江34楼2026-07-14 09:39
      收起回复
        泰隆银行 一面 10:00
        有点水,怎么判断sql运行速度,怎么判断数据库需要分表
        他问了一句skills和agent你们怎么判断用的哪个,是想用哪个就用哪个吗?
        一下子给我整懵了,agent不就包含skills吗,这两个职责都不一样,skills是别人写好的比较优秀的提示词模板,我不太理解这个问题
        问了下加班情况
        他介绍了一下他们的项目,什么前后端不分离,jsp servlet都来了,自己封装的spring
        夸脏哦


        IP属地:浙江35楼2026-07-14 10:59
        收起回复
          老哥面试挺多啊?啥背景啊。之前项目复杂么


          IP属地:北京来自iPhone客户端36楼2026-07-14 11:04
          收起回复
            老哥啥学历,怎么多面试,我也是在杭州 ,面试机会真的少


            IP属地:浙江37楼2026-07-14 11:16
            收起回复
              准备了多久面试


              IP属地:广西38楼2026-07-14 11:56
              收起回复
                14:00场 一面25分钟 二面 35分钟 ,hr+主管 17k
                hr面略
                主管面
                自我介绍
                项目介绍
                Q1:AI智能体的落地
                A1:这里举了项目中的AI AGENT,周报AGENT、客服RAG AGENT等等,以及CC-CONNECT做的错误日志发送给IM平台的AGENT
                Q2:技术难点以及应对策略
                A2:泛化的东西,比如刚接触到大模型有很多专业术语,以及不知道如何对接,通过和算法侧一点点对接掌握
                比如说我跟产品说要分表,但是工作量比较大,老板不同意,后面写说明文档、流程图,通过沟通达成目的
                Q3:技术广度与深度
                A3:掌握主流AI框架与工具链,熟悉Conductor、dify、coze等等平台,以及二次封装dify+xxljob,增强dify定时任务能力(封成镜像)
                大模型微调,使用Deepseek V3蒸馏模型在LoRA上微调,并在算力服务器AUTODL上部署
                理解神经网络与深度学习的基础等等
                这个公司主要做AIGC的,基本上过是没问题,部分内容我简化说明了,具体的实现这里不展示啦


                IP属地:浙江39楼2026-07-14 19:11
                收起回复
                  2026-08-09 09:51:49
                  广告
                  不感兴趣
                  开通SVIP免广告
                  16:30场二面三面四面总共加起来2个小时18k
                  面了太多的东西,其中闲聊的也有一部分,挑几个重点说一下
                  Q1:接口响应慢怎么处理?
                  A1:优先排查下游依赖,比如说下游的MYsql查询性能问题,比如说下游的xx服务,针对性的优化;但是有一些下游服务就是会比较慢,这个时候可以改为异步处理,页面即时返回,通过回调通知结果;顺带引入熔断机制提升用户体验,防止雪崩
                  Q2:分库分表的实践
                  A2:没有用分表中间件,通过mybatis的插件实现的,实现inteceptor接口,在执行sql前进行拦截,分表为xxx_xxx_{ep_id}
                  Q3:单表的增量数据如何处理?
                  A3:单表会有循环机制,只保留一个月的,冷备份多余数据;面试官问,那删除后的磁盘碎片问题有关注吗,mysql没有清理碎片的机制,这个类似于JVM的垃圾回收算法,我没了解过mysql的整理碎片的机制,这个没回答出来
                  Q4:OOM故障定位?
                  A4:如果有Prometheus或者skywalking,通过链路追踪查看响应时间与调用栈
                  没有监控则是经典排查流程top -h 转十六进制,stack 查看具体栈情况,jstat看gc,jmap dump出来导到visualvm里面看,启动类里面加oom自动dump
                  Q5:容器频繁重启排查
                  A5:我说指定容器卷,dump下来的放在容器卷,宿主机可以直接排查;或者docker log查看,然后他说我问的是容器频繁重启的原因,我说堆溢出,栈溢出,宿主机资源不足,他追问还有啥原因吗,我绞尽脑汁回答不出来,他告诉我有健康检查,类似于nacos的心跳机制,这个倒是知识盲点,没有了解过
                  Q6:多线程使用需要注意什么
                  A6:这里你说的应该不是简单的那几个核心参数的设置把,这里给他举了个例子,就是下游服务抽帧满,导致多线程卡死,把阻塞队列堵死了,引入多线程里面应该增加超时机制,不能无限制的等待下游服务返回,不然线程全部堵住了,并且需要引入幂等,这个是mq的场景,不能重复消费
                  主管面基本上就是闲聊,问我未来规划,AI怎么提效的,提效到多少,ClaudeCode的subAgent自动化测试什么的等等内容


                  IP属地:浙江40楼2026-07-14 19:41
                  收起回复
                    19:30场 一面13分钟 速通
                    项目介绍
                    项目难点
                    Q1:认为什么是优秀的代码?
                    A1:扩展性强整洁的代码就是干净的代码,比如说工厂模式+策略模式,只不过我们用的是工厂模式的另一种实现,通过map注册顶级策略接口的实现类,把实现类都注册到map里面,这样就不用写if一条一条判断了,前端传一个枚举,直接从map里面拿,扩展的话,只需要实现对应的策略接口,map会自动注册;其他的比如说模板方法也用的比较多
                    Q2:策略模式和观察者模式的区别
                    A2:不知道,没用过观察者模式
                    Q3:责任链模式怎么用的,什么场景用?
                    A3:在流程的业务经常用,比如说请假、审批什么的,在mybatis中有应用,里面有三个handler,statementhandler,parameterhandler,resultSethandler,彼此串联;在mvc中也有应用filter用的也是责任链


                    IP属地:浙江41楼2026-07-14 19:46
                    收起回复
                      目前手里的,大部分外包公司后续面试都不面了
                      后面就按照正常投递,不再投小公司了


                      IP属地:浙江42楼2026-07-14 20:06
                      收起回复
                        也全都是八股文,面试官自己都不一定做过


                        IP属地:浙江来自Android客户端43楼2026-07-14 23:41
                        回复
                          老哥也太强了,我这会儿在武汉这边也在找工作的,感觉自己做的那些准备和你对这些问题的回答了这么全面根本不值一提啊


                          IP属地:浙江来自Android客户端44楼2026-07-15 04:04
                          收起回复
                            牛批,兄弟


                            IP属地:上海来自Android客户端45楼2026-07-15 08:06
                            回复
                              2026-08-09 09:45:49
                              广告
                              不感兴趣
                              开通SVIP免广告
                              早起先把第一轮最后一个面试面完,后面就不面了,转正常投递


                              IP属地:浙江来自Android客户端46楼2026-07-15 08:41
                              收起回复