面试 (一)

目录

1. HashMap是怎么解决冲突的 是用什么数据结构实现的

2. 为什么hashmap的初始长度为16

3. 多线程的核心参数

4. 多线程怎么工作的

5. CISCS是怎么实现的

6. JUC知识

7. C++和java的区别

8. JVM底层编译的东西

9. 公平锁和非公平锁

10. 有人恶意攻击你的平台每秒发送几万次的请求 该怎么做


1. HashMap是怎么解决冲突的 是用什么数据结构实现的

Hashmap采用链地址法来解决哈希冲突。hashmap在该索引位置维护一个链表结构。新的键值对被添加到链表的头部而不是尾部。

实现的数据结构:数组+链表 

2. 为什么hashmap的初始长度为16

因为做hashcode是按位与的,更加方便计算位置

3. 多线程的核心参数

UNIT:时间单位

corepoolsize:核心线程数

maximumpoolsize:最大线程数

keepalivetime:线程空闲时间

threadfactory:线程工厂

handler:拒绝策略

4. 多线程怎么工作的

核心是通过共享进程资源,实现并发执行。

5. CISCS是怎么实现的

通过分层架构实现工业现场控制与管理系统的集成。分成架构:设备层,控制层,管理层。

6. JUC知识

是java处理并发编程的核心工具包,提供线程安全的并发控制。

核心组件功能:线程池框架:通过ThreadPoolExecutor管理生命周期。

                         锁机制:locks包

                         同步工具类:CountDownLatch:等待多线程完成。

7. C++和java的区别

编译方式的差异:C++直接编译为机器码

                             Java:先编译为字节码,再通过JVM解释执行

面向对象差异:C++支持多重继承

                          JAVA仅单继承

8. JVM底层编译的东西

首先JVM是虚拟机,是可以跨平台的。

执行流程:java源码,javac编译,.class字节码,JVM加载

采用双模式执行引擎:解释执行模式;编译执行模式

9. 公平锁和非公平锁

公平锁:多个线程按照申请锁的顺序来获取锁,类似于排队。

非公平锁:顺序并不是按照申请的,可能后申请的先活得锁。在高并发系统下优先使用。

10. 有人恶意攻击你的平台每秒发送几万次的请求 该怎么做

1. IP黑名单与限流 :使用iptables限制单IP连接数。

2. 接口频率限制:基于Redis实现分布式限流。

3. 使用消息队列(如Kafka)缓存请求,避免服务器过载。

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

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

相关文章

计算机毕设选题:基于Python+Django的健康饮食管理系统设计【源码+文档+调试】

精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、项目介绍二…

vscode terminal远程连接linux服务器GUI图形界面

看了很多教程,不清楚具体原理,但总之自己是摸索出来了: 1.下载vcxsrv,最后双击exe程序启动: 每一步的配置如下:2.修改配置 vscode中按下“ctrlshiftp”,然后输入“Remote-SSH: Open SSH Configu…

文档外发管理产品哪个品牌强?安全与效率双优产品推荐

在企业间协作日益加深的今天,企业对文档外发管理相关产品的安全性和效率要求越来越高。无论是日常业务协作,还是跨组织数据交换,如何确保文件在传输过程中不被泄露、篡改,同时又能高效流转,成为企业IT管理的重要课题。…

【教程】2025 IDEA 快速创建springboot(maven)项目

第一步:【新建】-【module】,左边选择springboot,右边填写相关信息。第二步:选择相关依赖。第三步:删掉一些无关的文件,保持项目简洁创建springboot项目已经结束了,下面是构建项目的架构以及环境…

【小白笔记】移动硬盘为什么总比电脑更容易满?

我明明只复制了10个G的文件,为什么我的移动硬盘就满了? 大家好,我是个刚入门的小白,最近遇到了一个让我百思不得其解的问题。我把电脑里的一些文件,总共加起来也就10个G左右,心想移动硬盘还有几十个G的空位…

单独一篇云原生介绍

云原生(Cloud Native)‌不是单一技术,而是一套构建和运行应用程序的完整方法论‌,旨在充分利用云计算的优势(弹性、按需资源、分布式环境)来构建‌高韧性、可扩展、易于管理的应用‌。它的核心思想是让应用…

Git如何查看提交行数与删除行数:统计代码贡献量的完整指南

