大厂面试-基本功

大厂面试第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 {@MockBeanTestController testController;@Testvoid saveTrain() {when(testController.test()).thenReturn("AAAOK");String test = testController.test();System.out.println(test);}
}

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

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

ThreaLocal

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

父子线程数据同步 InheritableThreadLocal

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/382246.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android中systrace配置及注意问题

Android中systrace配置及注意问题 systrace配置的官方文档地址如下&#xff1a;优化启动时间 Systrace systrace 允许在启动期间收集内核和 Android 跟踪记录。systrace 的可视化可以帮助分析启动过程中的具体问题。&#xff08;不过&#xff0c;如果要查看整个启动过程中的平…

[Spring] Spring配置文件

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

DocRED数据集

DocRED数据集文件夹包含多个JSON文件&#xff0c;每个文件都有不同的用途。以下是这些文件的用途解释以及哪个文件是训练集&#xff1a; 文件解释 dev.json&#xff1a;包含开发集&#xff08;验证集&#xff09;的数据&#xff0c;通常用于模型调优和选择超参数。 label_map…

Java | Leetcode Java题解之第260题只出现一次的数字III

题目&#xff1a; 题解&#xff1a; class Solution {public int[] singleNumber(int[] nums) {int xorsum 0;for (int num : nums) {xorsum ^ num;}// 防止溢出int lsb (xorsum Integer.MIN_VALUE ? xorsum : xorsum & (-xorsum));int type1 0, type2 0;for (int n…

Java 中的异常

异常&#xff1a;就是出现的问题。 在Java中异常被当成对象进行处理&#xff0c;所有的异常类都继承于Throwable类&#xff0c;如果Java提供的异常类并不能满足需求&#xff0c;用户还可以自己定义一个异常类。 下面是异常体系结构&#xff1a; Throwable又分成了Error和Exce…

PHP框架详解- symfony框架

文心一言 Symfony框架是一个用PHP语言编写的开放源代码的Web应用框架&#xff0c;旨在加速Web应用程序的开发过程&#xff0c;提高代码的可维护性和可扩展性。以下是对Symfony框架的详细解析&#xff1a; 一、框架概述 起源与开发者&#xff1a; Symfony由SensioLabs&#…

音乐曲谱软件Guitar Pro 8.2 for Mac 中文破解版

Guitar Pro 8.2 for Mac 中文破解版是一款功能强大的音乐曲谱软件&#xff0c;非常适合学习如何玩&#xff0c;改进技巧&#xff0c;重现喜爱的歌曲或陪伴自己。 Guitar Pro for Mac 是一款功能强大的音乐曲谱软件&#xff0c;非常适合学习如何玩&#xff0c;改进技巧&#xf…

宠物经济纵深观察:口红效应显著,呈可持续发展态势

七月以来&#xff0c;全国各地陆续开启高温模式。和人一样&#xff0c;“毛孩子们”同样也难耐高温&#xff0c;由此&#xff0c;围绕猫猫狗狗的“宠物经济”迅速升温&#xff0c;宠物冰垫、宠物饮水机、宠物烘干机......一系列宠物单品掀起夏日消费热潮。 就在几天前&#xf…

Pytorch学习笔记day4——训练mnist数据集和初步研读

该来的还是来了hhhhhhhhhh&#xff0c;基本上机器学习的初学者都躲不开这个例子。开源&#xff0c;数据质量高&#xff0c;数据尺寸整齐&#xff0c;问题简单&#xff0c;实在太适合初学者食用了。 今天把代码跑通&#xff0c;趁着周末好好的琢磨一下里面的各种细节。 代码实…

这7款高效爬虫工具软件,非常实用!

在当今数据驱动的时代&#xff0c;自动化爬虫工具和软件成为了许多企业和个人获取数据的重要手段。这里会介绍6款功能强大、操作简便的自动化爬虫工具&#xff0c;用好了可以更高效地进行数据采集。 1. 八爪鱼采集器 八爪鱼是一款功能强大的桌面端爬虫软件&#xff0c;主打可…

pico+unity3d 射线交互教程

