自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 数据库分库分表

数据库分库分表1.垂直拆分(拆分的是字段)1.1垂直分库:1.2垂直分表:1.3优点1.4缺点2.水平拆分(拆分的是内容)2.1 一种方法:id取模2,,如果userid mod 2等于1,去一表,等于0去二表2.2优点2.3缺点3.分库分表问题4.分库分表中间件4.1proxy代理层4.2jdbc应用层1.垂直拆分(拆分的是字段)1.每个库(表)的结构都不一样2.每个库(表)的数据(至少有一列一样)3.每个库(表)的并集是全量数据1.1垂直分库:电商(shop)数据库可分为(orders

2021-10-02 16:00:17 418

原创 LeetCode---剑指 Offer 10- II. 青蛙跳台阶问题

剑指 Offer 10- II. 青蛙跳台阶问题1.题目链接2.题目描述3.题解1.题目链接剑指 Offer 10- II. 青蛙跳台阶问题2.题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:13.题解递归法//

2021-09-19 17:46:35 268

原创 一些测开面试题及答案(个人梳理)

这里写目录标题答案对错自辨,文明观看,有错给我说我改1.白盒测试/黑盒测试1.白盒测试答案对错自辨,文明观看,有错给我说我改1.白盒测试/黑盒测试1.白盒测试测试程序的内部的逻辑,结构的实现,是否实现了相应的功能。单元测试:Junit框架语句覆盖逻辑覆盖(判定覆盖,条件覆盖,判定组合,条件组合,判定和条件组合)路径覆盖循环覆盖测试流程,bug流程测试方案,计划,策略压测selenium原理,选取元素方法元素定位不到原因servlet生命周期python内存(问了好多pyt

2021-09-15 13:02:33 5330

原创 牛客---两数之和

1.链接牛客—两数之和2.题目描述给出一个整数数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2)组成的数组,需要满足 index1 小于index2.。注意:下标是从1开始的保证给出的数组中只存在唯一解。例如:给出的数组为 [20, 70, 110, 150] , 目标值为90返回一个数组 [1,2] ,因为 numbers _1+numbers _2=20+70=90n

2021-09-15 12:39:59 272

原创 牛客网---倒置字符串

牛客网---倒置字符串1.链接2.题目描述3.题解1.链接牛客网—倒置字符串2.题目描述将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割示例1输入I like beijing.输出beijing. like I3.题解 import java.util.Arra

2021-09-14 18:39:13 117

原创 牛客网----排序子序列

1.链接:https://www.nowcoder.com/questionTerminal/2d3f6ddd82da445d804c95db22dcc4712.题目描述牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出

2021-09-14 14:51:16 118

原创 Java随手记,不定期更

1.abstract不能修饰字段

2021-09-14 14:49:40 129

原创 Java 中对于字段和方法共的四种访问权限 private,default,protected,public

private: 类内部能访问, 类外部不能访问default:默认(也叫包访问权限): 类内部能访问, 同一个包中的类可以访问, 其他类不能访问.protected: 类内部能访问, 子类和同一个包中的类可以访问, 其他类不能访问.public : 类内部和类的调用者都能访问...

2021-09-14 13:05:09 538

原创 软件测试复习整理

1.什么是软件测试软件测试就是验证软件是否满足客户的需求2.软件测试和开发的区别2.软件测试和开发中调试的区别目的不同:测试是测试人员检测软件是否

2021-09-12 21:00:55 6196 4

原创 删除公共字符

1.题目链接删除公共字符2.题解 import java.util.Arrays;import java.util.HashMap;import java.util.Scanner;/** * User:yang */public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str

2021-09-12 17:50:59 103

原创 牛客-----组队竞赛

1.题目链接牛客-----组队竞赛2.题解import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNextInt()) { int n = sca

2021-09-12 17:33:22 135

原创 归并排序,递归,稳定

package 归并排序;import java.util.Arrays;/** * User:yang */public class guibing { /** * 时间复杂度: * 最好:n*log2(n)(堆排序,快速排序,归并都是)//快排不适合有序序列 * 空间复杂度: * 最好:O(n) * 稳定性: 不稳定 * * @param array * @param low * @par

2021-09-12 15:48:02 95

原创 交换排序(冒泡排序,快速排序)

1.冒泡排序package 交换排序;import java.util.Arrays;/** * User:yang * * 冒泡排序 * * 时间复杂度:O(n^2) * * 空间复杂度:O(1) * * 稳定性: 稳定 */public class bubbleSort { public static void bubbleSortmethod(int[] array) { for (int i = 0; i < arr

2021-09-12 15:47:21 238

原创 选择排序(选择排序,堆排序)

1.选择排序package 选择排序;import java.util.Arrays;/** * User:yang * 时间复杂度好坏都是O(n^2) * 空间复杂度O(1) * 稳定性:不稳定 */public class xuanzepaixu { public static void selectSort(int[] array){ for (int i = 0; i < array.length-1; i++) { for

2021-09-12 13:03:38 88

原创 插入排序(直接插入排序,希尔排序)

1.直接插入排序1.1图示:1.2题解import java.util.Arrays;/** * User:yang * 插入排序:数据越有序效率越高 * 时间复杂度: * 好O(n),数据有序 * ,坏O(n^2)数据逆序 * 空间复杂度O(1) * 稳定性:稳定 */public class inserSort { public static void insertSort(int[] array) { for (int i = 1; i <

2021-09-12 11:04:53 71

原创 leetCode---合并两个有序链表

1.题目链接leetCode—合并两个有序链表2.题目描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。3.题解/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val

2021-09-10 23:58:17 83

原创 牛客网---链表中倒数第k个结点

1.题目链接链表中倒数第k个结点2.题目描述输入一个链表,输出该链表中倒数第k个结点。3.题解/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode FindKthToTail(ListNode head,int k)

2021-09-10 23:07:13 111

原创 LeetCode---链表的中间结点

链表的中间结点1.题目链接2.题目描述3.题解1.题目链接 链表的中间结点2.题目描述给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。3.题解/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int v

2021-09-10 20:01:17 98

原创 leetcode--反转链表

反转链表1.链接2.题目描述3.题解1.链接反转链表2.题目描述给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。3.题解/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } *

2021-09-10 19:25:49 126

原创 LeetCode----移除链表元素

移除链表元素1.题目链接2.题目描述3.题解1.题目链接移除链表元素2.题目描述给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。3.题解/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} *

2021-09-10 17:38:16 66

原创 测试面试题总结

测试面试题总结1.TCP/UDP协议怎么测试1.1解答2.冒泡排序测试2.1解答1.TCP/UDP协议怎么测试1.1解答首先分析tcp,udp是干什么的,有什么特点TCP 可靠的 三次握手(1.是不是有三次握手,2.每次的顺序,3.每次发送的信号(ack,syn是否对应)是不是对的)四次挥手(1.是不是四次挥手,2.挥手顺序3.每次的信号是否对应)2.冒泡排序测试2.1解答给几组数据,看是否按照大小规则排序是否可以输入字符串...

2021-09-10 01:30:16 64

原创 测试梳理总结重点

1.测试用例1.1等价类(测试用例无法穷举的情况)把输入(特殊情况下才考虑输出)划分成若干个等价类(有效等价类和无效等价类),从每一个等价类当中选一个测试用例进行测试,如果这个测试用例通过,我们就说这个测试用例代表的等价类通过。例如:输入用户名(具有一定规则,8–12),进行测试,不可能全部测试完,选取一部分使用情况:测试用例太多,没有办法穷举分类:有效等价类:符合数据规则,有意义(8-12)无效等价类:不符合数据规则,没意义(<8,>12)测试的时候有效无效都需要测试1.

2021-09-09 23:28:10 845

原创 JVM,虚拟机,垃圾回收机制

虚拟机1.JVM2.内存区域划分1.JVMJava Virtual Machine的简称。意为Java虚拟机。2.内存区域划分堆(空间最大):new的对象都在这,方法区:类对象栈:JVM栈和本地方法栈程序计数器:只放了一个内存地址...

2021-09-09 01:46:53 84

原创 semaphore

import java.util.concurrent.Semaphore;/** * User:yang */public class Thread{ public static void main(String[] args) throws InterruptedException { //c初始5 Semaphore semaphore = new Semaphore(5); //p,申请1 semaphore.acqu

2021-09-08 13:29:52 163

原创 synchronized

开始是乐观锁,如果竞争激烈会变成悲观锁开始是轻量级锁,如果竞争激烈会变成重量级锁synchronized的轻量级锁,是基于自旋锁的方式实现的是非公平锁是可重入锁不是读写锁

2021-09-07 23:11:35 67

原创 多线程重点---synchronized用法

1.synchronized解决:原子性,内存可见性,指令重排序使用场景:一读一写,多写,缺点:重量本质上是加锁,针对某个对象加锁,只有一个线程能获取到该对象的锁,其他线程只能阻塞等待实际上就是把并发变成了串行,除去了抢占式执行带来的随机性2.synchronize(关键字) 监视器锁(atm取钱)功能:保证操作的原子性,禁止指令重排序,保证内存可见性3.2修饰一个方法相当于加了LOCK,UNLOCK synchronized public void increase(

2021-09-07 17:07:47 206

原创 多线程案例,单例模式,阻塞队列,定时器

多线程案例1.单例模式1.1定义1.2实现1.2.1饿汉模式1.2.2懒汉模式1.3如何保证懒汉模式线程安全2.阻塞队列2.1定义2.1.1生产着消费者模型1.单例模式1.1定义是一种设计模式,在代码中有些对象应该只有一个实例,就称为“单例”eg:数据库的DataSource应该就是一个单例有些负责加载数据到内存的类也应该是单例强制性某个类只有一个实例1.2实现主要依托于static关键字,静态成员1.2.1饿汉模式/** * User:yang */public clas

2021-09-06 19:21:20 227

原创 多线程重点---线程安全

多线程重点---线程安全1.线程不安全的原因2.线程安全解决2.1synchronized2.1volatile1.线程不安全的原因1.多线程执行模式是:“抢占式执行”2.多个线程修改同一个变量,修改中可能出现bug3.一个线程修改,一个线程读取,读取的内容可能出现bug4.操作不是原子性的(eg:不是原子的:i++,i–,i*=10先读在修改,再写回内存,if(i==10)i=20先读在判定,再写回内存)5.内存可见性(编译器+jvm会优化 )6。指令重排序(编译器

2021-09-06 15:19:37 63

原创 多线程---中,创建方法,终端,属性,线程安全(重点),

1.创建线程1.继承自Thread,重写run方法,2.实现runnable接口,把runnable接口的实例赋值给Threadimport java.util.TreeMap;/** * User:yang */class MyTask implements Runnable{ @Override public void run() { while (true){ System.out.println("hello");

2021-09-05 13:34:02 119

原创 操作系统入门

操作系统入门1.冯诺依曼体系结构2.CPU(中央处理器)=运算器+控制器3.存储器(存储数据)4.输入设备,输出设备5.操作系统6.进程(process)(有的系统也叫任务)1.冯诺依曼体系结构1.输入设备2.存储器3.运算器4.控制器5.输出设备2.CPU(中央处理器)=运算器+控制器进行算术运算和逻辑判断(核心设备)(也非常复杂)CPU核心功能:执行一些指令(二进制数据)3.存储器(存储数据)内存:空间小,访问速度快外存:空间大,访问速度慢4.输入设备,输出设备

2021-09-04 23:26:15 78

原创 多线程编程入门

多线程编程1.线程1.线程线程被称为“轻量级进程”每个线程对应一个独立的执行流一个进程包含了多个线程,线程共享进程的资源进程有独立性线程如果出了问题,可能会影响进程。创建线程的开销比创建进程小进程是系统分配资源的最小单位,线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的。...

2021-09-04 23:25:26 109

原创 单向链表和LinkList

单向链表和LinkList1.插入:2.删除最后一个节点3.LinkedList内部是带环的单链表1.插入:单向链表已知前一个位置(引用的方式来提供),执行插入操作,时间复杂度:O(1)。LinkedList已知前一个位置(告诉下标,根据下标遍历),执行插入操作,时间复杂度:O(N)。2.删除最后一个节点单向链表 执行删除最后一个节点操作,时间复杂度:O(N)。LinkedList 执行删除最后一个节点操作,时间复杂度:O(1)。3.LinkedList内部是带环的单链表...

2021-09-04 21:29:22 142

原创 TCP/IP协议,重点:三次握手,四次挥手,udp,tcp区别

TCP/IP协议1.HTTP协议2.传输层核心功能2.1TCP,UDP之间区别1.HTTP协议是一种常见的应用层协议。2.传输层核心功能完成端对端的数据传输2.1TCP,UDP之间区别UDP 协议无连接,TCP协议有连接。UDP协议不可靠传输,TCP协议可靠传输UDP协议面向数据报,TCP协议面向字节流...

2021-09-02 00:30:21 128

原创 LoadRunner,性能测试

LoadRunner1.性能测试的原因2.1.性能测试的原因系统是否可以处理预期的用户负载。系统是否可以处理业务所需要的事务数量(事务是一系列密切相关的操作的集合)系统可以处理非预期情况下的用户负载系统可以在预期和非预期的情况下稳定运行用户可以获得舒服的体验2....

2021-09-01 17:15:37 300

原创 百度提前批开发测试一面凉凉经

百度提前批开发测试一面凉凉经1.讲解一下项目2.写百度登录的测试用例(Test case)3.排序4.linux命令5.sql6.三次握手,四次挥手7.maven作用8.postman什么数据类型,url9.get,post区别10.编程题1.讲解一下项目背景,做啥,负责啥,有没有单元测试2.写百度登录的测试用例(Test case)ps:面试官让写case,反应了半天,害3.排序时间复杂度和稳定4.linux命令会什么,TOMCAT云服务器为什么不让8080通过,进程占用怎么办,5.sq

2021-08-31 15:03:38 131

原创 自动化测试框架

自动化测试框架1.自动化测试框架1.1unittest和junit的区别1.2unittest框架解析1.2.1测试固件:1.2.2测试套件:1.2.2.1测试用例的运行顺序1.2.2.2addtest:每次把一个测试脚本中的一个测试用例加载进测试套件1.2.2.3makesuit:把一个测试脚本中的所有测试用例加载进测试套件1.2.2.4TestLoader:把一个测试脚本中的所有测试用例加载进测试套件1.2.2.5discover:把一个文件夹,所有以某种形式命名的脚本中的所有测试用例都加载到测试套件中

2021-08-27 20:24:57 3004

原创 自动化测试(定位元素的方式,浏览器操作)

自动化测试1.定位元素的方式2.浏览器操作2.1浏览器最大化2.2浏览器高宽2.3浏览器前进后退2.4浏览器滚动2.5键盘按键2.6键盘组合键2.7鼠标事件双击,右击2.8定位一组元素2.9多层框架的定位2.10层级定位2.11下拉框处理2.12alert处理2.13div定位2.14上传文件3.自动化测试框架3.1unittest和junit的区别3.2unittest框架解析3.2.1测试固件:3.2.2测试套件:1.定位元素的方式id,name,class name,link text,parti

2021-08-27 14:08:02 3331

原创 测试之测试方法

测试方法0.测试金字塔1.单元测试2.集成测试3.系统测试4.回归测试(Regression Testing)5.冒烟测试(smoke testing)5.验收测试6.按测试实施组织6.1α测试(Alpha Testing)6.2β测试(Beta Testing)6.3α测试与Beta测试的区别:6.4第三方测试0.测试金字塔(1)从上到下,定位问题越来越困难(2)从上到下,测试效率越来越低1.单元测试测试阶段:开发前(Test Driven Development),开发后测试人员:白

2021-08-23 11:45:49 161

原创 测试----测试用例

测试用例1.从整体角度设计分析测试用例2.具体的设计测试用例方法2.1等价类2.2边界值2.3因果图2.3.1 概念2.3.2因果图法设计测试用例的步骤1.从整体角度设计分析测试用例用户需求—产品设计文档—开发—测试—上线1 .验证需求的正确性和合理性2.分析需求,细化需求,从需求中分解出测试项,根据测试项找出功能,进行测试用例的编写2.具体的设计测试用例方法2.1等价类依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为

2021-08-21 20:23:53 186

原创 邮箱输入注册测试用例

邮箱注册输入项测试1.测试环境:2.测试数据3.测试步骤3.1进入邮箱注册页面3.2输入邮箱地址,输入符合需求的密码和手机号码3.3点击勾选同意,点击注册4.预期结果1.测试环境:Google Chrome 版本92.0.4515.159Windows 10 家庭中文版 联想 64位2.测试数据abd1234_56@163.com3.测试步骤3.1进入邮箱注册页面3.2输入邮箱地址,输入符合需求的密码和手机号码3.3点击勾选同意,点击注册4.预期结果注册成功...

2021-08-20 20:52:41 1826

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除