【Java面试/24春招】技术面试题的准备

Spring MVC的原理

Mybatis的多级缓存机制

线程池的大小和工作原理

上述问题,我们称为静态的问题,具有标准的答案,而且这个答案不会变化!

如果没有Spring,会怎么样?IOC这个思想是解决什么问题?

如何设计一个支持1000万用户访问的系统
如何设计一个秒杀系统
如果让你设计一个集团层面的全局ID生成器,你怎么做?
。。。【变化↓】
1.没有标准答案,
2.需要你去基于自己的技术积累,总结成自己的理解去回答。(知识积累),判断更加客观
如果单纯是基于面试题来准备面试,99%的概率是无法通过
简历塑造------外在和内在要保持一致

基于技术的理解层次来提高技术思维

@Content 注解的作用,volatile关键字的原理,伪共享问题的原理和解决思路,cpu的多级缓存设计的目的。。。

产生背景

解决问题的方案

不同的作者在解决特定问题的时候,它设计的技术方案以及思考的维度

曾经参与过类似的设计(经验),曾经在某些源码中读过类似的设计思路(见过)

  • @Content注解是解决伪共享问题,而伪共享其实是CPU层面多核心设计下存在的一个问题!

CPU层面的工作原理



总结

CPU的迭代发展的目标,提高计算机处理程序的性能

1.多核CPU

2.CPU缓存行,减少内存IO的耗时,带来缓存一致性问题

3.MESI协议,缓存一致性协议,解决缓存一致性问题

4.再优化,引入空间局部性原理(指令预加载)带来伪共享问题

5.采用缓存行填充来解决,@Contend、或者变量的填充,64个字节

核心:提高CPU利用率,增加CPU性能

价值思考:(技术的设计思想)

空间换时间(Mysql-StoreBuffer,Redis,多级缓存【Mybatis,减少sql和数据库的交互】,Eurekas【多级缓存设计,减少读和写】)

空间局部性原理(Mysql预加载机制)

异步化的数据同步(StoreBuffer。。)

多CPU核心(分布式思想)

锁(缓存锁,总线锁)MESI协议

晶体管2进制的计算体系里面,只要没有超脱这个范围,所有上游的思想基本上相同

如何提升内存的使用效率

把一些热点数据放在内存

内存的淘汰机制

内存的释放(JVM垃圾回收器,CMS,G1。。。)

如何提升CPU利用率

如果做架构、技术经历 遇到下面人员不懂的,怎么办?

经验+见过

  • 学习层面

  • 知识理解层面

  • 解决问题能力的层面

思想的沉淀

项目问题、场景问题

  • 空间换时间

  • 预加载机制

  • 异步化

  • 加锁。。。

  • 工作年限

  • 技术的范围

  • 如何在短期内把需要圈定的技术范围,转化为可以表达的能力

面试面什么

  • 面试(3年,5年,项目维度,表达维度,技术维度,深度的思考和技术积累的维度)
  • 弥补短板,针对短板制定一个月的规划
  • 学的东西表达出来
  • 简历/复盘/录音


相关推荐
uzong2 小时前
一个好的面试官,应该让候选人感到被尊重
面试
咩咩啃树皮3 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚4 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
触底反弹5 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
大模型码小白5 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司6 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
沉默王二7 小时前
腾讯一面,我霸气反问:“你说你们在做Agent项目,说说 SubAgent、Plan 模式、Skill 调用这些你们都是怎么做的?”面试官一直在擦汗。。
面试·agent·ai编程
爱笑的源码基地7 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
wuqingshun3141597 小时前
TCP超时重传机制是为了解决什么问题?
java
莫逸风9 小时前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope