【面试系列】软件工程师高频面试题及详细解答
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏:
⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.
⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。
⭐️ 全流程数据技术实战指南:全面讲解从数据采集到数据可视化的整个过程,掌握构建现代化数据平台和数据仓库的核心技术和方法。
文章目录
- 常见的初级面试题
- 1. 请解释一下面向对象编程的四大基本原则。
- 2. 请描述一下版本控制系统的作用及其工作原理。
- 3. 请用Python写一个函数,判断一个字符串是否是回文。
- 4. 请解释一下SQL中JOIN的不同类型及其作用。
- 5. 什么是单元测试?为什么它很重要?
- 6. 请解释一下数据结构中的堆栈和队列的区别。
- 7. 请简述面向对象编程中的继承和组合。
- 8. 如何在Git中创建一个新的分支并切换到该分支?
- 9. 请解释一下数据库范式及其重要性。
- 10. 请编写一个简单的Java程序,打印从1到10的数字。
- 常见的中级面试题
- 1. 请解释一下设计模式,并举例说明工厂模式和单例模式。
- 2. 请用SQL查询出员工表中工资最高的前五名员工。
- 3. 如何在Python中进行单元测试?请给出一个示例。
- 4. 请解释什么是事务及其ACID特性。
- 5. 什么是RESTful API?请简述其设计原则。
- 6. 请解释一下Java中的垃圾回收机制。
- 7. 请描述一下什么是依赖注入(DI),为什么要使用它?
- 8. 请解释一下数据结构中的哈希表及其应用。
- 9. 请编写一个Java程序,实现一个简单的线程安全计数器。
- 10. 请解释一下MVC架构模式,并举例说明其应用。
- 常见的高级面试题
- 1. 请解释一下微服务架构及其优缺点。
- 2. 请描述一下CAP理论及其在分布式系统中的应用。
- 3. 如何进行系统性能优化?请列举几种常见的方法。
- 4. 请解释一下消息队列的作用及其常见应用场景。
- 5. 什么是NoSQL数据库?请比较NoSQL和关系型数据库的区别。
- 6. 请解释一下什么是域驱动设计(DDD)。
- 7. 请描述一下如何进行API的性能测试。
- 8. 请解释一下分布式事务及其解决方案。
- 9. 如何设计一个高并发、高可用的系统架构?
- 10. 请解释一下什么是CQRS架构,并举例说明其应用。
- 常考知识点总结
常见的初级面试题
1. 请解释一下面向对象编程的四大基本原则。
面向对象编程的四大基本原则是:封装、继承、多态和抽象。封装是将数据和操作数据的方法封装在一起,形成对象;继承是子类继承父类的属性和方法;多态是同一接口可以有不同的实现;抽象是通过抽象类和接口来定义对象的基本特征。
2. 请描述一下版本控制系统的作用及其工作原理。
版本控制系统(VCS)用于记录文件的更改历史,可以恢复到特定版本,允许多人协作开发。其工作原理包括初始化仓库、提交修改、分支管理和合并操作。常见的VCS有Git、SVN等。
3. 请用Python写一个函数,判断一个字符串是否是回文。
def is_palindrome(s):return s == s[::-1]
该函数通过切片反转字符串,并检查反转后是否与原字符串相同,以此判断是否为回文。
4. 请解释一下SQL中JOIN的不同类型及其作用。
JOIN用于将来自多个表的数据结合起来。主要有INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。INNER JOIN返回两个表中匹配的记录;LEFT JOIN返回左表中的所有记录及匹配的右表记录;RIGHT JOIN返回右表中的所有记录及匹配的左表记录;FULL JOIN返回两个表中所有匹配和不匹配的记录。
5. 什么是单元测试?为什么它很重要?
单元测试是对软件中的最小可测试单元(如函数或方法)进行验证的测试方法。它重要因为可以尽早发现错误,确保每个单元功能正确,提高代码的质量和可维护性。
6. 请解释一下数据结构中的堆栈和队列的区别。
堆栈(Stack)是LIFO(后进先出)结构,只允许在一端进行插入和删除操作;队列(Queue)是FIFO(先进先出)结构,允许在一端插入,在另一端删除。
7. 请简述面向对象编程中的继承和组合。
继承是子类从父类继承属性和方法,形成“是一个”的关系;组合是一个类包含另一个类的实例,形成“有一个”的关系。继承适用于重用和扩展类功能,而组合更灵活,减少类之间的耦合。
8. 如何在Git中创建一个新的分支并切换到该分支?
git branch new-branch
git checkout new-branch
或者使用:
git checkout -b new-branch
这会创建并切换到新的分支。
9. 请解释一下数据库范式及其重要性。
数据库范式是设计数据库表结构的一组规则,用于减少数据冗余和提高数据完整性。主要有第一范式、第二范式和第三范式。规范化设计可以避免数据异常,提高查询性能和数据一致性。
10. 请编写一个简单的Java程序,打印从1到10的数字。
public class PrintNumbers {public static void main(String[] args) {for(int i = 1; i <= 10; i++) {System.out.println(i);}}
}
这个程序使用for循环打印从1到10的数字。
常见的中级面试题
1. 请解释一下设计模式,并举例说明工厂模式和单例模式。
设计模式是软件设计中常见问题的解决方案。工厂模式通过工厂类创建对象,避免直接使用new关键字;单例模式确保一个类只有一个实例,并提供全局访问点。
2. 请用SQL查询出员工表中工资最高的前五名员工。
SELECT * FROM employees ORDER BY salary DESC LIMIT 5;
这条SQL语句按工资降序排列员工,取前五名记录。
3. 如何在Python中进行单元测试?请给出一个示例。
Python中常用的单元测试框架是unittest。示例如下:
import unittestdef add(a, b):return a + bclass TestAddFunction(unittest.TestCase):def test_add(self):self.assertEqual(add(2, 3), 5)if __name__ == '__main__':unittest.main()
该示例定义了一个测试用例,测试add函数的返回值是否正确。
4. 请解释什么是事务及其ACID特性。
事务是数据库操作的一个逻辑单元,具有ACID特性:原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)。这些特性确保事务要么全部执行,要么全部不执行,保持数据一致性。
5. 什么是RESTful API?请简述其设计原则。
RESTful API是一种基于REST(Representational State Transfer)架构风格的Web服务接口,设计原则包括:使用HTTP动词(GET, POST, PUT, DELETE),使用统一资源标识符(URI),无状态交互,客户端-服务器架构,支持缓存等。
6. 请解释一下Java中的垃圾回收机制。
Java的垃圾回收机制通过自动内存管理释放不再使用的对象,防止内存泄漏。主要算法有标记-清除、标记-整理和复制算法,通常由JVM在后台自动运行。
7. 请描述一下什么是依赖注入(DI),为什么要使用它?
依赖注入是通过将对象的依赖关系注入到类中,而不是在类内部创建依赖对象。使用DI可以减少代码耦合,提高代码的可测试性和可维护性,常用于实现控制反转(IoC)。
8. 请解释一下数据结构中的哈希表及其应用。
哈希表是一种通过键值对存储数据的数据结构,利用哈希函数将键映射到对应的值。常用于实现高效的查找、插入和删除操作,如字典、缓存等应用。
9. 请编写一个Java程序,实现一个简单的线程安全计数器。
public class Counter {private int count = 0;public synchronized void increment() {count++;}public synchronized int getCount() {return count;}
}
该程序通过synchronized关键字确保计数器在多线程环境中的操作是线程安全的。
10. 请解释一下MVC架构模式,并举例说明其应用。
MVC(Model-View-Controller)是一种软件架构模式,将应用程序分为模型、视图和控制器。模型管理数据和业务逻辑,视图负责展示数据,控制器处理用户输入并更新模型和视图。常用于Web开发框架,如Django、Spring MVC等。
常见的高级面试题
1. 请解释一下微服务架构及其优缺点。
微服务架构将应用程序拆分为多个独立的服务,每个服务负责单一业务功能。优点包括灵活性、可扩展性和容错性;缺点包括服务间通信复杂、运维成本高和数据一致性难以保证。
2. 请描述一下CAP理论及其在分布式系统中的应用。
CAP理论指出分布式系统中,一致性(Consistency)、可用性(Availability)和分区容忍性(Partition Tolerance)三者不可同时满足。实际应用中需在设计时进行权衡,如选择CP或AP系统。
3. 如何进行系统性能优化?请列举几种常见的方法。
系统性能优化方法包括:代码优化(减少复杂度,提高算法效率),数据库优化(索引、查询优化),缓存技术(减少数据库访问),负载均衡(分散请求),硬件升级(提高处理能力)等。
4. 请解释一下消息队列的作用及其常见应用场景。
消息队列用于在不同系统组件间传递消息,实现异步通信和解耦。常见应用场景包括日志处理、任务调度、订单处理等。常用消息队列系统有RabbitMQ、Kafka等。
5. 什么是NoSQL数据库?请比较NoSQL和关系型数据库的区别。
NoSQL数据库是非关系型数据库,支持灵活的数据模型和高可扩展性,适用于大
数据和实时Web应用。与关系型数据库相比,NoSQL更适合处理海量数据,具有高性能和可扩展性,但缺乏事务支持和一致性保障。
6. 请解释一下什么是域驱动设计(DDD)。
域驱动设计是一种软件开发方法,强调通过模型化业务领域来驱动设计和开发。DDD包括领域模型、聚合、实体、值对象等概念,强调与业务专家紧密合作,确保软件设计与业务需求一致。
7. 请描述一下如何进行API的性能测试。
API性能测试包括:确定测试目标(如响应时间、吞吐量),选择测试工具(如JMeter),设计测试用例(包括正常和异常场景),执行测试并收集数据,分析结果并优化API性能。
8. 请解释一下分布式事务及其解决方案。
分布式事务是指跨多个系统或数据库的事务操作。常见解决方案包括两阶段提交(2PC)、三阶段提交(3PC)、基于消息队列的最终一致性(如Saga模式)等,目的是确保分布式系统的数据一致性。
9. 如何设计一个高并发、高可用的系统架构?
设计高并发、高可用系统架构的方法包括:使用负载均衡分散请求,采用缓存技术减轻数据库负载,分布式存储和计算提高扩展性,服务隔离和降级策略提高容错性,异步处理提高系统响应能力。
10. 请解释一下什么是CQRS架构,并举例说明其应用。
CQRS(Command Query Responsibility Segregation)架构将命令(写操作)和查询(读操作)分离,分别使用不同的数据模型。其应用包括复杂业务逻辑场景,如电商系统中的订单管理,CQRS可以提高系统的扩展性和性能。
常考知识点总结
软件工程师面试中需要掌握的常考知识点包括:
- 编程语言:熟练掌握Java、Python、C++等编程语言的基础和高级用法。
- 版本控制:了解Git等版本控制系统的基本操作及分支管理。
- 数据库管理:熟悉SQL语法及数据库设计,理解范式、事务及数据库优化方法。
- 面向对象设计:理解面向对象的基本原则、设计模式及应用。
- 算法与数据结构:掌握常见数据结构(如数组、链表、树、哈希表)及基础算法(排序、查找、递归等)。
- 单元测试:了解单元测试的概念和重要性,熟练使用相关测试框架。
- 系统设计:具备高并发、高可用系统架构设计的能力,理解微服务、消息队列、分布式系统的基本原理。
- 性能优化:熟悉代码、数据库和系统性能优化的方法和技巧。
- API设计:掌握RESTful API设计原则,了解API性能测试和优化的方法。
- 新技术和方法:了解NoSQL数据库、域驱动设计(DDD)、CQRS等新技术和方法,具备灵活应对复杂业务需求的能力。
💗💗💗 如果觉得这篇文对您有帮助,请给个点赞、关注、收藏吧,谢谢!💗💗💗
相关文章:
【面试系列】软件工程师高频面试题及详细解答
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…...
Qt开发 | Qt界面布局 | 水平布局 | 竖直布局 | 栅格布局 | 分裂器布局 | setLayout使用 | 添加右键菜单 | 布局切换与布局删除重构
文章目录 一、Qt界面布局二、Qt水平布局--QHBoxLayout三、Qt竖直布局四、Qt栅格布局五、分裂器布局代码实现六、setLayout使用说明七、布局切换与布局删除重构1.如何添加右键菜单2.布局切换与布局删除重构 一、Qt界面布局 Qt的界面布局类型可分为如下几种 水平布局(…...
LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection
LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection 论文链接:http://arxiv.org/abs/2406.03459 代码链接:https://github.com/Atten4Vis/LW-DETR 一、摘要 介绍了一种轻量级检测变换器LWDETR,它在实时物体检测方面超越…...
前端技术(二)——javasctipt 介绍
一、javascript基础 1. javascript简介 ⑴ javascript的起源 ⑵ javascript 简史 ⑶ javascript发展的时间线 ⑷ javascript的实现 ⑸ js第一个代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>…...
FireFox 编译指南2024 Windows10篇-环境准备(一)
1. 引言 在开源浏览器项目中,Firefox因其高性能和灵活性而备受开发者青睐。为了在本地环境中编译和定制Firefox,开发者需要做好充分的环境准备工作。这不仅是编译成功的基础,也是后续调试、优化和二次开发的关键步骤。 编译Firefox是一个复…...
Spring Boot中的热部署配置
Spring Boot中的热部署配置 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何在Spring Boot项目中实现热部署配置,提升开发效率和项…...
用ChatGPT快速打造一个专业WordPress网站
作为一个使用HostEase多年的老用户,我想和大家分享一下如何利用HostEase和ChatGPT快速构建一个WordPress网站的经验。这不仅仅是一个简单的操作步骤,更是一次从零到有的实战经历。希望我的分享能给你们带来一些实用的帮助。 获取主机服务和域名 首先&a…...
dsp入门
安装环境 安装 ccs5.5安装 BIOS-MCSDK 多核软件开发包安装 仿真器驱动 工程创建与导入工程 创建工程 创建工程填信息添加.cmd文件,配置内存编译 导入工程 导入 配置工程 选择properties 环境变量 头文件 库文件 仿真器 添加仿真器 先调出仿真器界面创建仿…...
Java并发编程-Atomiclnteger、LongAdder等原子类的使用及案例实战
文章目录 i++和Atomiclnteger之间的差别分析以及使用介绍i++AtomicInteger使用介绍i++ 示例AtomicInteger 示例总结Atomiclnteger中的CAS无锁化原理和思路介绍CAS 原理AtomicInteger 的 CAS 应用无锁化思路Atomiclnteger源码剖析:仅限JDK内部使用的Unsafe类`Unsafe` 类的关键作…...
九浅一深Jemalloc5.3.0 -- ②浅*size class
目前市面上有不少分析Jemalloc老版本的博文,但5.3.0却少之又少。而且5.3.0的架构与之前的版本也有较大不同,本着“与时俱进”、“由浅入深”的宗旨,我将逐步分析Jemalloc5.3.0的实现。 另外,单讲实现代码是极其枯燥的,…...
JavaScript——属性的增删改查
目录 任务描述 相关知识 属性的获取 方式一 方式二 属性的修改与新增 删除属性 编程要求 任务描述 Luma Restaurant 以前的财务人员在统计销售额的时候不小心把数据弄错了,现在的财务人员想通过一个 JavaScript 函数方便的修改数据,并署上自己的…...
51单片机第15步_串口多机通讯使用CRC8校验
本章重点介绍串口多机通讯使用CRC8校验。 数据格式:"$123xxxx*crc8\r\n"; 如:"$1234567890ABCDEF*06\r\n" 如:"$1231234567890*31\r\n" crc8是CRC校验值,为十六进制的ASCII码,不包含$和校验值前面的那个* #include <REG51.h> //包含…...
WPF----进度条ProgressBar(渐变色)
ProgressBar 是一种用于指示进程或任务的进度的控件,通常在图形用户界面(GUI)中使用。它提供了一种视觉反馈,显示任务的完成程度,帮助用户了解任务的进展情况。 基本特性 Minimum 和 Maximum 属性: 这些属…...
Apipost接口测试工具的原理及应用详解(四)
本系列文章简介: 随着软件行业的快速发展,API(应用程序编程接口)作为不同软件组件之间通信的桥梁,其重要性日益凸显。API的质量直接关系到软件系统的稳定性、性能和用户体验。因此,对API进行严格的测试成为…...
【图论】200. 岛屿问题
200. 岛屿问题 难度:中等 力扣地址:https://leetcode.cn/studyplan/top-100-liked/ 问题描述 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围&…...
AI学习指南机器学习篇-随机森林的优缺点
AI学习指南机器学习篇-随机森林的优缺点 引言 机器学习是人工智能领域的重要分支,其中随机森林(Random Forest)算法以其高性能和广泛应用而备受瞩目。然而,就像任何其他算法一样,随机森林也有其优缺点。本文将深入探讨随机森林算法的优势和…...
基于boost::beast的http服务器(上)
文章目录 1.beast网落库介绍2.相关类及api3.异步读写的处理3.1异步写案例3.2异步读案例 1.beast网落库介绍 Beast网络库是一个基于Boost库的C网络库,特别用于开发高性能的网络应用程序。它提供了一组易于使用的API,主要用于处理HTTP和WebSocket协议&…...
深度学习之近端策略优化(Proximal Policy Optimization,PPO)
PPO(Proximal Policy Optimization,近端策略优化)是深度强化学习中的一种算法,属于策略梯度方法中的一种。PPO通过优化策略来最大化累积奖励,具有稳定性好、易于调参等优点,是目前广泛应用的一种深度强化学习算法。下面介绍PPO的基本原理和流程。 PPO基本原理 PPO算法的…...
用pycharm进行python爬虫的步骤
使用 pycharm 进行 python 爬虫的步骤:下载并安装 pycharm。创建一个新项目。安装 requests 和 beautifulsoup 库。编写爬虫脚本,包括获取页面内容、解析 html 和提取数据的代码。运行爬虫脚本。保存和处理提取到的数据。 用 PyCharm 进行 Python 爬虫的…...
重写功能 rewrite
Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perl compatible regular expression),因此编译之前要安装PCRE库,rewrite是nginx服务器的重要功能之 一,用于实现URL的重写,URL的…...
ISO19110操作要求类中/req/operation/operation-attributes的详细解释
/req/operation/operation-attributes 要求: 只有要素属性(feature attributes)可以通过‘observesValueOf’、‘triggeredByValuesOf’或‘affectsValuesOf’关联角色与要素操作(feature operations)关联。 具体解释 定义 要…...
访客(UV)、点击量(PV)、IP、访问量(VV)概念
1、https://www.cnblogs.com/QingPingZm/articles/13855808.htmlhttps://www.cnblogs.com/QingPingZm/articles/13855808.html...
C++系统编程篇——Linux第一个小程序--进度条
(1)先引入一个概念:行缓冲区 \r和\n \r表示回车 \n表示回车并换行 ①代码一 #include<stdio.h> #include<unistd.h> int main()…...
一个中文和越南语双语版本的助贷平台开源源码
一个中文和越南语双语版本的助贷平台开源源码。后台试nodejs。 后台 代理 前端均为vue源码,前端有中文和越南语。 前端ui黄色大气,逻辑操作简单,注册可对接国际短信,可不对接。 用户注册进去填写资料,后台审批&…...
【游戏引擎之路】登神长阶(五)
5月20日-6月4日:攻克2D物理引擎。 6月4日-6月13日:攻克《3D数学基础》。 6月13日-6月20日:攻克《3D图形教程》。 6月21日-6月22日:攻克《Raycasting游戏教程》。 6月23日-6月30日:攻克《Windows游戏编程大师技巧》。 …...
FireAct:使用智能体(agent)微调大语言模型
1.概述 近年来,针对语言模型(LMs)的研究致力于探索其与外部工具或环境互动的能力,以推进新型语言代理的发展。此类代理具备从环境反馈中汲取新知识、通过语言推理进行连续决策,以及借助自我反思提升任务解决能力的能力。工业界的进展,如ChatGPT插件,凸显了语言代理在实际…...
20240626让飞凌的OK3588-C开发板在相机使用1080p60分辨率下预览
20240626让飞凌的OK3588-C开发板在相机使用1080p60分辨率下预览 2024/6/26 15:15 4.2.1 全编译测试 在源码路径内,提供了编译脚本 build.sh,运行该脚本对整个源码进行编译,需要在终端切换到解压 出来的源码路径,找到 build.sh 文件…...
python数据分析——数据分类汇总与统计
数据分类汇总与统计 前言一、Groupby分类统计语法按列分组示例一示例二示例三 遍历各分组示例 使用字典和Series分组示例 使用函数分组示例 二、数据聚合groupby的聚合函数示例一示例二 逐列及多函数应用示例一示例二 返回不含行索引的聚合数据示例 三、一般性的“拆分-应用-合…...
iOS17系统适配
iOS17 新功能 文章目录 iOS17 新功能iOS17支持哪几款机型Xcode15新特性iOS17-开发适配指南 横屏待机 在iOS 17中,还带来了横屏待机功能,苹果将这个新功能命名为“Standby”模式,为 iPhone 带来了全新的玩法。iPhone启用之后,默认情…...
树洞陪聊陪玩交友程序系统源码,解锁交友新体验
在繁忙的都市生活中,你是否渴望找到一片属于自己的秘密花园,倾诉心声、分享快乐?今天,就让我带你走进这片名为“树洞”的神秘之地,感受陪聊陪玩交友的全新魅力! 🌳树洞陪聊陪玩交友程序系统 你…...
区间动态规划——最长回文子序列长度(C++)
把夜熬成粥,然后喝了它。 ——2024年7月1日 书接上回:区间动态规划——最长回文子串(C)-CSDN博客,大家有想到解决办法吗? 题目描述 给定一个字符串s(s仅由数字和英文大小写字母组成࿰…...
无人机远程控制:北斗短报文技术详解
无人机(UAV)技术的快速发展和应用,使得远程控制成为了一项关键技术。无人机远程控制涉及无线通信、数据处理等多个方面,其中北斗短报文技术以其独特的优势,在无人机远程控制领域发挥着重要作用。本文将详细解析无人机远…...
240627_关于CNN中图像维度变化问题
240627_关于CNN中图像维度变化问题 在学习一些经典模型时,其中得维度变化关系总搞不太明白,集中学习了以下,在此作以梳理总结: 一般来说涉及到的维度变换都是四个维度,当batch size4,图像尺寸为640*640&a…...
食品行业怎么用JSON群发短信
食品作为日常生活不可缺少的元素,市场需求是很稳定的,但是份额就那么多,商家都要来抢占的话,就需要运营推广各凭本事,市场运营中选择合适的推广方式,可以增加店铺销售额,很多实体店或商城都会建…...
MySQL高级-MVCC-隐藏字段
文章目录 1、介绍2、测试2.1、进入服务器中的 /var/lib/mysql/atguigu/2.2、查看有主键的表 stu2.3、查看没有主键的表 employee2.3.1、创建表 employee2.3.2、查看表结构及其其中的字段信息 1、介绍 ---------------- | id | age | name | ---------------- | 1 | 1 | Js…...
探索PcapPlusPlus开源库:网络数据包处理与性能优化
文章目录 0. 本文概要1. PcapPlusPlus介绍1.1 概述1.2主要特性和功能1.3 PcapPlusPlus 主要模块关系和依赖1.4 网络协议层处理过程 2. 实例2.1 基于 PcapPlusPlus 的应用程序设计和封装流程:2.2 多线程示例代码2.3 代码说明: 3. 程序性能进一步优化3.1 避…...
深入理解SSH:网络安全的守护者
在当今数字化时代,网络安全已成为全球关注的焦点。随着网络攻击手段的不断升级,保护数据传输的安全性变得尤为重要。SSH(Secure Shell)作为一种安全的网络协议,为远程登录和网络服务提供了强大的安全保障,成…...
DDD学习笔记四
领域模型的构建 基础领域模型的基本组成有名称、属性、关联、职责、事件和异常 发掘领域概念3种策略: 1)学习已有系统,重用已有模型 2)使用分类标签。分类标签来源于领域,需要我们研究一些资料并做一些提炼。从采用5W…...
Head First设计模式中的典型设计模式解析与案例分析
Head First设计模式中的典型设计模式解析与案例分析 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 《Head First设计模式》是一本广受欢迎的书籍,…...
iptables 防火墙(一)
iptables 防火墙(一) 一、Linux 防火墙基础防火墙分类 二、iptables 的表、链结构规则表规则链数据包过滤的匹配流程 三、编写防火墙规则iptables 的安装iptables的基本语法规则的匹配条件通用匹配隐含匹配显式匹配 四、总结 在网络安全的世界里…...
数据库物理结构设计-定义数据库模式结构(概念模式、用户外模式、内模式)、定义数据库、物理结构设计策略
一、引言 如何基于具体的DBMS产品,为数据库逻辑结构设计的结果,即关系数据库模式,制定适合应用要求的物理结构 1、在设计数据库物理结构前,数据库设计人员首先 要充分了解所用的DBMS产品的功能、性能和特点,包括提供…...
QT加载安装外围依赖库的翻译文件后翻译失败的现象分析:依赖库以饿汉式的形式暴露单例接口导致该现象的产生
1、前提说明 VS2019 QtClassLibaryDll是动态库,QtWidgetsApplication4是应用程序。 首先明确:动态库以饿汉式的形式进行单例接口暴露; 然后,应用程序加载动态库的翻译文件并进行全局安装; // ...QTranslator* trans = new QTranslator();//qDebug() << trans->…...
13_旷视轻量化网络--ShuffleNet V2
回顾一下ShuffleNetV1:08_旷视轻量化网络--ShuffleNet V1-CSDN博客 1.1 简介 ShuffleNet V2是在2018年由旷视科技的研究团队提出的一种深度学习模型,主要用于图像分类和目标检测等计算机视觉任务。它是ShuffleNet V1的后续版本,重点在于提供更高效的模…...
Linux系统编程--进程间通信
目录 1. 介绍 1.1 进程间通信的目的 1.2 进程间通信的分类 2. 管道 2.1 什么是管道 2.2 匿名管道 2.2.1 接口 2.2.2 步骤--以父子进程通信为例 2.2.3 站在文件描述符角度-深度理解 2.2.4 管道代码 2.2.5 读写特征 2.2.6 管道特征 2.3 命名管道 2.3.1 接口 2.3.2…...
docker-本地部署-后端
前置条件 后端文件 这边是一个简单项目的后端文件目录 docker服务 镜像文件打包 #命令行 docker build -t author/chatgpt-ai-app:1.0 -f ./Dockerfile .红框是docker所在文件夹 author:docker用户名chatgpt-ai-app:打包的镜像文件名字:1.0 &#…...
TLS + OpenSSL + Engine + PKCS#11 + softhsm2 安全通信
引擎库路径只有在 /lib 下才能被 "LOAD" 识别到,OpenSSL的ReadMe给的示例在/lib,大概是在构建OpenSSL时默认的configure指定了lib路径 // #define PKCS11_ENGINE_PATH "/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so" #define …...
Unity实现简单的MVC架构
文章目录 前言MVC基本概念示例流程图效果预览后话 前言 在Unity中,MVC(Model-View-Controller)框架是一种架构模式,用于分离游戏的逻辑、数据和用户界面。MVC模式可以帮助开发者更好地管理代码结构,提高代码的可维护性…...
【简单讲解下OneFlow深度学习框架】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...
FastGPT 调用Qwen 测试Hello world
Ubuntu 安装Qwen/FastGPT_fastgpt message: core.chat.chat api is error or u-CSDN博客 参考上面文档 安装FastGPT后 登录, 点击右上角的 新建 点击 这里,配置AI使用本地 ollama跑的qwen模型 问题:树上有3只鸟,开了一枪&#…...
Golang-GMP
GMP调度 golang-GMP语雀笔记整理 GMP调度设计目的,为何设计GMP?GMP的底层实现几个核心数据结构GMP调度流程 设计目的,为何设计GMP? 无论是多进程、多线程目的都是为了并发提高cpu的利用率,但多进程、多线程都存在局限性。比如多进程通过时…...
C++常用类
C常用类 1. std::string类2. std::vector 类2.1 特性2.2 用法 1. std::string类 std::string 是 C 标准库中的一个类,用于处理字符串。它提供了许多方法来创建、操作和管理字符串,如连接、查找、比较、替换和分割等操作。std::string 类定义在 头文件中…...
mindspore打卡机器学习正则化与优化器
机器学习正则化 这段代码实现了一个深度学习实验,目的是使用不同的正则化技术(包括dropout、批量归一化、L2正则化以及早期停止策略)来训练神经网络模型,以拟合一个带有噪声的余弦波形数据集。代码使用MindSpore框架进行编写&…...
Linux搭建Socks5网络代理服务器,Centos 8 系统
一、目的用途 用于网络代理转发请求,隐藏真实的请求ip地址,或者用于绕过网络限制的目标服务器,将自己的访问请求到代理服务器,通过网络代理服务器将请求转发到目标服务器 二、安装Socks5前的准备 1、从官网下载ss5安装包…...
分布式限流:Spring Cloud Gateway 限流
分布式限流:Spring Cloud Gateway 限流 在现代微服务架构中,流量控制是一个至关重要的部分。分布式限流作为一种有效的流量控制手段,能够帮助我们保护系统不被突发的流量冲垮。Spring Cloud Gateway支持多种限流方式。 什么是分布式限流 分…...
Linux 端口
什么是虚拟端口 计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。 IP地址相当于小区地址,在小区内可以有许多用户(程序)&…...
Oh My Zsh Git 插件
以下是一些常见的别名和它们对应的 Git 命令: g: gitga: git addgaa: git add --allgapa: git add --patchgau: git add --updategb: git branchgba: git branch -agbd: git branch -dgbda: git branch --no-color --merged | command grep -vE “^(||*|\s*(main|m…...
新车丨本田、吉利、丰田等,再添5台新车!颜值漂亮,下半年发布
今年上半年北京车展发布的一些新车,或将于今年下半年能上市,未买车的朋友先不要着急。以下5款新车或将在今年下半年上市,新车实力更强、颜值更高、续航更长,充电更快,此5款供大家借鉴。第一台本田发布的烨GT此车整体设计由中国研发团队自主设计符合国人审美,并且采用四门…...
申城下周晴雨参半,高考期间多阴雨天气
东方网记者包永婷6月2日报道:这个双休日的天气很配合儿童节和出行,上海今天较昨天更加晴朗,蓝天白云的景象也赏心悦目。气温加快上升的步伐,徐家汇站最高气温止步28.2℃,午间有些热有些晒,早晚依旧延续着舒适的体感。明天会是近期最晴最热的一天,多云到晴为主,气温起步2…...
新车凯美瑞买什么配置性价比最高,全新第九代:B级车市场新标杆
全新凯美瑞买什么配置性价比最高**广汽丰田第九代凯美瑞:B级车市场的璀璨明星**3月30日,广汽丰田第九代凯美瑞震撼上市,以其卓越的智能电混技术、智能座舱、智驾安全及无与伦比的驾乘质感,重新定义了中高级轿车市场的标杆。这款车型不仅价格亲民,介于17.18万元至20.68万元之…...
web刷题记录(1)
[GXYCTF 2019]Ping Ping Ping 进入页面,发现有一个传入参数的框,目的就是为了让我们通过参数传入内容来执行代码。这里先传入本地ip,方便后面的ping命令运行 ls命令来查看,目录中的文件 传入后,发现目录下有flag.php,…...
Django入门全攻略:从零搭建你的第一个Web项目
系列文章目录 努力ing Django入门全攻略:从零搭建你的第一个Web项目努力ing… 文章目录 系列文章目录前言一、Django1.1 Django安装1.2 Django项目创建1.3 目录介绍 二、子应用2.1 子应用创建2.2 目录结构2.3 子应用注册2.4 子应用视图逻辑2.4.1 编写视图2.4.2 编写…...
Java(六)——抽象类与接口
文章目录 抽象类和接口抽象类抽象类的概念抽象类的语法抽象类的特性抽象类的意义 接口接口的概念接口的语法接口的特性接口的使用实现多个接口接口与多态接口间的继承抽象类和接口的区别 抽象类和接口 抽象类 抽象类的概念 Java使用类实例化对象来描述现实生活中的实体&…...