Git如何查看提交行数与删除行数:统计代码贡献量的完整指南 在软件开发中,代码行数统计是衡量团队协作效率和项目进度的重要指标。通过Git的命令行工具,开发者可以轻松查看提交的代码行数、删除的代码行数以及净增行数。本文将详细介绍多种方…

DVWA靶场通关笔记-SQL注入(SQL Injection Impossible级别)

目录 一、源码分析 1、index.php 2、impossible.php 二、SQL注入防范分析 1、Anti-CSRF 令牌 2、参数化查询 3、输入验证 本系列为通过《DVWA靶场通关笔记》的SQL Injection 关卡(low,medium,high,impossible共4关)渗透集合…

MySQL中事务的作用和定义

在 MySQL 中,​​事务(Transaction)​​ 是一组数据库操作的逻辑单元,这些操作要么​​全部成功执行​​,要么​​全部失败回滚​​,以确保数据库从一个一致状态转换到另一个一致状态。事务是关系型数据库&…

华为Fit4:腕间助手,守护你的健康,带你开启智慧生活

清晨被闹钟吵醒,想要关掉却怎么也找不到手机?经常睡很久却还是很困?重要的事情常常因为没有被记录和规划清楚最终变得手忙脚乱?人流拥挤的地铁上半天找不到刷码信息?这些问题是不是生活中常常遇到,别担心&a…

【交易系统系列36】揭秘币安(Binance)技术心脏:从公开信息拼凑“MatchBox”撮合引擎架构

一、 核心概览:从白皮书的豪言到监管文件的“实锤” 要理解币安的架构,我们首先要抓住几个关键的、有据可查的事实: 性能目标:在其早期白皮书中,币安宣称其撮合引擎能够达到每秒140万笔订单的处理能力。这串数字,无论是在当时还是现在,都代表着对系统吞吐量和低延迟的极…

SpringBoot08-Spring Boot 多环境配置

方式一:纯 Spring Profile(最常用,官方推荐)思路:用 application-{profile}.yml 切分配置,运行时指定用哪个 profile。 如何做:src/main/resources/application.ymlapplication-dev.ymlapplicat…

苍穹外卖项目笔记day04--Redis入门

Redis 概念 Redis 是一个开源的、高性能的键值存储系统,常被归类为NoSQL数据库。它支持多种数据结构,如字符串、列表、哈希、集合和有序集合,适用于缓存、消息队列、实时分析等多种场景。Redis是一个基于内存的key-value结构数据库。Redis …

OpenCV 图像处理实战与命令行参数配置:从轮廓检测到模板匹配

在计算机视觉领域,OpenCV 是一款功能强大且应用广泛的开源库,它提供了丰富的 API,支持图像读取、预处理、特征检测等多种操作。本文将结合实际代码案例,详细讲解如何使用 OpenCV 实现轮廓检测、轮廓近似、模板匹配等常用功能&…

深度学习---pytorch卷积神经网络保存和使用最优模型

在深度学习模型训练过程中,如何提升模型性能、精准保存最优模型并实现高效推理,是每个开发者必须攻克的关键环节。本文结合实际项目经验与完整代码示例,详细拆解模型训练优化、最优模型保存与加载、图像预测全流程,帮助大家避开常…

FPGA实现Aurora 64B66B图像视频点对点传输,基于GTY高速收发器,提供2套工程源码和技术支持

目录 1、前言Aurora 64B66B是啥?官方有Example,为何要用你这个?工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我这里已有的 GT 高速接口解决方案本方案在Aurora 8B10B上的应用 3、工程详细设…

LeetCode 524.通过删除字母匹配到字典里最长单词

给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。 示例…

kali_linux

【2024版】最新kali linux入门及常用简单工具介绍(非常详细)从零基础入门到精通,看完这一篇就够了-CSDN博客

MyBatis 常见错误与解决方案:从坑中爬出的实战指南

🔍 MyBatis 常见错误与解决方案:从坑中爬出的实战指南 文章目录🔍 MyBatis 常见错误与解决方案:从坑中爬出的实战指南🐛 一、N1 查询问题与性能优化💡 什么是 N1 查询问题?⚠️ 错误示例✅ 解决…

蓝牙modem端frequency offset compensation算法描述

蓝牙Modem中一个非常关键的算法:频偏估计与补偿(Frequency Offset Estimation and Compensation)。这个算法是接收机(解调端)能正确工作的基石。 我将为您详细解释这个算法的原理、必要性以及其工作流程。 一、核心问题:为什么需要频偏补偿? 频偏的来源: 如第一张图所…