腾讯后台开发 一面
一、手撕
合并升序链表 合并两个排序的链表_牛客题霸_牛客网
顺时针翻转矩阵 顺时针旋转矩阵_牛客题霸_牛客网
二、八股
1、静态变量和实例变量
public class House {public static String buildDate = "2024-10-27"; // 静态变量public String color; // 实例变量public House(String color) {this.color = color; // 初始化实例变量}public static void main(String[] args) {House house1 = new House("red");House house2 = new House("blue");System.out.println(House.buildDate); // 通过类名访问静态变量System.out.println(house1.color); // 通过对象访问实例变量}
}
2、jvm垃圾回收算法
JAVA基础-2-CSDN博客
3、Linux如何显示正在进行的程序指令
ps
ps aux
:显示所有进程的详细信息(用户、CPU、内存占用等)。
ps -ef | grep <进程名>
:快速查找特定进程。
top
实时显示系统进程,按 CPU/Memory 排序,默认每3秒刷新一次。
strace
跟踪进程的系统调用,如
strace -p <PID>
查看指定进程的指令。
lsof
显示进程打开的文件和网络连接,如
lsof -i :<端口>
查看端口占用情况。
4、MySQL的索引
MySQL索引详解 | JavaGuide
按照数据结构维度划分:
- BTree 索引:MySQL 里默认和最常用的索引类型。只有叶子节点存储 value,非叶子节点只有指针和 key。存储引擎 MyISAM 和 InnoDB 实现 BTree 索引都是使用 B+Tree,但二者实现方式不一样。
- 哈希索引:类似键值对的形式,一次即可定位。
- RTree 索引:一般不会使用,仅支持 geometry 数据类型,优势在于范围查找,效率较低,通常使用搜索引擎如 ElasticSearch 代替。
- 全文索引:对文本的内容进行分词,进行搜索。目前只有
CHAR
、VARCHAR
、TEXT
列上可以创建全文索引。一般不会使用,效率较低,通常使用搜索引擎如 ElasticSearch 代替。按照底层存储方式角度划分:
- 聚簇索引:索引结构和数据一起存放的索引,InnoDB 中的主键索引就属于聚簇索引。
- 非聚簇索引:索引结构和数据分开存放的索引,二级索引(辅助索引)就属于非聚簇索引。MySQL 的 MyISAM 引擎,不管主键还是非主键,使用的都是非聚簇索引。
按照应用维度划分:
- 主键索引:加速查询 + 列值唯一(不可以有 NULL)+ 表中只有一个。
- 普通索引:仅加速查询。
- 唯一索引:加速查询 + 列值唯一(可以有 NULL)。
- 覆盖索引:一个索引包含(或者说覆盖)所有需要查询的字段的值。
- 联合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并。
- 全文索引:对文本的内容进行分词,进行搜索。目前只有
CHAR
、VARCHAR
、TEXT
列上可以创建全文索引。一般不会使用,效率较低,通常使用搜索引擎如 ElasticSearch 代替。- 前缀索引:对文本的前几个字符创建索引,相比普通索引建立的数据更小,因为只取前几个字符。
5、主从同步有哪几种
异步复制(Asynchronous)
- 原理:主库不等待从库确认,直接提交事务。
- 优缺点:性能高,但可能丢失数据。
半同步复制(Semi-Synchronous)
- 原理:主库等待至少一个从库确认后再提交。
- 优缺点:平衡性能与数据一致性,减少数据丢失风险。
全同步复制(Fully Synchronous)
- 原理:主库等待所有从库确认后才提交。
- 优缺点:数据零丢失,但延迟高,性能差。
6、长连接和短连接
7、SQL注入
-
动态SQL的构造方式
应用程序在处理用户输入时,直接将输入内容拼接到SQL语句中,形成动态SQL查询。例如:SELECT * FROM users WHERE username = '输入的用户名' AND password = '输入的密码';
如果用户输入未经过滤或转义,攻击者可以插入恶意SQL代码,改变查询逻辑。
-
输入未过滤或验证
程序员未对用户输入的数据进行严格的校验和转义,导致恶意代码能直接拼接到SQL语句中。 -
攻击者构造恶意输入
攻击者通过输入特殊字符(如单引号'
、分号;
、注释符--
等)或逻辑表达式,闭合原SQL语句并注入新的SQL命令。恶意输入会破坏原SQL语句的逻辑结构,执行攻击者意图的操作,例如:绕过身份验证,获取敏感数据,删除或篡改数据,执行系统命令
例如:
正常登录流程
用户输入用户名admin
和密码123
,生成的SQL语句为:
SELECT * FROM users WHERE username = 'admin' AND password = '123';
攻击者输入恶意代码
攻击者在密码字段输入:1' OR '1'='1
,则拼接后的SQL语句变为:
SELECT * FROM users WHERE username = 'admin' AND password = '1' OR '1'='1';
单引号'
闭合原密码字段的值。
OR '1'='1'
始终为真,使得条件成立,无需正确密码即可登录。
执行结果
数据库返回用户名为admin
的第一条记录,攻击者成功绕过登录验证。
防御关键点
参数化查询(预编译语句)
- 核心原理:将用户输入作为参数传递,而非直接拼接到SQL语句中,确保输入数据不会被解释为SQL代码。
- 实现方式:
- 使用PreparedStatement等API
String sql = "SELECT * FROM orders WHERE user_id = ?"; PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setString(1, id); // 自动处理引号和特殊字符
- 使用PreparedStatement等API
- 优势:彻底阻断恶意SQL的注入路径,是防御SQL注入的最有效方法
8、安全XXS
这篇文章写的很清楚
XSS攻击详解_xxs原理-CSDN博客
总结
对于安全的知识不是那么了解,还需要继续学习
相关文章:
腾讯后台开发 一面
一、手撕 合并升序链表 合并两个排序的链表_牛客题霸_牛客网 顺时针翻转矩阵 顺时针旋转矩阵_牛客题霸_牛客网 二、八股 1、静态变量和实例变量 public class House {public static String buildDate "2024-10-27"; // 静态变量public String color; // 实…...
基于生成对抗网络(GAN)的手写数字生成实践
基于生成对抗网络(GAN)的手写数字生成实践 一、图像生成的技术演进 在人工智能领域,图像生成技术经历了从传统算法到深度学习的革命性发展。其中,生成对抗网络(Generative Adversarial Networks, GANs)作…...
网络互连与互联网
1.在路由表中找不到目标网络时使用默认路由,默认路由通常指本地网关的地址。 2.OSPF最主要的特征是使用分布式链路状态协议,而RIP使用的是距离向量协议。 3.OSPF使用链路状态公告LSA扩散路由信息 4.内部网关路由协议IGRP是一种动态距离矢量路由协议&a…...
大模型常见面试题
大模型常见面试题 大模型相关的面试问题通常涉及模型的原理、应用、优化以及面试者对于该领域的理解和经验。以下是一些常见的 大模型面试问题以及建议的回答方式: 请简述什么是大模型,以及它与传统模型的主要区别是什么? 回答:…...
python高级编程一(生成器与高级编程)
@TOC 生成器 生成器使用 通过列表⽣成式,我们可以直接创建⼀个列表。但是,受到内存限制,列表容量肯定是有限的。⽽且,创建⼀个包含100万个元素的列表,不仅占⽤很⼤的存储空间,如果我们仅仅需要访问前⾯⼏个元素,那后⾯绝⼤多数元素占 ⽤的空间都⽩⽩浪费了。所以,如果…...
Linux线程属性与多线程开发:API详解与实战代码解析
Linux 线程的属性 线程池 多线程的创建 线程的属性 引入 我们设想一个场景,使用pthread_detach时,发现线程早就已经结束了,这时候pthread_detach还能正常发挥清理线程的 独有空间 的作用吗? 答案是可以的,但是这难…...
Inkscape安装教程
Inkscape 是一款开源的矢量图形编辑软件,功能强大且免费,适用于 Windows、macOS 和 Linux 系统。以下是在不同操作系统上安装 Inkscape 的详细教程: 一、Windows 系统安装 Inkscape 1. 下载安装包 打开浏览器,访问 Inkscape 官方…...
危化品安全员岗位注意事项有哪些?
危化品安全员肩负着保障危化品生产、储存、运输和使用等环节安全的重要职责,其岗位注意事项涉及多个方面,以下是一些主要内容: 法规标准与制度执行 必须熟悉并严格遵守国家和地方有关危化品安全管理的法律法规、标准规范,如《危险…...
1、从零搭建魔法工坊:React 19 新手村生存指南
一、开篇:新世界的入场券 "你好,年轻的魔法学徒!欢迎来到React魔法世界。我是你的向导赫敏韦斯莱,今天我们将用React 19这根全新魔杖,搭建属于你的第一座魔法工坊。" ——以对话形式开场,消除技…...
链表代码实现(C++)
数据结构第三篇 一、几个注意点 1、同时持有头尾结点的引用 双链表一般同时持有头尾结点的引用 因为在工程应用中,通常在容器尾插入元素,双链表持有尾部节点的引用,就可以在O(1)时间复杂度的情况下在尾部添加元素。…...
【学习笔记】两个类之间的数据交互方式
在面向对象编程中,两个类之间的数据交互可以通过以下几种方式实现,具体选择取决于需求和设计模式: 1. 通过方法调用 一个类通过调用另一个类的公共方法来获取或传递数据。这是最常见的方式,符合封装原则。 class ClassA:def __…...
【Docker基础】深入解析 Docker 存储卷:管理、绑定与实战应用
文章目录 一、什么是存储卷二、为什么需要存储卷三、存储卷分类四、管理卷 Volume方式一:Volume 命令操作方式二:使用 -v 或 --mount 参数指定卷方式三:Dockerfile 匿名卷 五、操作案例Docker 命令创建管理卷Docker -v 创建管理卷Docker 卷生…...
Python生成exe
其中的 -w 参数是 PyInstaller 用于窗口模式(Windowed mode),它会关闭命令行窗口的输出,这通常用于 图形界面程序(GUI),比如使用 PyQt6, Tkinter, PySide6 等。 所以: 如果你在没有…...
SpringBoot原理
配置优先级 SpringBoot项目当中支持的三类配置文件: 在SpringBoot项目当中,我们要想配置一个属性,可以通过这三种方式当中的任意一种来配置都可以,那么如果项目中同时存在这三种配置文件,且都配置了同一个属性&#x…...
Google 官方提示工程 (Prompt Engineering)白皮书 总结
《大语言模型的提示工程:从基础到最佳实践》 总结 本文围绕大语言模型的提示工程展开,介绍其是设计高质量提示引导 LLM 产生准确输出的过程。探讨了 LLM 输出配置如输出长度、温度、top-K 和 top-P 等设置及其相互影响,阐述了零样本、少样本…...
Python——numpy测试题目
题目: 生成一个2行3列随机整数二维数组a使用Numpy方法对(1)中数组a进行整体求积使用Numpy方法对(1)中数组a进行求每列最大值索引定义一个NumPy一维数组 b,元素为 1 到 10 的整数获取(4&#x…...
【SLAM】将realsense-viewer录制的rosbag视频导出成图片序列(RealSense D435)
本文介绍了如何将realsense-viewer录制的rosbag格式的视频导出成图片序列,方便合并成mp4视频或插入到论文中。 本文首发于❄慕雪的寒舍 说明 Intel提供的realsense-viewer软件录制的视频都是rosbag格式的,为了编写论文,需要从录制的视频中截…...
Unity6国际版下载
Unity6国际版下载下载地址 Hub下载地址:https://www.nounitycn.top/unityhub 先下载unity6启动器(下载速度很快),在去下载unity6000版本(下载速度慢) 下载速度很慢的话,有条件可以找梯子科学上网…...
2025认证杯挑战赛B题【 谣言在社交网络上的传播 】原创论文讲解(含完整python代码)
大家好呀,从发布赛题一直到现在,总算完成了认证杯数学中国数学建模网络挑战赛第一阶段B题目谣言在社交网络上的传播完整的成品论文。 给大家看一下目录吧: 目录 摘 要: 一、问题重述 二. 问题分析 2.1问题一 2.…...
后台进程管理之pstree 和 job
1. pstree 命令 功能 以树状结构显示进程间的父子关系,直观展示进程的层次结构。 常用选项 选项说明-p显示进程 PID-a显示完整命令行(包括参数)-u显示进程所属用户-n按 PID 排序(默认按进程名)-h高亮当前进程及其祖…...
波束形成(BF)从算法仿真到工程源码实现-第三节-延迟求和波束形成(DSB)
一、概述 本节我们讨论延迟求和波束形成算法,包括原理分析及代码实现。 更多资料和代码可以进入 https://t.zsxq.com/qgmoN ,同时欢迎大家提出宝贵的建议,以共同探讨学习。 二、原理分析 2.1 原理: 首先对不同麦克风信号之间的相…...
deepseek使用记录——拉美文学的且战且败和且败且战
一 拉美文学,且战且败,且败且战,有哪些比较深刻的文学作品,对当下的年轻人有何启示。 拉丁美洲文学以其对历史、政治、社会现实的深刻反思和独特的魔幻现实主义风格闻名于世。这些作品既记录了拉美大陆在殖民、独裁、全球化浪潮中…...
LeetCode 解题思路 37(Hot 100)
解题思路: 初始化: 初始化最大举行 max 和栈 stack。左右补零: 考虑柱子递增的边界情况, 初始化填充柱状图 newHeights。遍历处理: 对于每一根遍历到的柱子 newHeights[i],若柱子高度小于栈口索引…...
lvs+keepalived+dns高可用
1.配置dns相关服务 1.1修改ip地址主机名 dns-master: hostnamectl hostname lvs-master nmcli c modify ens160 ipv4.method manual ipv4.addresses 10.10.10.107/24 ipv4.gateway 10.10.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes nmcli c up ens160dns-salve: h…...
计算齿轮故障频率|平行轴|行星轮齿轮
一、平行轴齿轮故障频率 关键参数定义 Z:齿轮齿数 fs:轴旋转频率(Hz) N:啮合齿轮齿数(配对齿轮) 特征频率公式 软件页面截图 二、行星齿轮故障频率 系统组成参数 太阳轮齿数 齿圈齿数 …...
【技术派部署篇】云服务器部署技术派
1 环境搭建 1.1 JDK安装 # ubuntu sudo apt update # 更新apt apt install openjdk-8-jdk # 安装JDK安装完毕之后,执行 java -version 命令进行验证: 1.2 Maven安装 cd ~ mkdir soft cd soft wget https://dlcdn.apache.org/maven/maven-3/3.8.8/bina…...
Rasa中endpoints.yml文件信息详细解释
endpoints.yml 是 Rasa 项目中用于配置各类服务接口(endpoints)的文件,它告诉 Rasa: 去哪里加载模型自定义动作在哪个服务运行对话历史存储在哪(tracker store)是否要把事件推送到某个消息队列中ÿ…...
AI代理是大模型实现可扩展智能自动化的关键
AI 代理框架:实现可扩展智能自动化的关键 https://www.lyzr.ai/ 每个人都在谈论 AI 代理,例如 Sam Altman、Satya Nadella、Andrew Ng 和 Sundar Pichai 等行业领袖。 但这究竟是为什么呢? 因为这就是当今软件发展的方向,也是企…...
android中dp和px的关系
关于android的dp和px的关系是我刚开始学习android的第一个知识点,不知不觉学安卓也有一年了,但是偶然间我发现我理解的dp和px的关系一直是错的,真的是有一点搞笑,今天特意写一篇博客纪念一下这个我理解错一年的知识点。 dp和px之间…...
day32-动态规划__509. 斐波那契数__70. 爬楼梯__746. 使用最小花费爬楼梯
动态规划,一直是各种算法竞赛中难度较大的题目。在同学接触到动态规划的题目时,对于简单的动态规划问题,同学们常常轻易通过,而对于复杂的动态规划,却没有一个很好的思路,那么我们究竟有没有一种统一的思考…...
【Code】《代码整洁之道》笔记-Chapter12-迭进
第12章 迭进 12.1 通过迭进设计达到整洁目的 假使有4条简单的规则,跟着做就能帮助你创建优良的设计,会如何?假使遵循这些规则,你就能洞见代码的结构和设计,更能轻易地应用SRP和DIP之类的原则,便会如何&…...
Odoo 部署本地 把現時的excel計算表格部署上odoo 教程
要将现有的 Excel 计算表格部署到 Odoo 平台上,您可以按照以下步骤进行操作: 将 Excel 表格中的数据转移到 Odoo 模块中:首先,您需要将 Excel 表格中的数据导出为 CSV 格式,然后可以使用 Odoo 的数据导入功能将这些数据…...
【C语言-全局变量】
【C语言-全局变量】 1.能局部就局部,别啥都往全局塞2.尽量用结构体对零散变量封装3.函数传参4.静态变量模块化5 单例模式, 限制全局实例数量6. 配置化全局参数——集中管理可调参数7. 事件驱动架构:消息队列通信策略选择建议 参考https://mp.weixin.qq.c…...
Downlink Sensing in 5G-Advanced and 6G: SIB1-assisted SSB Approach
摘要——本文研究了利用现有5G NR信号进行网络侧集成感知与通信(ISAC)的潜力。通常,由于其频繁的周期性可用性和波束扫描特性,同步信号块(SSB)是适合用于下行感知的候选信号。然而,正如本文所示…...
PCIe 5.0光学SSD原型问世!
近日,Kioxia Corporation(铠侠)、AIO Core Co., Ltd. 和 Kyocera Corporation(京瓷)联合宣布成功开发了一款支持 PCIe 5.0 接口的光学 SSD 原型。该技术旨在通过光接口替换传统的电接口,从而显著增加计算设…...
JDK(Java Development Kit)从发布至今所有主要版本 的详细差异、新增特性及关键更新的总结,按时间顺序排列
以下是 JDK(Java Development Kit)从发布至今所有主要版本 的详细差异、新增特性及关键更新的总结,按时间顺序排列: 1. JDK 1.0 (1996) 发布年份:1996年1月23日关键特性: Java首次正式发布。核心语言特性…...
【3分钟准备前端面试】yarn
目录 Yarn核心概念核心机制解析工作流与命令详解高级功能剖析性能优化策略常见问题解决方案Yarn与...
[16届蓝桥杯 2025 c++省 B] 移动距离
思路:这题很多人肯定一眼就觉得是直线,因为无限方案,怎么走随便你,极限状态会误以为是直线,实际上你会发现,只有往右走是直线,往上走时一个弧线操作,就算你一下往右,一下…...
二叉树(中)-- 堆
堆是一个独立的数据结构,堆是一个二叉树。堆和栈几乎没有什么关联 堆是一个完全二叉树,可以用数组存储 大堆: 任何一个父亲都大于等于孩子小堆: 任何一个父亲都小于等于孩子 请注意,小堆大堆并不一定是升序或降序&…...
艾伦·图灵:计算机科学与人工智能之父
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 艾伦图灵:计算机科学与人工智能之父 一、天才的诞生与早期生涯 1912年6月…...
Doris 安装部署、实际应用及优化实践:对比 ClickHouse 的深度解析
在实时分析、报表系统以及高并发 OLAP 查询等场景中,列式存储数据库因其卓越的查询性能逐渐成为主流。Doris 和 ClickHouse 是近年来最受欢迎的两款开源 OLAP 引擎,本文将系统介绍 Doris 的安装部署、应用场景及优化实践,并与 ClickHouse 做一…...
Vue的学习总结-day02
一、Vue的基本语法 1、Vue.js 使用双大括号 {{ }} 来表示文本插值: <template><div class"demo">{{msg}}</div> </template> 2、指令 v-bind:动态绑定一个或多个特性,或一个组件 prop。 <template…...
MySQL 中查询 VARCHAR 类型 JSON 数据的
在数据库设计中,有时我们会将 JSON 数据存储在 VARCHAR 或 TEXT 类型字段中。这种方式虽然灵活,但在查询时需要特别注意。本文将详细介绍如何在 MySQL 中有效查询存储为 VARCHAR 类型的 JSON 数据。 一、问题背景 当 JSON 数据存储在 VARCHAR 列中时&a…...
Spring Boot 的启动流程
Spring Boot 是一个用于简化 Spring 应用程序开发的框架,它通过自动配置和约定优于配置的原则,大大降低了开发者的工作量。下面我们将深入探讨 Spring Boot 的启动流程,帮助你理解其背后的工作机制。 1. 启动入口 Spring Boot 应用的启动入…...
JMeter的接口测试步骤
创建测试计划 新建测试计划: 打开 JMeter,右键点击 Test Plan,选择 Add -> Threads (Users) -> Thread Group。双击 Thread Group,设置线程数(用户数)、循环次数等参数。 添加取样器(S…...
Linux基础14
一、搭建LAMP平台 安装包:mariadb-server、php、php-mysqlnd、php-xml、php-json 搭建平台步骤: php步骤: 创建网页:index.php 网页内编写php语言: > eg:<?p…...
七种数码管驱动/LED驱动综合对比——《器件手册--数码管驱动/LED驱动》
十四、数码管驱动/LED驱动 名称 工作原理 应用场景 优缺点 特点 LED驱动 LED驱动的核心是为发光二极管提供稳定的电流。LED的亮度与电流成正比,而其正向电压相对稳定。驱动电路需要根据电源电压和LED的正向电压,通过限流电阻或恒流芯片来控制电流。…...
【25软考网工笔记】第二章 数据通信基础(2) 信道延迟计算
目录 一、信道延迟 1. 线路延迟 1)线路延迟与传输距离的关系 2)光纤线路与电缆线路的传播速度 3)线路延迟计算示例:1000米电缆的延迟 2. 发送延迟 1)发送延迟的定义与计算 2)发送延迟的影响因素 3.…...
代码随想录第16天:(二叉树)
一、最大二叉树(Leetcode 654) class Solution:def constructMaximumBinaryTree(self, nums: List[int]) -> TreeNode:# 基础条件:当数组只有一个元素时,直接返回该元素构建的二叉树节点if len(nums) 1:return TreeNode(nums[…...
Android activity属性taskAffinity的作用
1. taskAffinity的基本概念 在Android开发中,taskAffinity是一个定义在标签中的属性,用于指定Activity与哪个任务(Task)相关联。默认情况下,应用的所有Activity都共享同一个任务堆栈,其taskAffinity值为应…...