HKWS笔试复盘

文章目录

  • 一、选择题
  • 二、多选
  • 三、简答
  • 四、编程

15单选,5多选,1问答,1编程
涉及:计算机组成原理、摄像机参数、测试知识、mysql、计算机网络、业务逻辑、产品分析

一、选择题

  1. 有些计算机将一部分软件永恒的存于只读存储器中,称之为(固件)
  2. 调节以下哪个参数可以显著的提高图片整体亮度(饱和度)

【照相机的一些参数设置】

  • 白平衡的作用有两个:还原环境的真实色彩、调节画面冷暖调。
  • 饱和度(saturation)指色彩的鲜艳程度,也称作纯度。是色彩的构成要素之一。纯度越高,表现越鲜明,纯度较低,表现则较黯淡。
  • 锐度是图像清晰度和图像边缘锐利程度,它是反映图像平面清晰度和图像边缘锐利程度的一个指标。
  1. 以下关于白盒测试描述,错误的是(C)
    A 逻辑覆盖法是一种常用的白盒测试方法
    B 白盒测试仅与程序的内部结构有关,完全可以不用考虑程序的功能要求
    C 程序中存在很多判定和条件,不可能实现100%的条件覆盖
    D 测试基于代码,无法确定设计正确与否
    【分析】ABD正确
    【白盒测试知识复习】
    白盒测试:就是通过程序的源代码进行测试而不使用用户界面。这种类型的测试从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
    常见的白盒测试就是逻辑覆盖测试,都有:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
  2. PC主机可以长时间稳定运行,而不会出现异常重启的问题,属于哪一个质量属性范畴(可靠性)
  3. 以下哪种符号,不属于因果图法(EX)
    【因果图法】因果图是黑盒测试常用的一种方法
    因果图法利用图解法分析输入条件的各种组合情况,写出判定表,从而设计测试用力的方法,适用于检查程序条件的各种组合情况;
    适用于输入条件之间有相互制约、相互依赖的情况
    因:输入条件 果:输出条件、结果
    因果图常用符号:
    Ci:原因
    Ei:结果
    因果图法输入条件间约束关系有四种:E(exclusive,异或)、I(in,或)、O(only,唯一)、R(request,要求)
    E(互斥Exclusion):表示ab两原因不会同时成立,最多一个能成立
    I(包含Include):abc三个原因中至少有一个必须成立
    O(唯一Only):ab当中必须有一个,且仅有一个成立
    R(要求Require):当a出现时,b必须也出现,不可能a出现b不出现
    M(强制或屏蔽):a是1时,b必须是0,a是0时,b的值不定
    HKWS笔试复盘_第1张图片
  4. 以下不是黑盒测试方法的是(路径覆盖是白盒测试方法)
    【黑盒测试常用方法】:边界条件测试、等价划分测试、错误推测法、因果图、决策表测试
  5. 路由器长时间运行后的功能是否正常,属于质量属性中的(稳定性)
  6. sql语句中正确分页查询出Student表记录的是(SELECT * FROM Student limit 5,等价于SELECT *FROM Student LIMIT 0,5
    【mysql中的limit用法】
SELECT * FROM table LIMIT 5,10; // 检索记录行 6~15   
  
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:    
SELECT * FROM table LIMIT 95,-1; // 检索记录行 96~last.   
  
//如果只给定一个参数,它表示返回最大的记录行数目:    
SELECT * FROM table LIMIT 5; //检索前 5 个记录行   
  
//换句话说,LIMIT n 等价于 LIMIT 0,n。  
  1. 在函数调用时,使用地址作为实参传递给形参,下列关于实参和形参的描述正确的是(实参与形参是同一对象)
  2. 学生成绩范围是[0,100]的整数,根据分数分档为:
    [0,60]不合格
    [60,75]合格
    [75,90]良好
    [90,100]优秀
    根据边界值法设计测试用例的取值正确的是(0,1,59,60,74,75,89,90,99,100)
  3. (NAT)允许LAN网络上的多台PC共享单个、全局路由的WAN地址,将LAN网络地址换为WAN地址,从而对外隐藏了内部管理的IP地址。
    【NAT,(Network Address Translation)网络地址转换】就是在专用网络LAN内部的一些主机本来已经分配到了本地IP,地址,但现在又想和互联网上的主机通信,这时就采取网络地址转换即可。
    【几种不同类别的计算机网络】
    (1)WAN(wide area network):广域网,作用范围一般是几十到几千公里,是互联网的核心部分
    (2)LAN(local area network):局域网,覆盖域为一个具体区域,比如一个学校或一个工厂
    (3)MAN(metropolitan area network):城域网。覆盖一般是一个城市
    (4)PAN(personal area network):个人区域网
  4. windows是一种(单用户多任务)操作系统
    【单用户多任务操作系统】是指一台计算机同时只能有一个用户在使用,该用户一次可以提交多个作业,一个用户独自享用系统的全部硬件和软件资源。windows只能有一个用户在使用,该用户一次可以提交多个作业,一个用户独自享有系统的全部硬件和软件资源,因此是单用户多任务的操作系统
  5. 哪种加密算法是不可逆的(MD5)
    【加密算法】
    不可逆: 一旦加密就不能反向解密得到密码原文,一般用来加密用户密码,app的服务器端数据库里一般存储的也都是加密后的用户密码。
    常见的不可逆加密算法有:MD5、SHA、HMAC
    可逆:
    常见的对称加密算法有AES、DES、3DES、Blowfish、IDEA、RC4、RC5、RC6
    常见的非对称加密算法有:RSA、DSA(数字签名用)、ECC(移动设备用)、Diffie-Hellman、El Gamal
  6. 下面哪个进程负责MapReduce的任务调度(Jobtracker)
  7. 计算机系统中采用补码运算的目的是为了(简化计算机的设计)

二、多选

  1. 关于进程和线程的描述正确的是(全选,选项已修改)
    【进程和线程的定义及区别】
    A 进程是资源分配的基本单位,线程是独立调度的基本单位
    B 在创建或销毁进程时,系统开销明显大于创建或销毁线程时的开销
    C 进程是资源分配的基本单位且拥有资源,线程不拥有资源,线程可以访问隶属于进程的资源
    D 进程可以并发执行,同一进程的多个线程不可以并发执行
    【并行与并发的概念】
    并行是指在同一时间点同时执行;并发是指在同一时间片段同时执行。
    进程之间相互独立是可以实现并行的,但线程不可以,线程只能并发执行,多线程并发事实上就是多个线程排队申请调用cpu。
  2. 能正确表示逻辑关系:a>=10或a<=0的C语言表达是(a>=10 || a<=0
    C语言中没有or!!!
  3. 网络常见的拓扑形式有(树形、总线、环形、星型、网状)
    HKWS笔试复盘_第2张图片
  4. 燃尽图有哪两种类型(产品发布燃尽图、迭代燃尽图)
    【燃尽图是啥】
    燃尽图用于表示剩余工作量的工作图表,由横轴(X)和纵轴(Y)组成,横轴表示时间,纵轴表示工作量。这种图表可以直观的预测何时工作将全部完成,常用于软件开发中的敏捷软件开发方式,也可以用于其他类型的工作流程监控。
  5. 关于用户使用场景的分析需要考虑:用户的使用操作方式、需要考虑用户硬件及网络环境部署
    【使用场景的三个关键因素】对象(用户)、动作(需求)、情景(场景)

三、简答

小程序的用户名要求长度在1~32字节之间的数字,字符,英文或中文,任意合法符号,不能包含特殊字符:/"?<>*’^|%,请使用等价类方法,进行测试用例设计,要求体现设计过程。
答:

  1. 先分析题目中给出的和隐含的对输入条件的要求:
    (1)长度在1~32
    (2)内容为数字、字符、英文或中文
    (3)内容不包含非特殊字符

  2. 按照输入条件、有效等价类、无效等价类建立等价类表,列处所有划分出的等价类:
    在这里插入图片描述

  3. 设计具体的测试用例,尽可能多的覆盖所有有效等价类;尽可能覆盖所有无效等价类
    HKWS笔试复盘_第3张图片
    参考

四、编程

实现将分钟(整数)转换成小时和分钟输出,用指针进行转换后的参数传递。main函数调用该函数460分钟的转换并输出。

  • 分析:这道题绝了,这回10分钟就完成了,考试时短路了
#include
#include
using namespace std;
//用vector传值
vector<int> TransferMinutes(int m)
{
     
	vector<int> r(2);
	r[0] = m/60;
	r[1] = m%60;
	return r;
}
//用指针传值
int* TransferInPointer(int m)
{
     
	int r[2];
	r[0] = m/60;
	r[1] = m%60;
	return r;
}

int main()
{
     
	int m = 460;
	vector<int> result = TransferMinutes(m);
	cout<<result[0]<<" hour "<<result[1]<<" minutes"<<endl;

	int *r = TransferInPointer(m);
	cout<<r[0]<<" hour "<<r[1]<<" minutes"<<endl;

	return 0;
}

你可能感兴趣的:(笔试题,C++)