捌玖万亿-Java开发一面面经
面试题目
- 用大模型来帮你判断CICD执行的合理、成功还是失败?还是代码有没有问题?
- 你是游戏业务,你对游戏有什么了解吗?
- (笔试题)这题的难点在于哪?你写代码时重点要考虑的几个关键点?
- 如果上阵的是二级,背包里能合成三级、四级,是不是要给它替换上?
- 代码核心while循环里,你前面把镇上和背包全放在PQ1了,但最开始PQ2一定是空,怎么处理?
- 函数声明是void,要原地改背包和镇上的数据,你这里面有对他修改吗?
- (单词题)你觉得这道题的难点是什么?
- 解释一下你的处理流程(Boss血量问题)。
- 你自己做过哪些多线程开发?加锁遇到过问题吗?
- 为什么需要队列?如果全靠加锁,其实不需要队列?
- 有什么需要问我的吗?
参考解析
- CICD与大模型:重点在于LLM对日志语义的理解能力(正则匹配不足以处理复杂报错),以及通过提示词工程分析构建流程中的配置错误或代码静态扫描异常。
- 多线程开发与锁:考察并发编程深度。建议结合CountDownLatch/Semaphore等协作工具回答,强调锁粒度控制、死锁预防及CAS操作的适用场景。
- 队列与锁的区别:锁保证的是互斥,而队列解决的是生产者-消费者的解耦和任务削峰。若全用锁,会导致高并发下线程严重阻塞,降低吞吐量,且难以实现任务异步化处理。
- 算法题逻辑:这类题目核心在于状态管理(如合成逻辑、血量扣减),关键点在于边界条件的覆盖(如背包空、资源不足)以及数据结构选型(如使用优先队列PQ处理战斗力数值)。