当前位置: 首页 > news >正文

2023软件测试工程师全新技术栈,吃透这些,起薪就是25k~

相信每个准备软件测试面试的同学,不管你是大学刚毕业,满心憧憬着进入公司实习、非计算机行业转行软件测试、自学测试就业还是培训后就业,都会面临着众多的疑问和不解,那就是该怎么走出着第一步,今天本文一次性告诉你,该怎么准备?

本文共10000+字,适用测试小白转行、测试老鸟跳槽,建议收藏慢慢看~~

一、自身技能积累篇

入行软件测试的路有很多,诉求也是因人而已,你可以选择自学、培训入行,但按照全栈软件测试的要求准备,可以适用不同行业要求;

1、学习方式

培训方式入行,其实是最实惠、花费时间最少、有效的一种方式。如果你不能脱产培训学习,可以边上班边学习,充分利用好晚上、周末时间进行学习,充分利用网络资源,在技能积累足够的时候,选择跳槽即可。

2、常见的测试工具

测试工具永远是软件测试人员的得力助手,不能完全依赖工具,但也不能没有工具,在学习软件过程中,要著中软件测试工具的使用,下图覆盖初、中级软件测试工程师所需具备的测试工具,要想学好,下手学习吧。

混在软件测试职业圈,工具千千万,不可能每个都会用,至少要知道有哪些工具可用,什么时候该用什么工具,每个工具能解决什么问题,然后再深入应用几款工具即可,下面就带大家总结一下。

  • 测试管理工具
禅道:简单好用,市场主流,互联网行业居多
Jira:简单好用 QC/ALM:复杂,收费,电信/金融行业使用较多
bugzilla:功能简单
svn:代码和文档管理工具
git:但是多分支管理比svn好
  • 接口测试工具
Jmeter(开源) postman SoapUI 推荐使用 jmeter 和 postman。
  • 性能测试工具
loadrunner:大而全,要学精通还是有点难度,重量级工具,过去和现在都是行业老大
jmeter:基于java平台的性能开源测试工具,其实也很强大,而且比较好用
Locust:基于python的一个性能测试工具
  • 白盒测试工具
junit/testng:java下的单元测试框架
unittest/pytest:python下的单元测试框架 cppunit:跨平台的c++单元测试框架
PhpUnit:Php语言下的单元测试框架
TestBed:一个重量级的白盒测试软件,可以进行单元测试、集成测试、静态测试,军工行业常用
Klockword:静态测试工具,军工行业常用
  • 持续集成工具
Jenkins:比较常见的一种CI工具 Hudson
  • 网络测试工具
以HTTP/HTTPs协议为主,网络测试工具有: wireshark fiddler charles
  • app自动化工具
appium:这个应该算是目前最流行的基于app的自动化测试框架了
uiautomator:安卓自动化测试框架,基本上支持安卓的所有事件操作
Monkey:安卓自带的测试工具
Monkey Runner:Monkey改进版,支持自己编写脚本测试,用Python语言
Robotium:一款国外的Android自动化测试框架,用法比较
  • web安全测试工具
appscan:算是用的非常多的一款工具了,扫描后能够将绝大部分的漏洞找出来
fiddler:网络抓包工具
burpsuite:暴力破解、抓包工具
skipfish:这是一个轻量级的安全测试工具,处理速度很快,每秒可处理2000个请求。

3、全栈软件测试技能要求

先来看下软件测试工程师的技术进阶路线吧,从测试工程师入门,可以经历功能测试、自动化测试(app、web、接口)、单元测试,最后可以定位测试开发工程师发展。

不要再道听途说,软件测试是一个点点点的行业了,那已经是老黄历了,如果仅仅是点点点,是没有任何竞争力的,给自己定个长远点的目标,勇敢的跨出一步吧。

 

(1)通用软件测试技术及理论

测试基础理论是我们迈入软件测试行业的基础,不少人会以为这些是无用的,作为十年的测试老兵负责人的告诉你,这些东西决定着你对软件测试理解的深度,决定着你将来能走多远。这些也是各种中高端软件测试技术、新技术的基础。

  • 软件测试常见概念
  • 软件测试的分类
  • 基于软件生命周期的测试
  • 软件测试流程
  • 黑盒测试方法
  • 测试用例设计
  • 测试用例执行及缺陷报告
  • 测试报告

(2)测试环境配置

测试环境配置、搭建也是一个测试工程师必备的技能,这就要求你要对Liunx系统、mysql数据库、docker等有一定的了解,至少这些知识可以作为测试的辅助,而不是包袱,也是你从测试工程师向测试开发工程师迈进的的基础。

  • Mysql数据库
  • Linux系统基础
  • shell基础
  • Redis数据库
  • 虚拟机测试环境管理
  • LAMP环境搭建
  • 云服务器搭建
  • docker环境搭建
  • k8s环境搭建

(3)掌握至少两门脚本语言

测试工程师还是要区别于开发的,开发可以在一个语言上纵向发展,但是作为测试工程师,就要要求掌握多种语言,以应付不同的项目、不同的团队要求。建议大家以python为首,java语言为辅学习,查看各大招聘网站,基本上也是以这两种语言为主的。

  • python基础语法(主攻python栈自动化测试技术)
  • java基础语法
  • html基础
  • js基础语法
  • svn
  • git/github

(4)UI自动化测试(web、app、小程序)

我们以python栈为主线,梳理自动化测试需要掌握的技术点,我们自动化又可以分为web端自动化技术、app端自动化测试技术及接口自动化测试技术。

UI端的自动化测试技术在经过前面几年的发展及验证,存在着很多自身的不足、性价比低的特点,企业需求也在逐渐减少。

  • python基础
  • selenium
  • appium
  • requests
  • airtest
  • unittest
  • pytest
  • ddt
  • xlrdxlrd
  • pymysql
  • json
  • HTMLTestRunner
  • BeautifulReport
  • jenkins
  • git/github/svn

(5)接口测试(短期内需求猛增的技术)

接口测试是一种目前较为流行的测试方向,名字看起来特别的高大上,但是技术实现非常简单,通俗点就是把浏览器做的事情(打包请求),我们自己手动来打包,并完成发送,通常市面上的主流的测试工具都可以实现打包的要求。

  • 接口及接口测试的概念
  • HTTP请求报文
  • HTTP响应报文
  • TCP连接的三次握手、四次挥手
  • 接口测试文档的编写和分析
  • Fiddler/charles抓包
  • postman(商用工具,很好用)
  • jmeter(强大,接口、压力通吃)
  • requests(接口自动化,可以采用python+requests+pytest+ddt+git框架实现)

(6)性能测试技术

作为非功能性测试的技术,算是软件测试的半壁江山,前几年的辉煌,也在云服务慢慢被中小型企业接纳的今天,逐渐没落。

  • 但是作为性能测试工具老大哥的Loadrunner,还是那个老大,但也终显老态。
  • jmeter市场份额也在逐渐增加,慢慢赶超Loadrunner。
  • Locast作为后起之秀,背靠 Python 脚本语言,借助requests模块组织脚本,可能更容易看清性能测试的本质

(7)持续集成

随着软件系统越来越复杂,软件测试越来越繁琐,传统的软件集成模式也不再适应。

  • 开发人员提交代码至svn
  • 测试人员检出源码
  • 编译打包
  • 上传服务器
  • 部署启动
  • 开发测试脚本
  • 完成测试

 

二、简历制作篇

简历是你展示给企业的第一名片,对你印象好坏,能不能吸引HR的目光,决定着你能不能进入面试环节,所以一个好的简历起到了至关重要的作用。

此处重点关注两个点:

1、技能列表

把自己熟练掌握、掌握、熟悉、了解的技术、工具按照顺序展示出来。 自己的亮点一定放在最显眼的位置,直接抓住HR的眼光。 技术上要齐全,包括功能测试、接口测试、性能测试等,及其相关工具的使用。 对网络协议、数据库、Linux等也要有一定的基础 对语言类,一般要掌握java、python两种脚本语言的使用

2、项目经验

根据自己的实际工作经验,梳理项目,可以分项目描述及项目职责两部分即可。

三、常见面试题-智斗HR篇

作为软件测试的面试者,整个面试过程都会与HR打交道,但是需要斗智斗勇的还是电话初面、终面谈薪。

1、电话初面

要知道,初面是HR通过各种渠道(boss直聘、智联、猎头)获得你的简历,初选后与你进行的第一次接洽,要知道现在的HR对你的理解都是从简历上来的,那这次电话面试很大层度上想了解下面几点,【你只需要回答她想听的即可】。

简单自我介绍(一定体现关键字,其实就是你的优势)

【在介绍完自己的基本信息之后,从项目、自己工作职责角度,逐步引出自己擅长的技术、工具等,通过间端的 介绍,让面试官了解到简历中所看不到的一些信息】 你好,我叫xx,来自xx,毕业于xx。目前有两年的功能测试经验。最近的一份工作是xx公司,主要参与app系统测 试,负责xxapp,一款类似抖音的短视频app功能测试,负责过的功能模块有拍摄、上传、搜索、推荐引擎等。 主要运用边界值,等价类,错误推测等常见黑盒测试方法。
  • 你的技能包括哪些方面(一般不会细究,一般都是依据技术部门提供的问题来问,他们都不一定知道答案,当然面的多了,也是懂一些的,不会太深,所以你大胆的说即可)
  • 你的项目、行业(按照简历的实际情况说就行)
  • 你上家公司为啥离职(这个找一个对自己有利的答案即可,切记吐槽前雇主)
  • 最快的入职时间
  • 上家公司名称、位置、职位等(一般外包类的会问)

2、现场面试(二面、三面....)

如果电话初面没问题,符合他们企业要求的话,就会约你线下二面,当然这块以技术面试为主,也会有HR在场问一下HR关心的问题

3、终面谈薪

通过了技术面试,根据技术面试官的评级,HR就会根据岗位薪资范围定薪,这次电话就是和你确定几个情况,如果都能谈妥,HR就可以发邮件申请发送offer了。

  • 确定薪资(这个是在一定范围内可以谈的,双双都能接受即可)
  • 是否可以在指定时间入职
  • 入职带的资料(离职证明、薪资流水、毕业证书、学历证数等)

四、常见面试题-技术篇

其实对面试题准备,无非下面几点,我们只需要在面试前,分门别类去整理即可,有的需要去背、理解,有的需要去操作、使用,但不管怎样,最终的要求都是能说出来,而且是转化为自己语言说出来,这个很重要,如果存粹是背的,会给面试官留下不好的印象,只有自己真正理解了,才能获得更多的机会。

下面每个部分,提供五六个面试真题,权当抛砖引玉。

1、测试环境问题

这块主要是有关windows、linux、mysql、docker相关的内容,是属于测试基础技能。

(1)为什么使用数据索引能提高效率

数据索引的存储是 有序的

在有序的情况下, 通过索引查询一个数据是无需遍历索引记录的

极端情况下,数据索引的查询效率为二分法查询效率,趋近于log2(N)

(2)当前有两张表,表A字段为id,name,address;表B字段为id,english成绩 chinese成绩:请以id关联来那个张表并以enlish成绩由高到低排序 (3)简述ls,pwd,tail,sudo等linux命令的用途,使用方法 (4)如何关闭centos7的防火墙 (5)docker的作用是什么,简单介绍如何在docker中搭建LAMP环境

2、测试基础理论问题

测试理论、方法、原则相关的问题,是属于测试入门级别技能。

(1)什么是回归测试?

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的过程。

回归测试策略包括:部分回归测试及完全回归测试。

