- 博客(57)
- 收藏
- 关注
原创 碎碎念
秋招时,软件测试相关知识也学习了一些,但9月份因为密集参加宣讲会、做笔试,时间比较紧张,所以这一部分的博客写得比较少。好在第一份工作就是软件测试,到明年入职之后,一定把这一部分补上。另外,公司是做网络安全的,要求熟悉TCP/IP协议簇,并具备一定的网络和数据通信知识,所以之后的时间,会写写这两方面学习笔记。
2017-11-01 16:09:41 215
原创 网易2018校招内推--独立生活天数
小易为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。一个人生活增加了许多花费: 小易每天必须吃一个水果并且需要每天支付x元的房屋租金。当前小易手中已经有f个水果和d元钱,小易也能去商店购买一些水果,商店每个水果售卖p元。小易为了表现他独立生活的能力,希望能独立生活的时间越长越好,小易希望你来帮他计算一下他最多能独立生活多少天。#includeusing namesp
2017-09-05 20:51:20 379
原创 网易2018校招内推---等差数列判断
如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。小易现在有一个长度为n的数列x,小易想把x变为一个等差数列。小易允许在数列上做交换任意两个位置的数值的操作,并且交换操作允许交换多次。但是有些数列通过交换还是不能变成等差数列,小易需要判别一个数列是否能通过交换操作变成等差数列。思路:相邻差值必定一
2017-09-05 20:47:06 455
原创 网易2018校招内推--整数数列
小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:1、将a_i放入b序列的末尾2、逆置b序列小易需要你计算输出操作n次之后的b序列。说明:多写几组,就会发现规律。如:1234——4213;12345——53124;第一个一定是a[n-1];最后一个一定是a[n-2];以增量i=i-2依次输出
2017-09-05 19:04:53 261
原创 网易2018校招内推--01交替串
如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: “1”,”10101”,”0101010”都是交错01串。 小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。#include<vector>#include<iostream>using namespace std;i
2017-09-05 17:58:04 2206
原创 网易2018校招内推编程题--彩色砖块
小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方式将他所有砖块排成漂亮的一行。(如果两种方式所对应的砖块颜色序列是相同的,那么认为这两种方式是一样的。) 例如: s = “ABAB”,那么
2017-09-05 17:55:51 512
原创 数据控制、定义、操作
DML: 操作SELECT、UPDATE、INSERT、DELETEDDL: 定义,主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 CREATE、ALTER、DROP等,DCL: 控制,是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadm
2017-08-29 23:13:53 5197 1
原创 事务的隔离级别
由低到高:read uncommitted(读未提交)read committed(读已提交):可避免脏读;repeatable read(可重复读):可避免脏读、不可重复读;serializable(串行化):可避免脏读、不可重复读以及幻读;如果不考虑隔离性,可能会引起如下问题:1、脏读:指一个事务读取了另外一个事务未提交的数据。2、不可重复读:在一个事务内,多次读取
2017-08-29 21:56:36 181
原创 26 管理事务处理
事务处理:维护数据库的完整性,保证成批的MySQL操作,要么完全执行,要么完全不执行。具体操作:如果没有发生错误,则整组语句提交给数据库表;如果发生错误,则进行回退,以恢复数据到某个已知且安全的状态。相关术语:事务(transaction),指一组SQL语句;回退(rollback),指撤销指定SQL语句的过程;提交(commit),指未存储的SQL语句结果写入数据库表
2017-08-29 16:04:48 238
原创 牛客网数据库选择题笔记—1
SQL 语言具有两种使用方式:交互式 SQL ,独立使用,自含语言;嵌入式 SQL。交互式 SQL,嵌入式 SQL,嵌入到某种高级语言中,程序员可以使用数据库语言以及常规的程序设计语言(宿主语言)。
2017-08-29 15:43:55 374
原创 22 视图
视图小结视图是虚拟的表,它不包含数据,它包含的是一个SQL查询。为什么使用视图重用SQL语句; 简化复杂的SQL操作; 使用表的一部分而不是整个表; 保护数据; 更改数据格式。性能问题:视图不包含数据,每次使用视图,都要处理执行查询时所需的任一个检索。所以当联结较多或视图嵌套时,可能性能下降厉害。视图使用限制唯一命名; 创建视图,必须有足够的访问权限; 视图可以嵌套; order by
2017-08-29 14:49:43 251
原创 24 游标
为什么使用游标有时需要在检索出来的行中前进或后移。 MySQL游标只能用于存储过程(存储过程完成后,游标就会消失)。游标主要应用于交互式应用,用户需要滚动屏幕上的数据,并对数据进行浏览或做出修改。使用游标步骤:1、使用前必须声明(declare),这个过程并没有检索数据,只是定义要使用的selete语句; 2、一旦声明,必须打开(open)以供使用。这个过程用selete把
2017-08-29 14:41:41 263
转载 关系型数据库的理解
关系型数据库:是指采用了关系模型来组织数据的数据库。注:关系模型:二维表模型最大特点事务的一致性注:数据库事务必须具备ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔离性,Durability持久性。概念:属性,列,字段;元组,行,记录;关键字,主键;优点:容易理解,二维表结构,贴近逻辑;使用方便,通
2017-08-29 14:39:02 784
原创 范式的理解
3NF是对字段冗余性的约束,即任何字段不能由其他字段派生,它要求字段没有冗余。例:假设表中有单价、数量、金额,那么金额是冗余字段,因为它能由(单价*数量)得到。但是,增加金额字段,可以提高查询速度。
2017-08-28 19:34:11 469
原创 20 更新和删除数据
更新-update例:客户10005有了emailupdate customersset cust_email='elemer@fudd.com'where cust_id=10005;以要更新的表的名字开始;以where子句结束。更新多个列值update customersset cust_name='fudd',//逗号分隔set cust_email='elemer@fudd.com
2017-08-28 11:13:37 266
原创 19 插入数据
插入完整的行插入多行插入检索出的数据把selete语句的结果插入表中,即insert selete 例:从新表中把数据导入insert into customers( cust_id, cust_name, cust_city)selete cust_id, cust_name, cust_cityfrom custne
2017-08-28 11:07:43 199
原创 18 使用全文本搜索
通配符和正则表达式的限制: 性能:通常要求匹配所有行,比较耗时; 明确控制很难; 无法智能化地选择结果。全文本搜索: 必须索引被搜索的列,而且要随着数据的改变,自动维护该索引(在增加、更新或删除时,索引随之自动更新)。一般在创建表时启用全文本搜索: 例:create table productnotes( note_id int not null auto_incre
2017-08-24 11:17:35 272
原创 17 组合查询-union
关键字:union适用于:单个查询中,从不同的表返回类似结构的数据;对单个表执行多个查询,但是按单个查询返回结果。例:selete vend_id,prod_id,prod_pricefrom productswhere prod_priceunionselete vend_id,prod_id,prod_pricef
2017-08-23 12:18:59 286
原创 16 高级联结
使用表别名:缩短SQL语句(例1);在单条selete语句中多次使用相同的表--自然联结;例1:selete cust_name.cust_contactfrom customers as c,orders as o,ordertimes as oiwherec.cust_id=o.cust_idandoi.order_num=o.order_n
2017-08-23 10:24:14 175
原创 华为机试—整数与IP地址间的转换
题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数。 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 10 00001010 0 00000000 3
2017-08-22 21:53:35 2581
原创 华为机试-字符串合并处理
题目描述将输入的两个字符串合并。 对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。 对排序后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符。如字符为‘4’,为0100b,则翻转后为0010b,也就是2。转换后的
2017-08-22 15:34:44 374 1
原创 华为机试-字符串排序
题目描述 编写一个程序,将输入字符串中的字符按如下规则排序。 规则 1 :英文字母从 A 到 Z 排列,不区分大小写。 如,输入: Type 输出: epTy 规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入: BabA 输出: aABb 规则 3 :非英文字母的其它字符保持原来的位置。 如,输入: By?e 输出
2017-08-21 16:45:04 1071 1
原创 0 学习说明
参考书:《MySQL》必知必会样例表如下 (没有输入具体的数据)venders表:供应商 列 vend_id (主键) vend_name vend_address vend_city vend_state vend_zip vend_countryProducts表:产品的信息 列 prod_id(主键) vend_id(外键) prod_name
2017-08-21 12:05:15 251
原创 15 联结表
等值联结(内部联结):基于两个表之间的相等测试。外键:某个表中的一列,它也是另一个表的主键值,定义两个表之间的关系。如:venders表的主键vend_id也是products的外键,将两个表关联,利用供应商ID(vend_id)可以了解供应商的详细信息。联结:不是物理实体,存在于查询的执行当中。用selete语句来实现关联例:搜索每个供应商订的产品selete vend_name,prod_nam
2017-08-21 11:45:45 181
原创 华为机试-蛇形矩阵
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。样例输入5样例输出1 3 6 10 152 5 9 144 8 137 1211此题考查: 1、如何控制下标i、j,使数值以“上三角”的形式输出。 2、数值本身和下标的关系。代码如下:int main() { int n; while(cin>>n) { int num=1;
2017-08-20 21:45:59 322
原创 华为机试-提取不重复的整数
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数示例1 输入9876673输出37689怎么确定“不重复” 开始想利用map唯一性,但map内部是有序存储。 因为不超过10位,可以利用长度为10的数组来记录相应的数字是否已经存在。#incl
2017-08-19 16:53:42 339 2
原创 测试用例设计——web类测试
web系统页面:基本元素,如文本框、复选框等;页面的格式(展示、提交型);服务器:是否正常和外部的交互 页面元素检查web页面上的常用元素:文本框(textbox)复选框(combox)文本框测试1:可以输入任意字符,非空,但长度也不能超过20。用例设计:suit1长度边界值测试>1、空,报错2、1,正常3、20,正常4、21
2017-08-18 22:14:24 767
原创 map的使用
有序表查找:折半查找比顺序查找有了质的飞跃,复杂度由O(n)变成O(log n); 二叉排序树:“动态查找”最重要的数据结构,提高了插入和删除的效率。为了达到性能最优,构造平衡二叉树。 散列表:高效!它回避了关键字之间反复比较的繁琐,直接一步到位。适用于高效,且记录之间关系无要求。 难点:散列函数的构造以及冲突的处理方法。面试常考:折半查找int BiSearc
2017-08-18 17:44:44 138
原创 倒序输出多位整数
int reverse(int num){ int res=0; int sign=1; //区别正负 if(num<0){ sign=-1; num=-num; } while(num){ res=res*10+num%10; num=num/10; }
2017-08-18 17:37:51 504
原创 程序员面试宝典—不使用中间变量实现交换
引用,不会产生实参的副本; 相比指针,可读性好些。void swap(int &a,int &b){ a=a^b; b=a^b; //a^b^b=a,也就把a赋给b a=a^b;}优点:不用担心(a+b)超界(a=a+b;b=a-b;a=a-b;);
2017-08-18 17:29:44 172
原创 计算二进制形式中1的个数的经典算法
int main(){ int count=0,m; cin>>m; while(m) { count++; m=m&(m-1); } cout<<count<<endl; return 0;}在不使用循环的前提下,还可以判断一个数是否为2的幂次:if(!((x-1)&x)) cout<<"yes"<<
2017-08-18 17:26:50 319
原创 break和continue的使用
break:switch结构中,使用break跳出; 循环结构,用beak语句结束循环,若是嵌套循环,只能结束本层循环。 continue:跳过continue之后的其他语句,结束本次循环(不是本层),转去判断循环控制条件,以决定是否进行下次循环。例:输出0~100内不能被4整除的数 int main(){ int i; for(i=0;i<100;i+
2017-08-18 17:18:35 223
原创 1 了解数据库
数据库基本概念:数据库:保存有组织的数据的容器。DBMS:数据库管理系统数据库和DBMS:使用DBMS来创建和操作数据库。表:结构化的文件表由列组成列:表中一个字段。行:表中一个记录。主键:唯一标识表的每行的列应该保证:每个表都具有一个主键表中任意一列都可以作为主键,只要具备:任意两行都不具有相同的主键值;每个行都具有一个主键
2017-08-18 16:43:02 201
原创 12 聚集函数:avg() count() max() min() sum()
单个聚集函数avg():行数计数,计算特定列值之和,求得该列的平均值必须给出列名作为函数的参数忽略列值为null的行例:该selete语句返回值avg_price,计算所有产品的平均价格selete avg(p_price) as avg_pricefrom products;进一步:1003供应商的产品的平均价格selete avg(p_price)
2017-08-18 16:16:15 487
原创 13 分组数据:group by和having子句
分组:group by把数据分为多个逻辑组,以便对每个组进行聚集运算。例:先按v_id排序并分组,然后计算每个供应商的产品数目selete v_id,count(*) as numfrom productsgroup by v_id;group by使用规定:group by子句可以包含任意数目的列——分组可以嵌套;group by子句给出的列都必须是检索列或有
2017-08-18 15:51:13 289
原创 11 数据处理函数的使用
函数:多数SQL语句可移植;但函数的可移植性确不强。使用函数时:保证做好代码的注释。大多数SQL支持:文本函数、日期函数、数值函数、系统函数文本处理函数:例:selete v_name,upper(v_name)as v_name_upupper(v_name):将文本转换成大写日期函数:日期格式:yyyy-mm-dd(最好使用完
2017-08-18 12:15:12 173
原创 10 计算字段
拼接:多数DBMS使用+或|来实现拼接,MySQL使用concat()函数。例:selete concat(v_name,' (',c_country,')')from vendorsorder by v_name;以上selete连接4个部分:v_name列中的名字、空格和左圆括号、c_country列中的国家、右圆括号。改善:selete conca
2017-08-18 11:52:38 155
原创 9 正则表达式
作用:匹配文本中特殊的串,在where子句中使用正则表达式来更好地过滤数据 like和regexp的区别:like匹配整个列; regexp在列值中匹配(它也可以使用^和$来匹配整个列值)。 MySQL正则表达式匹配不区分大小写: 为了区分,使用binary .:表示匹配任意一个字符。使用|进行or匹配:例: selete p_name from product where p_na
2017-08-17 22:48:49 305 1
原创 8 通配符
通配符%通配符:表示任何字符(除null)出现任意次数(包括0)。例:检索任意以jet 开头的词selete p_namefrom productwhere p_name like 'jet %'; 也可以使用多个通配符:匹配任意位置包含anv的值selete p_namefrom productwhere p_name like '%anv%'
2017-08-17 21:50:26 280
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人