近期出现的一些比较难的面试题

最近在看牛油的面经,整理了一些比较难的面试题,只给出最简单的回答思路,希望对大家有些帮助

SpringBoot中注解是怎么生效的?为什么在方法上加了注解,这个代码就用运行到这个切面里面去了,这是什么原理?

基于Java反射和动态代理。启动时扫描注解,生成代理对象嵌入切面逻辑,方法调用时通过代理机制切入增强代码。

数据库分表可能会带来哪些问题?

  • 跨表查询复杂(需合并结果或多次查询)
  • 数据分布不均(热点表)
  • 事务一致性难保证
  • 扩容复杂度高(如数据迁移)

介绍 or 设计一种洗牌算法,使得牌尽可能的分散?

Fisher-Yates算法:从后向前遍历,每次随机选择当前位置之前的牌交换,保证每张牌出现在任意位置概率均等。

数据量大、并发又高的时候,怎么写入数据库?

  • 异步批量写入(如攒批提交)
  • 分库分表 + 消息队列削峰
  • 使用数据库连接池及批量操作API

按相同请求(如同一客户端IP)映射到同一台服务器的负载均衡策略,除了可能导致负载不均衡,在功能实现稳定性方面还有什么可能的问题?

  • 服务器宕机导致映射失效(需重新哈希)
  • 用户IP变化(如动态IP)导致会话丢失
  • 无法灵活调整后端服务器数量(哈希结果剧变)

mysql隔离级别 下单业务选什么隔离级别?

RR或RC,这个地方不太确定,gpt给的是rr

Java伪共享问题?(cpu缓存频繁失效)

多线程修改同一缓存行中的不同变量,导致CPU缓存频繁失效。解决方案:填充字节使变量独占缓存行(如@Contended注解)。

Java的join关键字是干什么,是怎么做到这个效果的呢,从原理角度讲讲

底层调用wait/notify机制:主线程在子线程对象上wait,子线程结束时JVM自动调用notifyAll唤醒主线程。

避免死锁的四个充分必要条件中哪一个最重要?

破坏循环等待(如统一资源申请顺序),实践中最易实现且效果显著。

全部评论
事务隔离级别读已提交就行,主要是可重复读导致的数据不一致太少见了。大部分数据不一致还是因为异步和分布式场景导致的。 Oracle 和 pg 默认都是读已提交,用来存钱都没啥问题,订单更没啥问题。为了极少数的数据不一致的场景牺牲大部分场景下的性能,不划算
1 回复 分享
发布于 09-26 09:35 北京

相关推荐

10-24 17:18
已编辑
南京大学 Java
前几天面的,近段时间零零碎碎的事情蛮多的,没心思更新,今天抽空写一下面经。岗位:Java开发10.17一面时长: 30min左右 + 25min手撕纯八股,后面手撕两个题目面试平台: 钉钉面试前面试官加vx沟通面试相关事宜自我介绍稍微聊了下简历上的两个项目(没深问)然后开始拷打八股:- Spring & SpringBoot 的区别- 有哪些注解- 说说自动装配- Bean的生命周期- 怎么避免循环依赖- 启动的时候如果遇到循环依赖,此时应该怎么解决(上一问答得不好,只说了三级缓存,面试官不是很满意,这里想引导一下的,奈何lz确实不知道...)- 线程池核心参数- 结合这些参数说一下线程池的工作流程- HashMap扩容机制- 两个数据的哈希值一样会放到一个数组下标下么?介绍下元素放入HashMap的过程- ThreadLocal介绍下- ThreadLocal底层原理- 强引用,软引用,弱引用,虚引用 介绍下- ThreadLocal里面的key & value分别是哪些引用- ThreadLocal内存泄漏问题- redis基本数据结构- 有list为啥还要zset? 你觉得他俩有什么区别(回了说元素的唯一性,面试官也想听这个...)- 缓存雪崩& 缓存穿透以及对应的解决方案- 布隆过滤器的一些实现细节(这里拷打挺细的)- redis集群有哪些节点,讲常见的即可(分布式这块准备的不是很充分,答不上来)- 分布式锁了解么?- 公平锁 & 非公平锁- ReentrantLock里面咋实现公平锁& 非公平锁的(没答上来,面试官说答不上来没事,确实有点细,不知道也正常)然后聊了会天,主要是关于AI的:- AI这块用过啥么? (回了RAG,上学期团队合作做过一个简单的RAG系统)- 细说下你了解的RAG- 为什么要有RAG(RAG的好处)反问了一下技术栈以及反馈时间,说是半小时内给结果。然后发邮件过来手撕两个题目。1. hot100滑动窗口最大值(lc239), 不过题面描述略有差异2. lc1189,一开始以为是原创的,后面找了下发现lc上有,是easy难度。不过加了个要求:时间复杂度要求O(n),空间复杂度要求O(1)  当时就用了桶计数的方式写了,不知道对不对。反思:被面试官评价基础不错,但是框架部分不太行。 其实问的不难,奈何部分问题确实没准备到,给我机会我也把握不住目前“评估”这一步是过了,不过快一周了还是“面试中”,也没有后续约面,昨天找面试官看看进度,面试官说有空问问,结果到现在也没回。感觉应该是挂了,但确实是自己能力不太够,挂了也无话可说。不过整个面试过程是秋招至今最好的一次,面试官非常nice,交流过程非常愉快的,有的地方还给建议说应该怎么回答会更加分,讲的一般的地方也会给点提示引导你重新回答,真的很赞;面完之后还给了点复习建议,让我好好准备后面的面试。10.24更新第二次找面试官问问情况,被暗示应该是挂了。哎不是,那你倒是把我流程结束一下啊😅,现在搞得想投别的部门的实习都投不了
查看56道真题和解析
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

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