一个资深测试工程师面试一来就问我这些题目

  •  📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢交流讨论:欢迎加入我们一起学习!
  • 📢资源分享:耗时200+小时精选的「软件测试」资料包
  • 📢 最困难的时候,也就是我们离成功不远的时候!

作为一个已经工作有10年经验的测试工程师,其间也辗转了几个大的互联网公司,虽然确实缺少了一些稳定性,但同时也积累了一些面试的经验,不才分享一些给大家。那么主要是针对测试工程师的一些总结,对于其他的工种,我可能会在别的文章中去总结一些面试技巧,本文会着重于测试工程师的面经。
  

测试的面试重点分为两大部分:技术,项目
  

扩充一下:技术的一些注意点,项目上的一些处理方式(有些还会有一些沟通上的小技巧),可能不会写的特别详细,但点我都会点到,后续会再继续补充(希望能帮助到各位互联网的孩子们)
  

那么直接上货,希望能帮助到各位同行,或者不是同行却也能激发起你们的灵感的伙伴们~
  

一.黑盒测试方法(可能会问等价类的分类,等价类和边界值是最重要的:
  1、等价类划分:
  (有效等价类:对于程序规格说明来说,是合理的,有意义的输入数据构成的集合)
  (无效等价类:对于程序规格说明来说,是不合理的,无意义的输入数据构成的集合)
  2、边界值分析方法
  3、因果图方法
  4、正交实验设计方法
  5、功能图分析方法
  6、错误推测法
  7、需求文档转化法
  8、随机测试
  9、对象属性分析法
  

二.白盒测试方法(可以选择性记忆....不知道会不会问):
  1.语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。
  2.判定覆盖:使设计的测试用例保证程序中每个判断的每个取值分支至少经历一次。
  3.条件覆盖:条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支
  4.判定条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。
  5.条件组合覆盖:在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖。
  6.路径覆盖:是每条可能执行到的路径至少执行一次。
  补充:
  (1)语句覆盖在所有的测试方法中是一种最弱的覆盖。
  (2)判定覆盖和条件覆盖比语句覆盖强,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖
  (3)路径覆盖也是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。
  

三.TCP/IP分层协议(每层的协议要注意):
  1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡
  2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路。
  3.运输层:主要为两台主机上的应用提供端到端的通信。
  4.应用层:负责处理特定的应用程序细节。
  TCP和UDP的区别(网络上的知识点):
  1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
  2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
  3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
  UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
  4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
  5、TCP首部开销20字节;UDP的首部开销小,只有8个字节
  6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
  

四.TCP/IP三次握手,四次挥手(常问项)
  三次握手:
  第一次握手(SYN=1,seq=x):
  客户端发送一个TCP的SYN标志位置1的包,指明客户端打算连接的服务器的端口,以及初始序号X,保存在包头的序列号(Sequence Number)字段里。
  第二次握手(SYN=1,ACK=1,seq=y,ACKnum=x+1):
  服务器发回确认包(ACK)应答。即SYN标志位和ACK标志位均为1。服务器端选择自己的ISN序列号,放在seq域里,同时将确认序号(Acknowledgement Number)设置为客户的ISN加1,即X+1。发送完毕后,服务器端进入SYN_RCVD状态。
  第三次握手(ACK=1,ACKnum=y+1):
  客户端再次发送确认包(ACK),SYN标志位为0,ACK标志位为1,并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方,并且在数据段放写ISN的+1。
  发送完毕后,客户端进入ESTABLISHED状态,当服务器端收到这个包时,也进入ESTABLISHED状态,TCP握手结束,TCP连接建立完成
  我的理解....:
  A问B:你听到了么,发确认信息
  B回答A:听到了,告诉A它能接收到A的消息
  A再回B:我能接收到你的消息,再发一次确认 ,然后建立连接
  四次挥手:
  第一次挥手(FIN=1,seq=x):
  假设客户端想要关闭连接,客户端发送一个FIN标志位置为1的包,表示自己已经没有数据可以发送了,但是仍然可以接收数据。
  发送完毕之后,客户端进入FIN_WAIT_1状态。
  第二次挥手(ACK=1,ACKnum=x+1):
  服务器端确认客户端的FIN包,发送一个确认包,表明自己接收到了客户端关闭连接的请求,但还没有准备好关闭连接。
  发送完毕后,服务器端进入CLOSE_WAIT状态,客户端接收到这个确认包之后进入FIN_WAIT_2状态,等待服务器端关闭连接。
  第三次挥手(FIN=1,seq=y):
  服务器端准备好关闭连接时,向客户端发送结束连接请求,FIN置为1。
  发送完毕后,服务器端进入LAST_ACK状态,等待来自客户端的最后一个ACK
  第四次挥手(ACK=1,ACKnum=y+1):
  客户端接收到来自服务器的端的关闭请求,发送一个确认包,并进入TIME_WAIT状态,等待可能出现的要重传的ACK包。
  服务器端接收到这个确认包之后,关闭连接,进入CLOSED状态。
  客户端等待了某个固定时间(两个最大段生命周期,2MSL,2Maximum Segment Lifetime)之后,没有收到服务器端的ACK,认为服务器端已经正常关闭连接,于是自己也关闭连接,进入CLOSED状态。
  为什么是三次,不是两次或者四次(这个问题真的可能会被问到)
  两次握手并不能保证可靠性(B不确定A能收到自己的信息),四次握手又浪费了效率
  

五.OSI七层模型(记一记应用层,传输层,网络层我觉得就可以了....)
  

六. DNS(运行在UDP协议上,端口53)
  概念:dns是一个域名系统,是万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串
  

七:http协议
  restful接口:
  1.URI资源 2.表现:XML,HTML等格式 3.状态转移:get,post等
  HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少
  HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

  1. <font size="3">HTTP和HTTPS区别:(这个还挺重要的,端口号稍微记一下)</font>
复制代码

  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
  HTTP协议特点:
  1.支持客户/服务器模式。
  2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type(Content-Type是HTTP包中用来表示内容类型的标识)加以标记。
  4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
  HTTP原理:
  1、客户端连接到Web服务器
  一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。
  2、发送HTTP请求
  通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
  3、服务器接受请求并返回HTTP响应
  Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
  4、释放连接TCP连接
  若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
  5、客户端浏览器解析HTML内容
  客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。
  GET和POST请求的区别(个人感觉这个是要了解的):
  1.GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.
  2.GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
  3.GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。
  4.GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.
  状态码:
  1xx:指示信息--表示请求已接收,继续处理
  2xx:成功--表示请求已被成功接收、理解、接受
  3xx:重定向--要完成请求必须进行更进一步的操作
  4xx:客户端错误--请求有语法错误或请求无法实现
  5xx:服务器端错误--服务器未能实现合法的请求
  常见状态码:
  200 OK //客户端请求成功
  400 Bad Request //客户端请求有语法错误,不能被服务器所理解
  401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
  403 Forbidden //服务器收到请求,但是拒绝提供服务
  404 Not Found //请求资源不存在,eg:输入了错误的URL
  500 Internal Server Error //服务器发生不可预期的错误
  503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
  

八:TestNG(这个我自己用过,感兴趣也可以看看) testng传参方式(parameter在testng.xml 或者通过dataprovider)

  1. 运行方式:1.Run as 2.testng.xml
  2. 按顺序执行:preserve-order=true
  3.        忽略测试:@Test(enable=false)
复制代码


  结果在oup-put,日志级别是verbose
  并发运行用例:parallel=methods
  

九:appium(可以稍稍了解,和selenium异曲同工,有些点我觉得是UI自动化想通的)
  特点(为什么流行我觉得):
  ·跨平台,native hybrid webview(H5)
  · 跨设备,android iOS
  · 跨app,可以在多个app之间交互
  · 不依赖APP开源代码(保留意见,android Uiautomator对H5的支持需要代码支持,这里不细说)
  · 支持Selenium WebDriver / Selenium Grid
  · 跨语言,java python ruby nodejs
  · Open Source 原理: Android 编辑
  1.左边的WebDriver script是我们的selenium测试脚本(其实就是测试代码)
  2.中间是起的Appium的服务,Appium在这边起了一个Server(4723端口),跟selenium
  Webdriver测试框架类似,Appium?支持标准的WebDriver JSONWireProtocol 。在这里提供了一套web服务,Appium Server接收web driver 标准请求,解析请求内容,调?用对应的框架响应操作。
  如:脚本发送一个点击按钮的请求给appium server,
  appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上. Bootstrap 接收appium 的命令(4724端口),最终通过调用UiAutomator的命令来实现。4.最后执?行的结果由Bootstrap返回给appium server 5.另外,appium还用到了chromedriver来?支持基于H5(webview)的测试。IOS: 编辑
  1.左边的WebDriver script是selenium测试脚本
  2.中间是起的Appium的服务,Appium在这边起了?一个Server(4723端口),跟selenium
  Webdriver测试框架类似,Appium?支持标准的WebDriver JSONWireProtocol 。在这里提供了一套web服务,Appium Server接收web driver 标准请求,解析请求内容,调?用对应的框架响应操作。
  如:脚本发送一个点击按钮的请求给appium server,
  appium server调用instruments.js 启动?一个socket server,同时分出?一个?子进程运?行instruments.app,将bootstrap.js(一个UIAutomation脚本)注?入到device?用于和外界进?行交互。4.对于H5的操作,运?用了 iOS webkit debug proxy来实现 Android和IOS的区别我觉得就是bootstrap.jar和bootstrap.js去分别驱动uiautomator和uiautomation,新版本的Appium已经支持uiautomator2了,IOS支持XCUItest 定位元素方法(By后面那些东西,ID可以唯一定位): webdriver提供的用 By 定位元素 find_element(By.ID,"kw") find_element(By.NAME,"wd") find_element(By.CLASS_NAME,"s_ipt") find_element(By.TAG_NAME,"input") find_element(By.LINK_TEXT,u"新闻") find_element(By.PARTIAL_LINK_TEXT,u"新") find_element(By.XPATH,"//*[@class='bg s_btn']") find_element(By.CSS_SELECTOR,"span.bg s_btn_wr>input#su") find_element()方法只用于定位元素。它需要两个参数,第一个参数是定位方式,这个由 By 提供;另第二个参数是定位的值。
  

十. [url=]linux[/url]常用命令(我觉得比较可能问的多的)
  Cd:切换目录
  当前目录和上层目录:./ ../
  主目录:~/
  查看当前路径:pwd
  清屏:clear
  退出当前命令:ctrl+c 彻底退出
  软链接:ln -s slink source
  查找自己所在的终端信息:who am i
  查看当前谁在使用该主机:who
  ls -l (也可以直接 ll ) :列出长数据串,包含文件的属性与权限数据等
  ls -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
  find -name 文件名 :找匹配的文件名
  mkdir :创建指定的名称的目录
  cp -a file1 file2 :连同文件的所有特性把文件file1复制成文件file2
  cp file1 file2 file3 dir :把文件file1、file2、file3复制到目录dir中
  mv file1 file2 file3 dir : 把文件file1、file2、file3移动到目录dir中
  mv file1 file2 : 把文件file1重命名为file2
  rm -fr dir : 强制删除目录dir中的所有文件
  ps -ef|grep java :找出所有java进程
  kill -9 进程号 :彻底杀死某个进程
  chmod 改变文件的权限
  语法:chmod [options] mode files
  多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限
  chmod u+x file :给file的属主增加执行权限
  vi :文件名 #编辑方式查看,可修改
  cat :文件名 #显示全部文件内容
  more :文件名 #分页显示文件内容
  less :文件名 #与 more 相似,更好的是可以往前翻页
  head :文件名 #仅查看头部,还可以指定行数
  tail -f 20160921.logs :查看正在改变的日志文件
  tail -3000 catalina.out:查看倒数前3000行的数据
  history:查看用过的命令列表
  df -hl:查看磁盘使用空间
  which :只能查可执行文件
  whereis :只能查二进制文件、说明文档,源文件等
  du :显示目录或文件的大小
  df :显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统
  df 命令获得真正的文件系统数据,而 du 命令只查看文件系统的部分情况
  bash shell 的内置命令let 可以进行整型数的数学运算
  free:显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况
  top:显示当前系统中占用资源最多的一些进程
  netstat -anp|grep port:查看某端口是否被占用
  chown -R:更改某个文件或目录的属主和属组
  Shift + PageUp:翻页
  清空文件:echo "" > filename 或者cat /dev/null > a.txt 或者>a.txt
  Linux统计文件中出现的次数:
  (1) 单个字符串:grep -o targetstr filename | wc -l
  多个字符串:grep -o “targetstr_1\targetstr_2”filename | wc -l
  (2) awk '{s+=gsub(/targetStr/,"&")}END{print s}' filename
  Linux查找某个文件中的某个词:
  grep ‘test’a,b,c 在文件a,b,c中寻找test这个词
  grep -r 'test' . #在当前目录中找test这个词
  grep -r 'test' example #在example目录中找test这个词
  wc -l filename: 查看文件里有多少行
  uniq testfile: 删除一个文件中重复都是行
  sort testfile1 | uniq:删除重复之后进行排序(次数的)


行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一个数据中心的PUE修养,必将迎来液冷存储的曙光

实现小于1.3的PUE硬指标&#xff0c;数据中心液冷存储将功不可没。 【全球存储观察 &#xff5c; 科技热点关注】 4000亿千瓦时&#xff0c;能耗如此惊人&#xff0c;这是预计到2030年全国数据中心的年耗电总量。 小于1.3&#xff0c;看似微不足道的数字&#xff0c;这是新建…

有趣的代码——井字棋游戏的实现

前面我们讲解过一个猜数字游戏的实现&#xff0c;想来应该让大家感受到了属于编程的趣味性&#xff0c;并且在实现过程中应该也收获了知识。但猜数字这种简单的游戏肯定满足不了大家对于游戏的高标注、严要求&#xff0c;估计玩不了多久就会没有兴趣了&#xff0c;所以&#xf…

8. 队列

队列(queue)是一种遵循先入先出规则的线性数据结构。顾名思义&#xff0c;队列模拟了排队现象&#xff0c;即新来的人不断加入队列的尾部&#xff0c;而位于队列头部的人逐个离开。 如下图所示&#xff0c;我们将队列的头部称为“队首”&#xff0c;尾部称为“队尾”&#xff…

基于Web邮箱的邮件系统

题目: 基于web的邮件收发系统设计与实现 摘 要 计算机的应用已经越来越广泛&#xff0c;它从产生到完善已经差不多有50年左右的历史&#xff0c;更新换代速度非常快&#xff0c;在人们生活、工作中都发挥了不可替代的作用&#xff0c;几乎所有行业都离不开它&#xff0c;已经成…

【数值计算方法(黄明游)】矩阵特征值与特征向量的计算(三):Jacobi 旋转法【理论到程序】

文章目录 一、Jacobi 旋转法1. 基本思想2. 计算过程演示 二、Python实现迭代过程&#xff08;调试&#xff09; 矩阵的特征值&#xff08;eigenvalue&#xff09;和特征向量&#xff08;eigenvector&#xff09;在很多应用中都具有重要的数学和物理意义。Jacobi 旋转法是一种用…

06、基于内容的过滤算法Tensorflow实现

06、基于内容的过滤算法Tensorflow实现 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣&#xff0c;作为入门的素材非常合适。 05、基于梯度下降的协同过滤算法中已经介绍了协同过滤算法的基…

用最少数量的箭引爆气球[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 有一些球形气球贴在一堵用XY平面表示的墙面上。墙面上的气球记录在整数数组points&#xff0c;其中points[i] [xstart, xend]表示水平直径在xstart和xend之间的气球。你不知道气球的确切y坐标。一支弓箭可以沿着x轴从不同点完全垂直…

Springboot-注册注解【springboot常用注解】

1.组件注册 1.1 使用的注解 Configuration:普通配置类,替代以前的配置文件,配置类本身也是容器的组件|SpringBootConfiguration:Springboot配置类,与Configuration功能一样|Bean:替代以前的Bean标签,如果没有在Bean标签内定义名字,则默认组件的名字为方法名,可以直接修改注解…

在gitlab上使用server_hooks

文章目录 1. 前置条件2. Git Hook2.1 Git Hook 分为两部分&#xff1a;本地和远程2.1.1 本地 Git Hook&#xff0c;由提交和合并等操作触发&#xff1a;2.1.2 远程 Git Hook&#xff0c;运行在网络操作上&#xff0c;例如接收推送的提交&#xff1a; 3. 操作步骤3.1 对所有的仓…

Linux下的文件IO之系统IO

1. 知识点 读入写出&#xff0c;切记以我们程序为中心向文件或者别的什么东西读入写出&#xff08;输入流输出流&#xff09; 人话就是 文件向我们程序就是读入 程序向文件或者别的什么就是写出 2. open打开文件 open.c /****************************************************…

C++ 学习之函数成员指针的一个小细节

看看下面的代码&#xff0c;你能看出错误吗 class A { public:void fun(){}}; int main() {A a;void (A:: * p)() &A::fun;(*p)(); } 这段代码在调用成员函数时存在问题。正确的方式是使用对象来调用成员函数&#xff0c;而不是通过指针。以下是修正后的代码&#xff1a…

STM32CubeIDE(CUBE-MX hal库)----定时器

系列文章目录 STM32CubeIDE(CUBE-MX hal库)----初尝点亮小灯 STM32CubeIDE(CUBE-MX hal库)----按键控制 STM32CubeIDE(CUBE-MX hal库)----串口通信 文章目录 系列文章目录前言一、定时器二、使用步骤三、HAL库实验代码三、标准库代码 前言 STM32定时器是一种多功能外设&#…

异常 Exception 02

异常 Exception 02 六、异常处理1、基本介绍2、异常处理的方式3、示意图 try-catchthrows1、介绍2、注意事项 自定义异常1、基本概念2、自定义异常的步骤3、实例4、throw和throws的区别 六、异常处理 1、基本介绍 异常处理就是当异常发生时,对异常处理的方式。 2、异常处理的…

以STM32CubeMX创建DSP库工程方法一

以STM32CubeMX创建DSP库工程方法 略过时钟树的分配和UART的创建等&#xff0c;直接进入主题生成工程文件 它们中的文件功能如下&#xff1a; 1&#xff09;BasicMathFunctions 基本数学函数&#xff1a;提供浮点数的各种基本运算函数&#xff0c;如向量加减乘除等运算。 2&…

VBA代码解决方案第8讲:用FindPrevious进行重复搜索及利用LIKE查找

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程&#xff0c;目前已经是第三版修订了。这套教程定位于入门后的提高&#xff0c;在学习这套教程过程中&#xff0c;侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码…

货代FOB条款卖方必备的知识:发货人都要承担哪些费用呢?

据统计&#xff0c;中国出口中以FOB成交的占到70%&#xff0c;但专家指出&#xff1a;FOB对出口商的风险更大&#xff0c;有可能造成货、款两空的结局。 目前我国出口合同以FOB价格条款成交的比例越来越大&#xff0c;而且收货人指定船公司的少&#xff0c;指定境外货代的多&am…

3款厉害的小工具,小黑子都在用!

大家好&#xff0c;我是 Javapub。 程序员与普通人最大的区别是什么&#xff0c;当然是会使用工具。基于一些同学经常问我的问题&#xff0c;接下来给大家分享几款我经常使用的工具&#xff0c;主打一个提升效率。 第一款 Everything 用 windwos 的同学都体会过&#xff0c;…

带大家做一个,易上手的家常土豆片

还是先从冰箱里那一块猪瘦肉 搞一点蒜和生姜 切成小块 装进一个碗里 这里一点就够了 一条绿皮辣椒 切片 三个左右干辣椒 随便切两刀 让它小一点就好了 一起装一个碗 一大一小两个土豆切片 猪肉切片 起锅烧油 然后 下肉翻炒 等肉变颜色捞出来 然后放入土豆 和小半碗水 让…

JeecgBoot低代码开发—Vue3版前端入门教程

JeecgBoot低代码开发—Vue3版前端入门教程 后端接口配置VUE3 必备知识1.vue3新特性a. https://v3.cn.vuejs.org/b.setup的用法c.ref 和 reactive 的用法d.新版 v-model 的用法e.script setup的用法 2.TypeScript基础 后端接口配置 如何修改后台项目路径 http://127.168.3.52:8…

【玩转 EdgeOne】| 腾讯云下一代边缘加速CDN EdgeOne 是安全加速界的未来吗?

目录 前言边缘加速与安全加固边缘计算与CDN的融合EdgeOne优秀的安全特性EdgeOne卓越的性能表现灵活的配置和管理生态系统的支持与发展技术创新与未来展望EdgeOne试用结束语 前言 在当下互联网的迅猛发展的时刻&#xff0c;云计算和边缘计算技术的快速发展为网络加速领域带来了…