前期配置&#xff1a;环境配置参考教程一&#xff0c;手部模型参考教程二&#xff0c;场景基于上一篇搭建。 最终效果&#xff1a;手部射线&#xff08;初始不可见&#xff09;对准 UI 显示&#xff0c;按下手柄 Trigger 键与可交互 UI&#xff08;如 Button、Toggle、Slider …

数学建模(7)——Logistic模型

一、马尔萨斯人口模型 import numpy as np import matplotlib.pyplot as plt# 初始人口 N0 100 # 人口增长率 r 0.02 # 时间段&#xff08;年&#xff09; t np.linspace(0, 200, 200)# 马尔萨斯人口模型 N N0 * np.exp(r * t)# 绘图 plt.plot(t, N, labelPopulation) plt.…

【源码阅读】Sony的go breaker熔断器源码探究

文章目录 背景源码分析总结 背景 在微服务时代&#xff0c;服务和服务之间调用、跨部门调用都是很常见的事&#xff0c;但这些调用都存在很多不确定因素&#xff0c;如核心服务A依赖的部门B服务挂掉了&#xff0c;那么A本身的功能将会受到直接的影响&#xff0c;而这些都会影响…

CSS 两种盒模型 box-sizing content-box 和 border-box

文章目录 Intro谨记box-sizing 两个不同赋值的效果区别&#xff1f;宽高的数值计算标准盒模型 box-sizing: content-box; box-sizing 属性的全局设置 Intro 先问一句&#xff1a;box-sizing 和它的两个属性值是做什么用的&#xff1f;以前我并不知道它的存在&#xff0c;也做…

使用 Redis 实现验证码、token 的存储,用自定义拦截器完成用户认证、并使用双重拦截器解决 token 刷新的问题

基于session实现登录流程 1.发送验证码 用户在提交手机号后&#xff0c;会校验手机号是否合法&#xff0c;如果不合法&#xff0c;则要求用户重新输入手机号 如果手机号合法&#xff0c;后台此时生成对应的验证码&#xff0c;同时将验证码进行保存&#xff0c;然后再通过短信…

【数据挖掘】词云分析

目录 1. 词云分析 2. Python 中的 WordCloud 库 1. 词云分析 词云&#xff08;Word Cloud&#xff09;是数据可视化的一种形式&#xff0c;主要用于展示文本数据中单词的频率和重要性。它具有以下几种主要用途和意义&#xff1a; 1. 文本分析 • 识别关键主题&#xff1a;通…

AGI 之 【Hugging Face】 的【从零训练Transformer模型】之一 [ 如何寻找大型数据集 ] / [ 构建词元分析器 ] 的简单整理

AGI 之 【Hugging Face】 的【从零训练Transformer模型】之一 [ 如何寻找大型数据集 ] / [ 构建词元分析器 ] 的简单整理 目录 AGI 之 【Hugging Face】 的【从零训练Transformer模型】之一 [ 如何寻找大型数据集 ] / [ 构建词元分析器 ] 的简单整理 一、简单介绍 二、Transf…

数据结构day6

一、思维导图 二、模拟面试 typedef定义函数指针的方式typedef int(*p)(int,int);对void*指针的理解&#xff0c;相关应用万能指针&#xff0c;可以定义形参用来接收任意类型的指针变量&#xff0c;也可以定义函数用来返回任意类型的指针变量例如malloc函数在堆区申请内存&…

组队学习——支持向量机

本次学习支持向量机部分数据如下所示 IDmasswidthheightcolor_scorefruit_namekind 其中ID&#xff1a;1-59是对应训练集和验证集的数据&#xff0c;60-67是对应测试集的数据&#xff0c;其中水果类别一共有四类包括apple、lemon、orange、mandarin。要求根据1-59的数据集的自…

NPS配置域名访问本地应用

架构简易说明&#xff1a; 阿里云云服务器一台&#xff1a;NPS服务端 本地Linux服务器一台&#xff1a;NPS客户端&#xff0c;支持互联网 域名一个&#xff1a;解析到云服务器 1.在nps后台配置TCP隧道信息 其中&#xff0c;服务端口为云服务器的端口 &#xff0c;不要与已存…