回归测试引入自动回归,大幅降低系统测试、维护升级等阶段的成本、提升了回归测试的效率。

(2)如何测试一个 纸杯?

功能性:用水杯装水看漏不漏;水能不能被喝到

安全性:杯子有没有毒或细菌 可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

疲劳测试:将杯子盛上水放 24 小时检查泄漏时间和情况

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

(3)Beta测试与Alpha测试有什么区别?

Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试,开发者通常不在 测试现场。

Alpha testing (α测试),是由一个用户代表在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作 环境下进行的受控测试。

(4)测试中的“杀虫剂怪事”是指什么?

“杀虫剂怪事”用于描述测试人员对同一测试对象进行的测试次数越多,发现的缺陷就会越来越少的现象。就像老用一种农药,害虫就会有免疫力,农药发挥不了效力。这种现象的根本原因就是测试人员对测试软件过于熟悉,形成思维定势。

为了克服这种现象,测试人员需要不断编写新的测试程序或者测试用例,对程序的不同部分进行测试,以发现更多的缺陷。也可以引用新人来测试软件,刚刚进来的新手往往能发现一些意想不到的问题。

(5)web系统测试点

3、测试工具使用问题

(1)简述Jmeter和postman工具的区别?

1.支持的协议不同 Postman只支持HTTP及HTTPs协议。

Jmeter支持HTTP、HTTPS、socket、POP3、smtp、JDBC的多种协议

2.步骤的实现(有区别) Postman使用Collections管理用例,Jmeter是线程组管理用例 Postman和jmeter都是创建http请求

区别1:postman请求的请求URL是一个整体,jmeter分成了4个部分(协议、主机、端口、路径)

区别2:postman可以在请求中直接填写请求头信息, jmeter需要通过添加http请求头管理器添加请求头

3.数据用例的实现

区别1:jmeter比较适合进行数据与操作分离,而postman比较适合把数据和操作放在一起,显然postman操作更简单,jmeter更便于维护

区别2: postman也支持csv数据文件的导入,但是每次执行时都需要收工加载数据文件。不方便(所以只能做半自动化) Jmeter可以进行完全自动化,特别是引入ant后效果更明显

4.断言的实现

区别1:Postman有很多自带的断言函数,直接引用即可,操作非常方便。。。 jmeter也自带断言组件,操作非常直观。

区别: postman用函数断言, jmeter用元件进行断言

区别2:jmeter支持正则表达式断言,postman不支持

区别3:Jmeter的断言更丰富。 postman需要通过编程来实现同样的效果,所以难度更大

5.执行

区别:默认执行,postman不能保存结果,jmeter可以报存结果 Postman可以通过newman实现批量执行和保存结果,jmeter可以通过ant实现批量执行和保存结果

6.其他 Postman比较适合做手工接口测试,因为简单,可以实现半自动化 Jmeter比较适合自动化接口测试,因为功能强大并且可以保存脚本,批量执行设置很容易 Postman一般用来做接口测试,用来发现BUG,验证后台程序 Jmeter可以进行接口测试及性能测试。

(2)monkey如何使用

(3)常见的ADB命令

(4)postman工具进行接口测试

(5)fiddler的常用使用场景

fiddler的核心功能还是抓取HTTP/HTTPs报文,但也提供了mock、弱网等功能。

4、测试流程问题

(1)软件测试流程

