大厂面试-基本功
创始人
2025-01-07 02:36:30
0

大厂面试第4季

  • 服务可用性多少个9是什么意思
  • 遍历集合add或remove操作bug
  • hashcode冲突案例
  • Bigdecimal
  • List去重复
  • IDEA Debugger
  • 测试框架
  • ThreaLocal
  • 父子线程数据同步 InheritableThreadLocal
  • 完美解决线程数据同步方案 TransmittableThreadLocal

服务可用性多少个9是什么意思

在这里插入图片描述

遍历集合add或remove操作bug

并发修改异常
在这里插入图片描述

hashcode冲突案例

属于Object类方法
在这里插入图片描述

一般10万次左右,才会出现hash冲突

Bigdecimal

在这里插入图片描述
https://my.oschina.net/u/3644969/blog/4927776

List去重复

  1. HashSet
  2. LinkedHashSet(去重复同时可以保证原有顺序)
  3. 双指针去重
    在这里插入图片描述

IDEA Debugger

在这里插入图片描述
显示当前执行断点

在这里插入图片描述
Step Over 一步步过
Step Into 步入
Force Step Into 强制步入

在这里插入图片描述
运行到光标代码行

  1. 流式计算调试

在这里插入图片描述

  1. 调试方法入栈(生产 慎重)
    在这里插入图片描述
  2. return 断点调试
    在这里插入图片描述
  3. BreakPoint
    在这里插入图片描述

测试框架

在这里插入图片描述
测试:

  1. 多些全功能覆盖各种情况的Case
  2. 边界条件
  3. 极值判断
  4. 入参相同、不同
  5. 抛出异常
  6. 全部分支条件
  7. 压测
    在这里插入图片描述
    在这里插入图片描述
    BeforeEach:每个测试方法前执行
    AfterEach:每个测试方法后执行

AfterAll:修饰静态方法,前执行一次
BeforeAll:修饰静态方法,后执行一次

@MockBean 模拟数据

@SpringBootTest public class TestA {     @MockBean     TestController testController;       @Test     void saveTrain() {         when(testController.test()).thenReturn("AAAOK");         String test = testController.test();         System.out.println(test);     } } 

@SpyBean 如果有when则使用规则,无when则调用真实数据接口

@SpringBootTest public class TestA {     @SpyBean     TestController testController;      @Test     void saveTrain() { //        when(testController.test()).thenReturn("AAAOK");         String test = testController.test();         System.out.println(test);     } } 

ThreaLocal

线程局部变量
在这里插入图片描述
在这里插入图片描述

父子线程数据同步 InheritableThreadLocal

可以在子线程获取父线程InheritableThreadLocal 的数据
如果新键线程,可以直接获取;对于线程池中的复用线程,可能获取父线程的旧数据

完美解决线程数据同步方案 TransmittableThreadLocal

       com.alibaba          transmittable-thread-local          2.14.3       
@Test     void main() {         TransmittableThreadLocal transmittableThreadLocal = new TransmittableThreadLocal<>();          ExecutorService threadPool = Executors.newSingleThreadExecutor();         threadPool = TtlExecutors.getTtlExecutorService(threadPool);         transmittableThreadLocal.set("hello main");          threadPool.submit(new Runnable() {             @Override             public void run() {                 String s = transmittableThreadLocal.get();                 Console.log("{} {}", Thread.currentThread().getName(), s);             }         });         transmittableThreadLocal.set("hello haha");                  threadPool.submit(new Runnable() {             @Override             public void run() {                 String s = transmittableThreadLocal.get();                 Console.log("{} {}", Thread.currentThread().getName(), s);             }         });     } 

相关内容

热门资讯

玩家必备教程!小程序雀神麻将修... 玩家必备教程!小程序雀神麻将修改器(辅助挂)好像真的是有挂(2026已更新)(哔哩哔哩)小程序雀神麻...
科普!永和备厅有挂吗(透视)透... 科普!永和备厅有挂吗(透视)透明挂透视辅助脚本(2025已更新)(哔哩哔哩)永和备厅有挂吗软件透明挂...
九分钟科普!填大坑辅助器免费安... 九分钟科普!填大坑辅助器免费安装,gg扑克果然真的有挂,曝光教程(有挂秘籍)1、每一步都需要思考,不...
热点推荐!熊猫麻将有透明挂吗(... 热点推荐!熊猫麻将有透明挂吗(辅助挂)真是是真的有挂(2026已更新)(哔哩哔哩);运熊猫麻将有透明...
指导大家!小宝跑得快有挂吗(透... 指导大家!小宝跑得快有挂吗(透视)透视脚本辅助神器(2022已更新)(哔哩哔哩)小宝跑得快有挂吗是一...
4分钟科普!兴动娱乐辅助器,聚... 4分钟科普!兴动娱乐辅助器,聚星扑克德州果然存在有挂,2025教程(有挂教学)1、操作简单,无需注册...
实测分享!闲来红中麻将怎么提升... 实测分享!闲来红中麻将怎么提升胜率(辅助挂)总是真的有挂(2024已更新)(哔哩哔哩)1、每一步都需...
推荐十款!!安徽闲来麻将有挂吗... 推荐十款!!安徽闲来麻将有挂吗(透视)透明挂透视辅助挂(2024已更新)(哔哩哔哩)1、进入到安徽闲...
3分钟实锤!途游有辅助挂是真的... 3分钟实锤!途游有辅助挂是真的吗,拱趴大菠萝原来有挂,透牌教程(有挂脚本)1、途游有辅助挂是真的吗a...
查到实测辅助!闽游十三水攻略(... 查到实测辅助!闽游十三水攻略(透明挂)一直真的是有挂(2026已更新)(哔哩哔哩);1、打开软件启动...