没有面试就好好沉淀

没有面试的日子里,不是躺平摆烂,也不是焦虑地刷招聘软件等消息,而是把这段 “空窗期” 当成充电蓄力的黄金时间,为下一次面试攒足底气。
作为 Java 后端的应届生,我的日常节奏其实很固定。早上先花 1 小时刷两道 LeetCode 算法题,不贪多但求吃透,尤其是动态规划和链表这类高频考点,刷完会复盘思路,顺便试试用 AI 辅助优化代码,练一练提示词怎么写才精准。接着就是啃技术底层知识,比如 JVM 的垃圾回收机制、MySQL 的索引优化,不再是死记硬背八股文,而是结合源码片段逐行分析,还会自己画流程图梳理逻辑,确保下次面试官追问原理时能说透。
下午的时间主要留给项目打磨。把之前做的养老管理系统和智能运维助手拿出来迭代,比如给后端接口加限流熔断的逻辑,用 Redis 优化缓存穿透问题,再接入通义灵码的 API 做个简单的 AI 日志分析功能。每改完一个模块,就写一段详细的项目说明,把技术难点、解决方案、优化成果都记下来,这样简历上的项目经历才能更有说服力。
傍晚的时候会抽时间看行业大佬的技术博客,关注一下 AI Agent 和微服务结合的最新趋势,偶尔也会在牛客网逛逛面经,看看别人遇到的面试官都在问什么新问题,顺便整理成自己的错题本。
累了就下楼散散步,或者跟同样在春招的同学聊聊天,互相分享面经和刷题技巧。偶尔也会有点焦虑,比如看到朋友圈有人晒 offer 的时候,但转念一想,现在多啃一个知识点,多优化一个项目功能,下次面试就能多一分胜算。
没有面试的日子,其实是在和自己较劲 —— 较劲能不能把技术底子打更牢,较劲能不能把项目做得更出彩,较劲能不能在下次机会来临时,稳稳地抓住它。
#没有面试的日子里,你在做什么#
#牛客AI配图神器#
全部评论

相关推荐

04-19 20:28
已编辑
门头沟学院 Java
只背了threadLocal的存储特点和底层原理,以及内存泄露原因,结果被问异步的线程怎么访问子线程?直接懵了 现在来补充这块盲区。Java 主线程中存储的 ThreadLocal 数据,异步子线程、线程池为什么获取不到?有哪些解决方案?各自优缺点?答:1. 原生 ThreadLocal 底层限制每个线程独立拥有自己的  ThreadLocalMap ,天然线程隔离;主线程的 Map 与异步/子线程 Map 完全独立,因此异步线程直接  get()  拿到  null 。解决方案:2. 方案一:InheritableThreadLocal(JDK 原生)- 原理:Thread 类内部存在  inheritableThreadLocals  集合,新建子线程时会浅拷贝父线程该集合数据,实现父子线程传递。- 致命缺点:拷贝逻辑只执行在线程构造方法;线程池、@Async 线程长期复用,不会重复拷贝,导致上下文失效、出现脏数据,生产不推荐。3. 方案二:临时简易方案(无依赖)主线程提前手动  get()  取出 ThreadLocal 数据,转为有效final局部变量,直接传给异步 Lambda/内部类使用;拓展:方法内局部变量被异步引用,必须为有效final(不可二次赋值),成员变量、静态变量无此限制。4. 方案三:生产最终方案(TransmittableThreadLocal 阿里 TTL)- 核心原理:在异步任务提交时刻主动捕获主线程上下文,任务执行时绑定到复用线程,执行完毕自动清理。- 优势:完美兼容线程池、@Async、CompletableFuture 所有异步场景;无需手动传参,彻底摆脱  final  限制,是企业级上下文传递标准方案。其他问题追问1:InheritableThreadLocal 线程池失效的根本原因?线程池线程提前初始化、长期复用,拷贝逻辑只在线程创建时执行一次,无法同步主线程最新的 ThreadLocal 数据。追问2:TTL 与 InheritableThreadLocal 核心区别?InheritableThreadLocal 是线程创建时拷贝;TTL 是任务提交时拷贝,专门适配线程复用场景。追问3:异步代码里,为什么主线程局部变量必须要有效final?局部变量存储在线程栈,异步线程无法跨栈访问;底层会进行值拷贝,语法禁止二次赋值,防止多线程数据错乱。
发面经攒人品
点赞 评论 收藏
分享
评论
8
5
分享

创作者周榜

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