一、父类子类指针函数调用注意事项
1,如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数( 静态联翩 )
纯虚拟函数:
二、static
static int a = 1;
a++;
}
静态变量只初始化一次。
在第一次进入这个函数的时候,变量a被初始化为1!并接着自增1!
以后每次进入该函数,a就不会被再次初始化了,仅进行自增1的操作!
三、IP地址分类
类别
|
最大网络数
|
IP地址范围
|
最大主机数
| 私有IP地址范围 |
A
|
126(2^7-2)
|
0.0.0.0-127.255.255.255
|
16777214
|
10.0.0.0-10.255.255.255
|
B
|
16384(2^14)
| 128.0.0.0-191.255.255.255 |
65534
| 172.16.0.0-172.31.255.255 |
C
|
2097152(2^21)
| 192.0.0.0-223.255.255.255 |
254
| 192.168.0.0-192.168.255.255 |
A类IP地址
B类IP地址
C类IP地址
D类IP地址
特殊的网址
-
每一个字节都为0的地址(“0.0.0.0”)对应于当前主机;
-
IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址;
-
IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用。
-
IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1到127.255.255.255用于回路测试,如:127.0.0.1可以代表本机IP地址,用“http://127.0.0.1”就可以测试本机中配置的Web服务器。
-
网络ID的第一个8位组也不能全置为“0”,全“0”表示本地网络。
1、功能测试
对搜索框(宝贝、店铺)内:
(1)输入一个存在的产品,ex:“衣服”,检查link
(2)输入一个不存在的产品,ex:“ufhaiudsbngbdsjinvoxzcnoivhasuihfiawjeigobasiu"
(3)其他边界条件测试:输入空符号,输入过长字符串,各种空格的随机插入等
对语音输入功能的测试:
同样语音输入包含以上方面。
比如兼容性:加入各种方言,外语,不明声音等。
2、性能测试
(1)负载测试:模拟用户并发操作,验证搜索框的负载能力。
(2)压力测试:在一定负载下,用自动化测试脚本7*24,验证功能测试的准确程度和服务器的效率。
(3)连接速度测试:模拟用户操作,查看连接速度。
3、安全性测试
(1)cookie测试:是否加密,是否起作用
(2)表单测试:构造form和链接,检查可用性及安全问题。
(3)链接测试:检查链接是否可用
(4)正则表达式测试:构造非法正则表达式等。
4、可用性测试
站在用户角度,检查信息是否有效可用
5、兼容性测试
用户浏览器的版本/输入字符集的差异……
其他本人没有想到的问题可以在项目组中通过提交bug的方式解决。
最后联系开发人员,检查解决完手头上的问题,最后做回归测试。
1.功能方面,是否能按指定条件查到正确、完整的结果,具体:
1.1录入条件为可查到结果的正常关键字、词、语句,检索到的内容、链接正确性;1.2录入条件为不可查到结果的关键字、词、语句;
1.3录入条件为一些特殊的内容,如空、特殊符、标点符、极限值等,可引入等价类划分的方法等;
2.性能方面,可利用测试工具或各种测试手段考虑功能在各方面的表现,具体:
2.1压力测试:在不同发用户数压力下的表现(评价指标如响应时间等)2.2负载测试:看极限能承载多大的用户量同时正常使用
2.3稳定性测试:常规压力下能保持多久持续稳定运行
2.4内存测试:有无内存泄漏现象
2.5大数据量测试:如模拟从庞大的海量数据中搜索结果、或搜索出海量的结果后列示出来,看表现如何等等。
3.易用性方面,交互界面的设计是否便于、易于使用,具体:
3.1依据不同的查询结果会有相关的人性化提示,查不到时告知?查到时统计条数并告知?有疑似输入条件错误时提示可能正确的输入项等等处理;3.2查询出的结果罗列有序,如按点击率或其他排序规则,确保每次查询出的结果位置按规则列示方便定位,显示字体、字号、色彩便于识别等等;
3.3标题查询、全文检索、模糊查询、容错查询、多关键字组织查询(空格间格开)等实用的检索方式是否正常?
3.4输入搜索条件的控件风格设计、位置摆放是否醒目便于使用者注意到,有否快照等快捷查看方式等人性化设计?
4.兼容性方面,跨平台、多语言等多样性环境组合情况下测试使用的正常性,具体:
4.1WINDOWS/LINUX/UNIX等各类操作系统下及各版本条件下的应用4.2IE/FIREFOX/GOOGLE/360/QQ等各类浏览器下及各版本条件下、各种显示分辨率条件下的应用
4.3SQL/ORACLE/DB2/MYSQL等各类数据库存储情况下的兼容性测试
4.4简体中文、繁体中文、英文等各类语种软件平台下的兼容性测试
4.5IPHONE/IPAD、安卓等各类移动应用平台下的兼容性测试
4.6与各相关的监控程序的兼容性测试,如输入法、杀毒、监控、防火墙等工具同时使用
5.安全性方面,往往容易被忽视的环节,具体:
5.1被删除、加密、授权的数据,不允许被查出来的,是否有安全控制设计;5.2录入一些数据库查询的保留字符,如单引号、%等等,造成查询SQL拼接出的语句产生漏洞(SQL注入),如可以查出所有数据等等,这方面要有一些黑客攻击的思想并引入一些工具和技术,如爬网等。
5.3通过白盒测试技术,检查一下在程序设计上是否存在安全方面的隐患;
5.4对涉及国家安全、法律禁止的内容是否进行了相关的过滤和控制;
6.异常性测试,各种破坏性的操作的影响测试,具体:
6.1查询过程中断网、关机6.2查询过程中强行中断关闭页面
6.3查询过程中强行杀死相关进程等
队列头指针为front,队列尾指针为rear,队列容量为M,则元素个数为|rear-front+M|%M,注意,这个%是求余运算。
六、霍夫曼编码
例子:
假设某段通信电文仅由 6 个字母 ABCDEF 组成,字母在电文中出现的频率分别为2,3,7,15,4,6。根据这些频率作为权值构造哈夫曼编码,最终构造出的哈夫曼树带权路径长度与字母 B 的哈夫曼编码分别为______。
本例中是在通信领域使用所以采用唯一编码,按照哈弗曼编码过程得到的哈弗曼树如下:
由上图可知,带权路径长度 L=2*4+3*4+4*3+6*3+7*3+15*1=86
B的哈弗曼编码为:1011
七、同步进程与互斥
http://wenku.baidu.com/view/abca9141a8956bec0975e332
八、堆栈的生长方向
堆:向上生长,从低地址到高地址。
栈:向下生长。
堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
9、联合体union
当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。在C Programming Language 一书中对于联合体是这么描述的:
1)联合体是一个结构;
2)它的所有成员相对于基地址的偏移量都为0;
3)此结构空间要大到足够容纳最"宽"的成员;
4)其对齐方式要适合其中所有的成员;
下面解释这四条描述:
由于联合体中的所有成员是共享一段内存的,因此每个成员的存放首地址相对于于联合体变量的基地址的偏移量为0,即所有成员的首地址都是一样的。为了使得所有成员能够共享一段内存,因此该空间必须足够容纳这些成员中最宽的成员。对于这句“对齐方式要适合其中所有的成员”是指其必须符合所有成员的自身对齐方式。
下面举例说明:
如联合体
union U { char s[9]; int n; double d; };
s占9字节,n占4字节,d占8字节,因此其至少需9字节的空间。然而其实际大小并不是9,用运算符sizeof测试其大小为16.这是因为这里存在字节对齐的问题,9既不能被4整除,也不能被8整除。因此补充字节到16,这样就符合所有成员的自身对齐了。从这里可以看出联合体所占的空间不仅取决于最宽成员,还跟所有成员有关系,即其大小必须满足两个条件:1)大小足够容纳最宽的成员;2)大小能被其包含的所有基本数据类型的大小所整除。
10、FIFO、LRU、OPT这三种置换算法的缺页次数
http://zhidao.baidu.com/question/309256792.html
http://yinzhezq.blog.163.com/blog/static/1648628902010112961039187/