每个公司的测试流程都不尽相同,但大体是一致的:

  • 需求评审(有开发人员,产品经理,测试人员,项目经理)
  • 需求确定(出一份确定的需求文档)
  • 开发设计文档(开发人员在开始写代码前就能输出设计文档)
  • 想好测试策略,写出测试用例
  • 发给开发人员和测试经理看看(非正式的评审用例)
  • 接到测试版本
  • 执行测试用例(中间可能会补充用例)
  • 提交bug(禅道系统录入和跟踪)
  • 开发人员修改(可以在测试过程中快速的修改
  • 回归测试(可能又会发现新问题,再按流程开始跑

(2)自动化测试流程

5、大厂企业真题(是真题奥)

五、写在最后-友情赠送

工作中一些实际问题

不管你是有过软件测试相关工作,还是转行过来,都需要了解软件测试工作中的一些【梗】或者【细节】,这样更方便你快速融入团队。

最后分享一些我这些年在软件测试行业中搜集得到的学习资源,就当是感谢大家能够看完我的文章!

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

相关文章:

2023软件测试工程师全新技术栈,吃透这些,起薪就是25k~

相信每个准备软件测试面试的同学,不管你是大学刚毕业,满心憧憬着进入公司实习、非计算机行业转行软件测试、自学测试就业还是培训后就业,都会面临着众多的疑问和不解,那就是该怎么走出着第一步,今天本文一次性告诉你&a…...

【ChatGPT情商大考验】ChatGPT教我谈恋爱

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

C++类内存结构模型

内存分区 内存全局数据区,代码区,栈区,堆区。 定义一个类 类的成员函数被放在代码区 类的静态成员变量被放在全局数据区(不占用类的存储空间) 非静态成员在类的实例内,实例在栈区或者堆区 虚函数指针&…...

HTML#4超链接标签,列表标签,表格标签和布局标签

一. 超链接标签介绍<a> 定义超链接,用于连接到另一个资源herf: 指定访问资源的URLtarget: 指定打开资源的方式代码<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>超链接标签</title> <…...

本科课程【数字图像处理】实验汇总

文章目录 实验1 - 腐蚀与膨胀实验2 - 图像增强实验3 - 图像的几何变换实验4 - 图像的蒙纱效果实验5 - 空洞填充实验6 - 取阈值的邻域平均算法实验7 - 图像的平移与伸缩变换实验1 - 腐蚀与膨胀 实验目的 分析掌握腐蚀与膨胀的基本原理,编写腐蚀与膨胀的算法,并掌握开闭运算的规…...

nginx安装lua、jwt模块,通过lua验证jwt实现蓝绿发布样例

文章目录前言一、基础组件下载二、组件安装1.luajit安装2.lua-nginx-module安装3.lua-resty-core安装4.lua-resty-lrucache安装5.ngx_devel_kit安装6.nginx加载lua模块7.lua-cjson安装8.lua-resty-string安装9.lua-resty-jwt安装10.lua-resty-hmac安装三、验证jwt中属性实现蓝绿…...

【redis的几种数据结构及在Java里的应用案例】

Redis是一款高性能的key-value存储系统&#xff0c;支持多种数据结构&#xff0c;包括字符串、列表、哈希表、集合和有序集合等。下面是Redis的几种数据结构及在Java中的应用案例&#xff1a; string 字符串(String) 字符串是Redis中最基本的数据类型&#xff0c;用于存储字符…...

【mybatis】 01- mybatis快速入门

数据库创建(注意&#xff1a;最好先创建好数据库设置utf8再进行表创建) create database mybatis; use mybatis;drop table if exists tb_user;create table tb_user(id int primary key auto_increment,username varchar(20),password varchar(20),gender char(1),addr varch…...

【C语言每日一题】杨氏矩阵(源码以及改进源码)

【C语言每日一题】—— 杨氏矩阵&#x1f60e;&#x1f60e;&#x1f60e; 目录 &#x1f4a1;前言&#x1f31e;&#xff1a; &#x1f49b;杨氏矩阵题目&#x1f49b; &#x1f4aa; 解题思路的分享&#x1f4aa; &#x1f60a;题目源码的分享&#x1f60a; &#x1f4…...

JavaScript 面向对象【快速掌握知识点】

目录 类和对象 属性和方法 继承 多态 封装 类和对象 类是用于定义对象的模板或蓝图&#xff1b;它包含对象的属性和方法&#xff0c;我们可以使用class关键字来定义类。 class Person {constructor(name, age) {this.name name;this.age age;}sayHello() {console.log(H…...

Qt——自定义Model

众所周知&#xff0c;Qt提供了一套Model/View框架供开发者使用&#xff0c;Model用来提供数据&#xff0c; View则用来提供视觉层的显示。实际上这是一套遵循MVC设计模式的GUI框架&#xff0c;因为Qt还提供了默认的Delegate作为Controller来作为控制器。 MVC的好处这里就不多说…...

用 .NET 启动你的 DJI Ryze Tello 无人机

大疆的 DJI Ryze Tello 是入门级的无人机&#xff0c;不仅在 STEM 教育中有非常广泛的应用&#xff0c;也可以作为编程入门的首选。通过 UDP 协议调用 DJI Ryze Tello SDK 可以让 DJI Ryze Tello 无人机执行起飞&#xff0c;降落&#xff0c;转向以及不同的花式动作。本文将会通…...

sed 功能详解

介绍sedsed是一种流编辑器&#xff0c;它一次处理一行内容&#xff0c;把当前处理的行存储在临时缓冲区中&#xff08;buffer&#xff09;,称为"模式空间"&#xff0c;接着sed命令处理缓冲区中的内容&#xff0c;处理完成后&#xff0c;把缓冲区的内容送往屏幕&#…...

整数二分思路详解

题目描述 给定一个按照升序排列的长度为n的整数数组&#xff0c;以及 q 个查询。 对于每个查询&#xff0c;返回一个元素k的起始位置和终止位置&#xff08;位置从0开始计数&#xff09;。 如果数组中不存在该元素&#xff0c;则返回“-1 -1”。 输入格式 第一行包含整数n和q&a…...

基于java的进销库存管理系统(Vue+Springboot+Mysql)前后端分离项目,附万字课设论文

1.3 系统实现的功能 本次设计任务是要设计一个超市进销存系统&#xff0c;通过这个系统能够满足超市进销存系统的管理及员工的超市进销存管理功能。系统的主要功能包括&#xff1a;首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、 …...

手动添加 Grub 启动项

1. 问题背景 自己的台式机上装了好几块硬盘&#xff0c;因为自己又菜又喜欢折腾&#xff0c;几乎每块上都有一个操作系统&#xff0c;其中两个 m.2 的硬盘上分别装着一个 windows11 和一个 Ubuntu20.04。但在另外一块机械硬盘中还装着更早的一个 Ubuntu18.04&#xff0c;我电脑…...

工人搬砖-课后程序(JAVA基础案例教程-黑马程序员编著-第八章-课后作业)

【案例8-4】 工人搬砖 【案例介绍】 1.任务描述 在某个工地&#xff0c;需要把100块砖搬运到二楼&#xff0c;现在有工人张三和李四&#xff0c;张三每次搬运3块砖&#xff0c;每趟需要10分钟&#xff0c;李四每次搬运5块砖&#xff0c;每趟需要12分钟。本案例要求编写程序分…...

深度学习中backbone、head、neck等概念

1.backbone 翻译为主干网络的意思&#xff0c;既然说是主干网络&#xff0c;就代表其是网络的一部分。这个主干网络大多时候指的是提取特征的网络&#xff0c;其作用就是提取图片中的信息&#xff0c;供后面的网络使用。这些网络经常使用的是ResNet VGG等&#xff0c;而不是我…...

华为OD机试用Python实现 -【Linux 发行版的数量】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲Linux 发行版的数量题目描述输入描述输出描述说明示例一输入输出说明Python 代码实现代码编写逻辑华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csd…...

Http报文解析

http通信流程浏览器->已监听的web服务器->read->write->close http请求报文: a.请求方法: POST GET DELETE HEAD OPTIONS PUT TRACE b.请求地址: /xxx/yyy/zzz c.报文协议: HTTP/1.1 d.请求报文头: Accept Referer Accept-Language Content-Type Host Content-Len…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...