腾讯后台开发 一面

一、手撕

合并升序链表     合并两个排序的链表_牛客题霸_牛客网

顺时针翻转矩阵  顺时针旋转矩阵_牛客题霸_牛客网

二、八股

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 代替。
  • 全文索引:对文本的内容进行分词,进行搜索。目前只有 CHARVARCHARTEXT 列上可以创建全文索引。一般不会使用,效率较低,通常使用搜索引擎如 ElasticSearch 代替。

按照底层存储方式角度划分:

  • 聚簇索引:索引结构和数据一起存放的索引,InnoDB 中的主键索引就属于聚簇索引。
  • 非聚簇索引:索引结构和数据分开存放的索引,二级索引(辅助索引)就属于非聚簇索引。MySQL 的 MyISAM 引擎,不管主键还是非主键,使用的都是非聚簇索引。

按照应用维度划分:

  • 主键索引:加速查询 + 列值唯一(不可以有 NULL)+ 表中只有一个。
  • 普通索引:仅加速查询。
  • 唯一索引:加速查询 + 列值唯一(可以有 NULL)。
  • 覆盖索引:一个索引包含(或者说覆盖)所有需要查询的字段的值。
  • 联合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并。
  • 全文索引:对文本的内容进行分词,进行搜索。目前只有 CHARVARCHARTEXT 列上可以创建全文索引。一般不会使用,效率较低,通常使用搜索引擎如 ElasticSearch 代替。
  • 前缀索引:对文本的前几个字符创建索引,相比普通索引建立的数据更小,因为只取前几个字符。

5、主从同步有哪几种

  1. 异步复制(Asynchronous)

    • 原理:主库不等待从库确认,直接提交事务。
    • 优缺点:性能高,但可能丢失数据。
  2. 半同步复制(Semi-Synchronous)

    • 原理:主库等待至少一个从库确认后再提交。
    • 优缺点:平衡性能与数据一致性,减少数据丢失风险。
  3. 全同步复制(Fully Synchronous)

    • 原理:主库等待所有从库确认后才提交。
    • 优缺点:数据零丢失,但延迟高,性能差。

6、长连接和短连接

