- 博客(86)
- 收藏
- 关注
原创 集合框架介绍
集合和数组的区别?数组的长度是固定的,集合的长度是可变的。如 int[] arr = new int[10];Student[] arr = new Student[3]; 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的是对象,对象的类型可以不一致。集合框架集合按照其存储结构分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map。Collection:单列集合类的根接口,它有两个重要的子接口,分别是java.util
2021-07-15 16:13:28 145
原创 Photoshop如何调整证件照背景色
第一步 魔棒工具选择人像1、选择魔棒工具,在照片中从上到下划就能够选择到人像,如果勾勒到的人像不够准确,按住shift键可以自行调整,直至选中人像。第二步 换背景色2、如果是换成纯色背景,点击这个前色景色,选择自己想要换成的颜色如果是换成纯色的背景,选择油漆桶工具,直接在图片上一拉背景色就变成前景色的颜色;如果需要背景色为渐变的效果,选择渐变工具,可在下拉框中选择想要的渐变效果。最后按住ctrl+D即可成功。...
2020-11-26 16:26:04 670
原创 访问网站或接口超时如何排查
假如访问网站或接口响应时间很长如何排查?第一步:从外层开始打开浏览器开发者工具F12,进入network,查看文件响应时间,为了排查是否有可能css或者js插件引用了国外的地址,导致请求时间过长。第二步:文件没有问题后,排查接口1、如果接口读取超时,考虑是否是sql问题,需要优化sql。找到sql去MySQL执行一下,查看执行时间,expain一下SQL查看索引,针对性优化。2、如果sql没问题,可能是写的逻辑代码的问题,一行行审代码,找到耗时的地方改造,优化逻辑。第三步:如果前两步都没有问题,
2020-10-26 12:03:50 5152
原创 编程题之背包问题
01背包问题# 示列 1# 输入"""5 108 610 44 25 45 3"""# 输出"""19"""# 示列 2# 输入"""1 110 2"""# 输出"""0"""代码# 01背包模板题def solve(weight,value, n, m): # dp = [[0]*(m+1) for _ in range(n+1)] for i in range(1,n+1): for j in range
2020-10-20 19:50:50 1372
原创 天翼云技术B卷编程题
1、丑数题目:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
2020-09-17 21:35:21 914 1
原创 小米测开笔试题
1、分解质因数题目:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,否则称为合数。请将一个正整数分解质因数,如果输入的数不是合数,打印其本身,否则按照从小到大的属性打印出其质因子。输入样例:100输出样例:2255python代码:def primeFactorization(num): even = 2 res = [] while num >= even: if num // even == 0: res.append(ev
2020-09-16 15:52:57 871
原创 2020-09-06测开美团笔试题
第一题题目:你需要帮小团和小美计算,有多少块土地是只有A国想要的,有多少块土地是只有B国想要的,有多少块土地是两个国家都想要的。输入:5 3 31 2 33 4 5输出:2 2 3(第1、2块地是A想要的,第4、5块地是B想要的,则有2块地是A想要的,2块地是B想要的,他们都想要第3块地)解答:方法①(超时且只A了55%):def fun(A,B): li = [] for i in A: if i in B: li.appe
2020-09-06 19:59:24 558
原创 测试常问题
1、单元测试中的驱动模块和桩模块区别?驱动模块:模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。如上图,被测模块为B,而A模块里面包含main函数能够调用B模块,让B模块运行起来,模拟A模块属于驱动模块。桩模块:模拟被测试模块所调用的模块,即为上图模块D,E,除了使得模块B能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值。(考点mock)2、集成测试集成测试的主要任务:将各模块连接起来,检查模块相互调用时
2020-08-11 15:27:05 250
原创 Map集合
package Map;import java.util.HashMap;import java.util.Map;/**java.util.Map<k,v>集合Map集合的特点:1、Map集合是一个双列集合,一个元素包含两个值(key,value)2、Map集合中的元素,key和value的数据类型可以相同,可以不同3、Map集合中的元素,key是不允许重复的,value是可以重复的4、Map集合中的元素,key和value是一一对应的java.util HashMap
2020-08-04 13:25:43 303
原创 Linux常用命令
常用命令1、创建文件夹:mkdir;创建文件:touch;删除文件夹:rm -rf2、查询搜索命令grep;查找文件名:find /搜索目录 -name 目标名字3、查看进程:ps -aux;查看服务器某个端口的占用情况:netstat -tunlp | grep 端口号;杀死进程:kill -9 PID;查看当前目录:pwd4、本地复制命令:cp file1 file25、移动或重命名文件:mv file dir/ mv file1 file26、查看文件头几行:head -n 10 file
2020-07-15 14:08:35 134
原创 操作系统考点
1.进程与线程区别进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。区别:开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)内存分配方面:系统在运行的时候会为每个进程分配不同的
2020-07-14 18:08:06 130
原创 计算机网络考点
1.http和https区别Http:超文本传输协议。以明文方式发送信息,端口80https:是http的安全版,使用的是SSL协议,传输之前身份认证、交换密钥,端口443模块请求http改成了https,测试方案该如何制定?① 使用https登录,登录成功并且地址栏有一把锁,则说明该网站部署了SSL② 使用http登录,登陆成功则说明该网站没有强制https登录③ 使用http登录,跳转至https页面,则说明该网站设置了http自动跳转至https2.错误码400:无效语法;401:未
2020-07-14 16:10:07 227
原创 数据库考点
场景语句1.一张表中有id和name 两个字段,查询出name重复的所有数据select * from student a where (a.name) in (select name from student group by name having count(*) > 1)考点:having count(*)>1mysql知识1.order by与group by的区别order by:对查询结果的某一列或多列进行排序(ASC:升序;DESC:降序)group by:对查询结
2020-07-13 11:13:34 128
原创 python考点
1.去除列表中的重复数字2.使用set()后,元素的位置会变吗?会,set() 函数创建一个无序不重复元素集扩展:如何让其保持不变?string = [3,4,4,5,3,45,8]string1 = list(set(string))print("==",string1)string1.sort(key=string.index)print("**",string1)结果:==[3, 4, 5, 8, 45]**[3, 4, 5, 45, 8]3.python中sort和sort
2020-07-13 10:40:44 258
原创 用正则表达式找出日志中的ip地址
了解IPv4的规则1、任何一个1位或2位数字,即0-992、任何一个以1开头的3位数字,即100-1993、任何一个以2开头、第2位数字是0-4之间的3位数字,即200-2494、任何一个以25开头,第3位数字在0-5之间的3位数字,即250-255每条规则对应表达式1、\d{1,2}2、1\d{2}3、2[0-4]\d4、25[0-5]\d再加上三组有点(.),一组没点则最终结果为( ( (\d{1,2}) | (1\d{2}) | (2[0-4]\d) | (25[0-5]) )
2020-07-08 18:39:21 551
原创 反射机制
反射机制框架:半成品软件。可以在框架的基础上进行软件开发,简化编码反射:将类的各个组成部分封装为其他对象,这就是反射机制好处:1. 可以在程序运行过程中,操作这些对象。2. 可以解耦,提高程序的可扩展性。通过下面这张图可理解到反射机制的本质实际是得到class对象后,反向获取Student对象的各种信息获取Class对象的方式Class.forName(“全类名”):将字节码文件加载进内存,返回Class对象。(多用于配置文件,将类名定义在配置文件中。读取文件,加载类)类名.class
2020-07-03 23:48:08 1800
原创 java基础知识
编写java程序时,应注意的点:大小写敏感类名首字母应使用大写,类名若由多个单词组成,则每个单词的首字母均应大写。例如 MyFirstJavaClass方法名首字母应小写,方法若含有多个单词,除第一个单词首字母小写,后面单词均大写。例如isDel源文件名需与类名相同,保存文件时,应该使用类名作为文件名保存。主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。IDEA新建JAVA程序File——>New——
2020-07-01 17:16:56 245
原创 python中闭包介绍
举个栗子当一个嵌套函数在其外部区域引用了一个值时,该嵌套函数就是一个闭包,以下代码输出值为?def adder(x): def wrapper(y): return x + y return wrapperadder5 = adder(5)print(adder5(adder5(6)))思考下该题的答案!!!闭包概念闭包: 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。一般在我
2020-06-30 16:53:06 263
原创 【Leetcode 39】组合总和
题目描述解题思路解法一:回溯法比如:candidates = [2,3,6,7],target = 7找到全是2的组合是否能组成7,如果7-2-2-2!=0,则跳出循环,寻找2和下一个数的组合7-2-2-3=0,则接着找7-2-3之后列表中是否有满足的,由于列表进行了排序,发现7-2-3-2!=0,第一个数2不行就直接跳出,后面的3,6,7就不用再验证找到全为3的组合是否能组成7,此时直接从下标为1的数开始找,避免找到重复的组合,7-3-3-3!=0,跳出循环,7-3-6!=0,跳出循环
2020-06-30 15:48:20 6581
原创 项目管理工具——Maven
项目管理工具——MavenMaven两大核心1、依赖管理:maven工程真正的jar包放置在仓库,项目中只放置jar包的坐标。仓库的种类:①本地仓库:放置在本机的仓库②远程仓库(私服):放置了公司内部开发所需要的jar包,本地仓库没有jar包直接通过局域网去远程仓库下载jar包③中央仓库仓库之间的关系:当启动maven工程时,maven工程会通过pom文件中jar包的坐标去本地仓库找对应jar包,默认情况下,如果本地仓库没有对应jar包,maven工程会自动去中央仓库下载jar包到本地仓库。
2020-06-21 22:14:14 104
原创 LoadRunner简介
LoadRunner三大组件1、VuGen(虚拟用户发生器)Virtual User Generator虚拟用户 VU 用于户模拟真实用户, 被测服务器会认为与真实用户一样。VUGen 用于捕捉用户的业务流, 并录制成脚本(虚拟用户脚本)。 Vuser 脚本记录了用户与服务器的交互过程, 并且包含一系列度量并记录服务器性能的函数, 就像一个真实的用户一边做操作, 一边拿着秒表记录时间一样。2、Controller(控制器)Controller 负责生成性能测试场景, 管理和协调多个虚拟用户
2020-05-23 20:05:53 624
原创 性能测试基础
性能测试1.1 性能测试的含义测试软件的性能表现, 考量软件运行的如何。一般关注时间/效率、 资源占用等情况。1.2 响应时间应用系统从用户发出请求开始, 到客户端接收到所有数据所消耗的时间。网页响应时间可以细分为网络传输时间、 DNS 解析时间、 应用服务器处理时间、数据库处理时间等。1.3 在线用户、 并发用户与虚拟用户在线用户表示正在使用软件的用户。并发用户是指同一时刻与服务器进行数据交互的所有用户数量, 在线用户未必是并发用户。性能测试工具使用虚拟用户模拟真实用户的行为
2020-05-23 20:00:02 129
原创 web自动化测试
自动化测试在什么时候开始功能测试(手工测试)结束之后自动化测试所属分类1、黑盒测试(功能测试)2、灰盒测试(接口测试)3、白盒测试(单元测试)优点较少的时间内运行更多的测试自动化脚本可重复运行;减少人为的错误;测试数据存储缺点不能取代手工测试;手工测试比自动化测试发现的缺陷更多测试人员技能要求;什么样的项目适合做自动化测试1、需求变动不频繁2、项目周期长3、项目需要回归测试主流工具Web自动化测试: selenium、 robot frameworkApp端
2020-05-23 00:38:45 126
原创 mysql高级用法
mysql中自定义函数示例:创建函数my_trim,用于删除字符串左右两侧的空格在mysql中创建去除空格的自定义函数:create function my_trim(str varchar(100)) return varchar(100)beginreturn ltrim(rtrim(str));end使用函数select my_trim(' abc ')在命令行创建自定义函数:delimiter $$create function my_trim(str varchar(10
2020-05-21 18:32:04 153
原创 Selenium八种元素定位方法
1、id定位:find_element_by_id()通过id属性定位,下列代码通过搜索框的id属性kw和搜索按钮id属性su来定位。from selenium import webdriverdriver = webdriver.Chrome("D:\\chromedriver.exe")driver.implicitly_wait(10)driver.get("http://www.baidu.com")driver.find_element_by_id("kw").send_keys(
2020-05-18 18:38:16 405
原创 Selenium的web自动化测试(51job)
安装selenium和Chromedriver1、在pycharm终端输入命令pip install selenuim或者在settings中搜索安装2、找到Chrome浏览器对应的chromedriver版本:查看版本链接3、下载对应的版本:下载链接selenium对51job自动化测试1、将下载后的安装包解压到某个盘(本人是D盘),运行则可打开新的chrome浏览器2、获取51job的网址,自动跳转到51job网站的首页3、想自动在搜索框输入python,则需要先定位到搜索框元素,找到搜索
2020-05-12 20:05:06 509 1
原创 关系抽取简介
序言关系抽取 (Relation Extraction, RE) 是从自然语言文本中抽取实体及其之间关系的信息技术,是信息检索、智能问答、智能对话等人工智能应用的重要基础,一直受到业界的广泛关注。关系抽取任务涉及命名实体识别、指代消解、关系分类等复杂技术,极具挑战性。什么是关系抽取信息抽取是从海量的非结构外的文本中抽取出有用的信息,并结构化成下游工作可用的格式。关系抽取是其重要的子任务之一,...
2020-05-02 14:24:18 2824
原创 Anaconda环境下安装keras-contrib
python环境下安装keras-contrib在终端输入pip install git+https://www.github.com/farizrahman4u/keras-contrib.gitAnaconda环境下安装keras-contrib众所周知,anaconda环境下安装命令为conda命令,但是将上述命令中的pip给成conda,会报找不到这个包的错误。那么,如何解决呢,仿...
2020-04-24 23:30:53 3768 1
原创 Django修改和新增已生成表的字段
情况1:修改原表的字段不为空若需要修改的字段不为空,并且有数据的情况下,修改该字段名,如下图所示原表结构:修改后的表结构:修改之后在命令行输入python manage.py makemigrations,则会提示是否将该字段重命名,选择y,再输入python manage.py migrate即可,查看数据库该字段就会改变,并且数据不会丢失情况2 修改原表的字段为空,即为新增字段...
2020-04-22 16:05:47 2361
原创 【Leetcode 34】在排序数组中查找元素的第一个和最后一个位置
题目描述解题思路解法一:二分查找法第一步:通过正常的二分查找法定位到要查找到的元素第二步:定位到指定的元素后,再找到它的开始和结束位置举例说明:当nums[mid] == target时,开始查找第一个和最后一个位置:查找第一个位置,为了缩小右边界,开始从左边查找,如果nums[mid] = nums[mid-1],则target出现的第一个位置还需继续向左查找,继续使用二分法...
2020-04-17 23:57:53 176
原创 【Leetcode 33】搜索旋转排序数组
题目描述解题思路了解二分查找法二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,二分查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。它的实质上、是不断地将有序数据集进行对半分割,并检查每个分区的中间元素。举例说明:在数组中查找值为47的数。实现过程是通过变量left和right控制一个循环来查找元素(其中left和right是正在查...
2020-04-17 17:52:28 98
原创 【Leetcode 31】下一个排列
题目描述解题思路理解题意本题首先最大的难点是理解题目的意思,题目意思是给定一个有几个数字组成的数值,将这些数字重新排列,刚好得到比该数值大的新数值,如果没有比题目给定的数值大的就返回题目给的数值。比如说:给定的数值为123,比123大的数值有132、213、231、312、321,但题目要求的是刚好比123大一位的数值,就是132,而不是所有的更大数值,还要求空间复杂度为O(1)。那么如...
2020-04-15 18:54:38 91
原创 刷leetcode总结之【双指针法】
为什么要用到双指针在刷leetcode的过程中,很多题目都要求不能开辟更多的内存空间,只能在原有的内存空间上进行修改,对于常规的采用循环或者双重循环来说就不适用了,这是双指针法的好处就体现出来了什么是双指针法双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行扫描,从而达到相应的目的。双指针的类型第一种:头尾指针例如leetcod...
2020-04-13 18:33:17 176
原创 【Leetcode 27】移除元素
题目描述解题思路解法一:双指针法思路与26题删除数组中的重复项相似不同点:指针iii 和 jjj 同时从0出发,指针 jjj 来判断是否与val相等,相等则跳过;不等则将该值赋给指针 jjj ,并且iii 和 jjj 递增python代码class Solution: def removeElement(self, nums: List[int], val: int) -&...
2020-04-11 23:46:12 110
原创 【Leetcode 26】删除排序数组中的重复项
题目描述解题思路本题的目的是返回不重复数组的长度,并且代码能够展示出原来的数组长度不变,前n个数是不重复的数,后几个数与原数组对应的位置数值保持一致解法一:双指针法对排序后的列表,首先放置两个相邻的指针 iii 和 jjj ,其中 iii 是慢指针,jjj 是快指针:如果nums[i] == nums[j],则让 jjj 跳过重复项如果nums[i] != nums[j],则nu...
2020-04-11 23:00:59 142
原创 【Leetcode24 两两交换链表中的节点】
题目描述解题思路解法一:迭代法原链表:添加空头后的链表:第一次交换:①②③python代码# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclas...
2020-04-11 17:31:52 126
原创 【Leetcode 23】合并K个排序链表
题目描述解题思路解法一:暴力法遍历k个链表,将所有节点值保存到列表中将列表排序遍历排序后的列表,创建一个新的有序链表python代码# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.ne...
2020-04-10 23:33:15 120
原创 【Leetcode 22】括号生成
题目描述解题思路括号对数生成的有效括号0对括号[None]1对括号[’()’]2对括号[’()()’,’(())’]3对括号[’()()()’,’()(())’,’(())()’,’(()())’,’((()))’]思路一:首先将0组括号记为None,1组括号记为()当计算2组括号时,2组括号生成的有效括号必然是在1组括号的基础上生成...
2020-04-08 23:53:18 110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人