7、SQL注入

  1. 动态SQL的构造方式
    应用程序在处理用户输入时,直接将输入内容拼接到SQL语句中,形成动态SQL查询。例如:

    SELECT * FROM users WHERE username = '输入的用户名' AND password = '输入的密码';

    如果用户输入未经过滤或转义,攻击者可以插入恶意SQL代码,改变查询逻辑。

  2. 输入未过滤或验证
    程序员未对用户输入的数据进行严格的校验和转义,导致恶意代码能直接拼接到SQL语句中。

  3. 攻击者构造恶意输入
    攻击者通过输入特殊字符(如单引号'、分号;、注释符--等)或逻辑表达式,闭合原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); // 自动处理引号和特殊字符
  • 优势:彻底阻断恶意SQL的注入路径,是防御SQL注入的最有效方法

8、安全XXS

这篇文章写的很清楚

XSS攻击详解_xxs原理-CSDN博客

总结

对于安全的知识不是那么了解,还需要继续学习

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

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

相关文章

Unity 动画

Apply Root Motion 勾选的话就会使用动画片段自带的位移 Update Mode &#xff08;动画重新计算骨骼位置转向缩放的数值&#xff09;&#xff1a; Normal &#xff1a; 随Update走&#xff0c;每次Update都计算Animate Physics &#xff1a;与 fixed Update() 同步&#xff0…

NDT和ICP构建点云地图 |【点云建图、Ubuntu、ROS】

### 本博客记录学习NDT&#xff0c;ICP构建点云地图的实验过程&#xff0c;参考的以下两篇博客&#xff1a; 无人驾驶汽车系统入门&#xff08;十三&#xff09;——正态分布变换&#xff08;NDT&#xff09;配准与无人车定位_settransformationepsilon-CSDN博客 PCL中点云配…

基于HTML + jQuery + Bootstrap 4实现(Web)地铁票价信息生成系统

地铁票价信息表生成系统 1. 需求分析 1.1 背景 地铁已经成为大多数人出行的首选,北京地铁有多条运营线路, 截至 2019 年 12 月,北京市轨道交通路网运营线路达 23 条、总里程 699.3 公里、车站 405 座。2019 年,北京地铁年乘客量达到 45.3 亿人次,日均客流为 1241.1 万人次…

EtherNet/IP 转 Modbus 协议网关

一、产品概述 1.1 产品用途 SG-EIP-MOD-210 网关可以实现将 Modbus 接口设备连接到 EtherNet/IP 网 络中。用户不需要了解具体的 Modbus 和 EtherNet/IP 协议即可实现将 Modbus 设 备挂载到 EtherNet/IP 接口的 PLC 上&#xff0c;并和 Modbus 设备进行数…

PostgreSQL:逻辑复制与物理复制

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

腾讯云COS与ZKmall 开源商城的存储集成方案

ZKmall 开源商城与腾讯云对象存储&#xff08;COS&#xff09;的集成&#xff0c;可通过云端资源托管、自动化数据同步、高性能存储架构实现本地存储负载降低与访问效率提升。以下是基于搜索结果的集成路径与核心优化点&#xff1a; 一、存储架构升级&#xff1a;本地与云端协同…

HTML — 浮动

浮动 HTML浮动&#xff08;Float&#xff09;是一种CSS布局技术&#xff0c;通过float: left或float: right使元素脱离常规文档流并向左/右对齐&#xff0c;常用于图文混排或横向排列内容。浮动元素会紧贴父容器或相邻浮动元素的边缘&#xff0c;但脱离文档流后可能导致父容器高…

【软件测试学习day1】软件测试概念

前言 本篇学习&#xff0c;测试相关基础概念、常见的开发模型测和测试模型&#xff0c;搞懂4个问题&#xff1a; 什么是需求什么是 bug什么是测试用例开发模型和测试模型 目录 1. 什么是需求 1.1 为什么要有需求 1.2 测试人员眼里的需求 1.3 如何深入了解需求 2. 测试用例…

Flutter常用组件实践

Flutter常用组件实践 1、MaterialApp 和 Center(组件居中)2、Scaffold3、Container(容器)4、BoxDecoration(装饰器)5、Column(纵向布局)及Icon(图标)6、Column/Row(横向/横向布局)+CloseButton/BackButton/IconButton(简单按钮)7、Expanded和Flexible8、Stack和Po…

刘火良FreeRTOS内核实现与应用学习之7——任务延时列表

在《刘火良FreeRTOS内核实现与应用学习之6——多优先级》的基础上&#xff1a;关键是添加了全局变量&#xff1a;xNextTaskUnblockTime &#xff0c;与延时列表&#xff08;xDelayedTaskList1、xDelayedTaskList2&#xff09;来高效率的实现延时。 以前需要在扫描就绪列表中所…

图像预处理-插值方法

一.插值方法 当我们对图像进行缩放或旋转等操作时&#xff0c;需要在新的像素位置上计算出对应的像素值。 而插值算法的作用就是根据已知的像素值来推测未知位置的像素值。 1.1 最近邻插值 CV2.INTER_NEAREST 其为 warpAffine() 函数的参数 flags 的其一&#xff0c;表示最近…

智能配电保护:公共建筑安全的新 “防火墙”

安科瑞刘鸿鹏 摘要 随着城市建筑体量的不断增长和电气设备的广泛使用&#xff0c;现代建筑大楼的用电安全问题日益突出。传统配电方式面临监测盲区多、响应滞后、火灾隐患难发现等问题。为提升建筑电气系统的安全性和智能化水平&#xff0c;智慧用电系统应运而生。本文结合安…

如何解决DDoS攻击问题 ?—专业解决方案深度分析

本文深入解析DDoS攻击面临的挑战与解决策略&#xff0c;提供了一系列防御技术和实践建议&#xff0c;帮助企业加强其网络安全架构&#xff0c;有效防御DDoS攻击。从攻击的识别、防范措施到应急响应&#xff0c;为网络安全工作者提供了详细的操作指引。 DDoS攻击概览&#xff1a…

构建灵活的接口抽象层:支持多种后端数据存取的实战指南

构建灵活的接口抽象层:支持多种后端数据存取的实战指南 引言 在现代软件开发中,数据存取成为业务逻辑的核心组成部分。然而,由于后端数据存储方式的多样性(如关系型数据库、NoSQL数据库和文件存储),如何设计一套能够适配多种后端数据存取的接口抽象层,成为技术团队关注…

OpenCV 图形API(23)图像和通道合成

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 1.算法描述 在OpenCV的G-API模块中&#xff0c;图像和通道合成&#xff08;composition&#xff09;函数允许用户对图像进行复杂的操作&#xff0c;如合并…

帝国cms导航淘客新闻下载多功能网站源码 二次元风格自适应附教程

一、本模板使用帝国cms7.5 utf8版本&#xff0c;二次元导航新闻下载工具淘客自适应响应式帝国cms模板。 1、网站后台有3个系统模型&#xff0c;新闻系统模型&#xff0c;下载系统模型&#xff0c;导航系统模型&#xff0c;商城系统模型&#xff0c;可以根据自己的需求不同&…

本地部署大模型(ollama模式)

分享记录一下本地部署大模型步骤。 大模型应用部署可以选择 ollama 或者 LM Studio。本文介绍ollama本地部署 ollama官网为&#xff1a;https://ollama.com/ 进入官网&#xff0c;下载ollama。 ollama是一个模型管理工具和平台&#xff0c;它提供了很多国内外常见的模型&…

C# virtual 和 abstract 详解

简介 在 C# 中&#xff0c;virtual 和 abstract 关键字都用于面向对象编程中的继承和多态&#xff0c;它们主要用于方法、属性和事件的定义&#xff0c;但在用法上存在一些重要的区别。 virtual 关键字 virtual 表示可重写的方法&#xff0c;但可以提供默认实现&#xff0c;…

自动驾驶的数据集以及yolov8和yolop

项目背景 网络全部是分割了没有检测。 自动驾驶的车道线和可行驶区域在数据集中的表示 自动驾驶系统中的车道线和可行驶区域的表示方式主要有以下几种&#xff1a; 基于几何模型&#xff1a;使用几何模型来描述车道线和可行驶区域的形状和位置&#xff0c;例如直线、曲线、多…

Oracle DROP、TRUNCATE 和 DELETE 原理

在 Oracle 11g 中&#xff0c;DROP、TRUNCATE 和 DELETE 是三种不同的数据清理操作&#xff0c;它们的底层原理和适用场景有显著差异 1. DELETE 的原理 类型&#xff1a;DML&#xff08;数据操作语言&#xff09; 功能&#xff1a;逐行删除表中符合条件的数据&#xff0c;保留…