京东数据分析真题2019

  1. 在软件开发过程中,我们可以采用不同的过程模型,下列有关 增量模型描述正确的是()
    正确答案: B
    A 是一种线性开发模型,具有不可回溯性
    B 把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件
    C 适用于已有产品或产品原型(样品),只需客户化的工程项目
    D 软件开发过程每迭代一次,软件开发又前进一个层次

解析: 增量模型(Incremental Model)又称演化模型。与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试、每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成(B对),增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。(A错误,具有回溯性,可返回修改)
增量模型的优点跟缺点介绍_增量模型_软件开发_开发风险_课课家教育
2、增量模型的基本思想
(1)增量模型属于非整体开发模型,它推迟某些阶段或所有阶段的细节,从而较早的产生工作软件(C错误,是属于未开发的)
(2)增量方式包括增量开发和增量提交
(3)增量开发指在项目开发周期内,以一定的时间间隔开发部分工作软件
(4)增量提交指在项目开发周期内,以一定的时间间隔向用户提交工作软件及相应文档。
软件开发过程每迭代一次,软件开发又前进一个层次。是螺旋模型的软件过程如 D 错误

  1. 下面有关值类型和引用类型描述正确的是()?
    正确答案: A B C
    A 值类型的变量赋值只是进行数据复制,创建一个同值的新对象,而引用类型变量赋值,仅仅是把对象的引用的指针赋值给变量,使它们共用一个内存地址。
    B 值类型数据是在栈上分配内存空间,它的变量直接包含变量的实例,使用效率相对较高。而引用类型数据是分配在堆上,引用类型的变量通常包含一个指向实例的指针,变量通过指针来引用实例。
    C 引用类型一般都具有继承性,但是值类型一般都是封装的,因此值类型不能作为其他任何类型的基类。
    D 值类型变量的作用域主要是在栈上分配内存空间内,而引用类型变量作用域主要在分配的堆上。

解析:值类型只能进行数据的复制,而引用可以赋值变量,共享地址。值类型是在栈上分配内存空间,引用类型是在堆上进行,引用类型具有继承性,值类型无。
D错误的原因,引用类型的成员变量可能是值类型的,但是他的作用域是在整个类中,即在堆内存中。

  1. 如何在多线程中避免发生死锁?
    正确答案: A B C D
    A 允许进程同时访问某些资源。
    B 允许进程强行从占有者那里夺取某些资源。
    C 进程在运行前一次性地向系统申请它所需要的全部资源。
    D 把资源事先分类编号,按号分配,使进程在申请,占用资源时不会形成环路。
  1. 以下为求0到1000以内所有奇数和的算法,从中选出描述正确的算法( )
    正确答案: A
    A ①s=0;②i=1;③s=s+i;④i=i+2;⑤如果i≤1000,则返回③;⑥结束
    B ①s=0;②i=1;③i=i+2;④s=s+i;⑤如果i≤1000,则返回③;⑥结束
    C ①s=1;②i=1;③s=s+i;④i=i+2;⑤如果i≤1000,则返回③;⑥结束
    D ①s=1;②i=1;③i=i+2;④s=s+i;⑤如果i≤1000,则返回③;⑥结束
  1. 关于递归法的说法不正确的是( )
    正确答案: D
    A 程序结构更简洁
    B 占用CPU的处理时间更多
    C 要消耗大量的内存空间,程序执行慢,甚至无法执行
    D 递归法比递推法的执行效率更高
  1. 字符串”ABCD”和字符串”DCBA”进行比较,如果让比较的结果为真,应选用关系运算符()
    正确答案: B
    A >
    B <
    C =
    D >=

字符串之间的比较,优先判断大小(它是先比较对应字符的大小(ASCII码顺序),然后前面都相同了,再看长度了。比较的时候,从字符串左边开始,一次比较每个字符,直接出现差异、或者其中一个串结束为止。
比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。
再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。
所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。

  1. 下面是一段关于计算变量s的算法: ①变量s的初值是0 ②变量i从1起循环到n,此时变量s的值由下面的式子表达式计算 ③s=s+(-1) * i ④输出变量s的值 这个计算s值的算法中,s的代数式表示是( )。
    正确答案: D
    A 1-2+3-4+„+(-1)n*(n-1)
    B 1-2+3-4+„+(-1)n-1*n
    C 1+2+3+4+…+(n-1)+n
    D -1-2-3-4-…-n
  1. 以下运算符中运算优先级最高的是( )
    正确答案: D
    A +
    B OR
    C >
    D \

解析:第一步:函数运算; (最优先)
第二步:算术运算:指数(^)→ 取负(-)→ 乘浮点除(*、/)→ 整除(\)→ 取模(Mod)→ 加、减(+、-)→ 连接(&);
第三步:关系运算:等于(=)→不等于(!=)→小于(<)→大于(>)→ 小于等于(≤)→大于等于(≥)→Like→Is;
第四步:逻辑运算:Not→And→Or→Xor→Eqv(等价)→Imp(蕴含)

  1. 采用哪种遍历方法可唯一确定一棵二叉树?( )
    答: 给出中序遍历之后再给一个其他的遍历就能够确定了
  1. 已知小顶堆:{51,32,73,23,42,62,99,14,24,39,43,58,65,80,120},请问62对应节点的左子节点是73
  1. 若串S=”UP!UP!JD”,则其子串的数目
    正确答案: B
    A 33
    B 37
    C 39
    D 35

解析:若串中每个字符均不相同,则子串个数计算方法为:
包含1个字符的子串共n个;
包含2个字符的子串共n-1个;
包含3个字符的子串共n-2个;
包含4个字符的子串共n-3个;
包含n个字符的子串共1个;
空串1个;
子串个数共:1+2+3+……+n+1=n(n+1)/2+1;
若串中存在重复子串,则子串个数计算方法为:n(n+1)/2+1-重复个数;
本题1个字符子串重复个数:1+1+1(u,p,!);2个字符子串重复个数1+1(up,p!);3个字符子串重复个数:1(up!);
因此字符子串总数为8(8+1)/2+1-3-2-1=31

  1. 一颗二叉树的叶子节点有5个,出度为1的结点有3个,该二叉树的结点总个数是?
    正确答案: B
    A 11
    B 12
    C 13
    D 14

解析:二叉树有一条性质(树的出度=树的入度=树的节点数-1),就是说度为2的节点比叶子节点少1个,即 度为2的节点数 = 叶子节点数 -1,所以,总结点数= 度为0节点数 + 度为1节点数 + 度为2节点数。

  1. 以下哪种排序算法一趟结束后能够确定一个元素的最终位置?
    正确答案: C
    A 简单选择排序
    B 基数排序
    C 堆排序
    D 二路归并排序

解析:简单选择排序,能够取出当前无序序列中最(小or大)值与第一位置的元素互换位置。 堆排序每趟总能选出一个最值位于根节点。 冒泡排序总是两两比较选出一个最值位于数组前面。 快速排序选出的枢轴在一趟排序中就位于了它最终的位置。 插入排序(直接、二分)不一定会位于最终的位置,因为不确定后面插入的元素对于前面的元素是否产生影响。 希尔排序(本质也是插入排序)只在子序列中直接插入排序。所以不能确定。 二路归并排序除非在缓存区一次放入所有的序列(这样得不偿失),否则不能确定最终位置。 所以有简单选择排序、快速排序、冒泡排序、堆排序。本题应选AC

  1. 权值分别为9、3、2、8的结点,构造一棵哈夫曼树,该树的带权路径长度是40
  1. 在()中,只要指出表中任何一个结点的位置,就可以从它出发依次访问到表中其他所有结点。
    正确答案: D
    A 线性单链表
    B 双向链表
    C 线性链表
    D 循环链表

解析: A. 线性链表之所以不可以是因为它不能从最后一个结点指向别的结点,如果给定倒数第三个结点的位置,那么只能访问这三个结点,其他的都是访问不了的
B. 双向链表是表中两个指针域,可以指向前驱和后继,而题目中是给定一个结点依次放问全部结点,双向表的意思是从两侧出发可以放问全部,所以B不对。

  1. 网络管理员把优盘上的源代码给程序员参考,但要防止程序误删除或修改,以下正确的加载方式是( )
    正确答案: B C
    A mount -o defaults /dev/sdb1 /tools
    B mount -r /dev/sdb1 /tools
    C mount -o ro /dev/sdb1 /tools
    D mount -o ro /dev/sdb /tools

解析:考察linux磁盘管理----
任何块设备都不能直接访问,需挂载在目录上访问
挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为(挂载的设备必须有文件系统)mount [-选项] DEVICE(设备) MOUNT_POINT(挂载点)
(1)device :指明要挂载的设备
① 设备文件:例如/dev/sda5
(2)挂载选项-
-r:readonly ,只读挂载,不能进行其他操作,和权限无关,介质只能读,多用于冷备份。在mount 查询时时显示 ro
-o options:( 挂载文件系统的选项) ,多个选项使用逗号分隔
-o ro:只读 rw:读写(defaults)

挂载mounmount -r /dev/sdb1 /tools
–r即只可读,read,要求是不能删除或者修改,
A- 默认选项–错误
B- 可以
C-可以
D- sdb 和sdb1的差别。sdb表示整个SD卡设备名
sdb1表示SD卡的第一个分区。相应的,如果还有一个分区的话,表示为sdb2
用fdisk -l命令查看U盘的盘符。 一般为/dev/sdb1
https://www.linuxidc.com/Linux/2017-11/148277p3.htm

  1. 下列有关软连接描述正确的是
    正确答案: B
    A 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块
    B 不能对目录创建软链接
    C 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径
    D 不可以对不存在的文件创建软链接

在这里插入图片描述

  1. Ext3日志文件系统的特点是:
    正确答案: A B C D
    A 高可用性
    B 数据的完整性
    C 数据转换快
    D 多日志模式

1、高可用性 系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复ext3文件系统的时间只要数十秒钟。
2、数据的完整性 ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。在保证数据完整性方面,ext3文件系统有2种模式可供选择。其中之一就是“同时保持文件系统及数据的一致性”模式。采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。
3、文件系统的速度 尽管使用ext3文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,ext3比ext2的性能还要好一些。这是因为ext3的日志功能对磁盘的驱动器读写头进行了优化。所以,文件系统的读写性能较之Ext2文件系统并来说,性能并没有降低。
4、数据转换 由ext2文件系统转换成ext3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。用一个ext3文件系统提供的小工具tune2fs,它可以将ext2文件系统轻松转换为ext3日志文件系统。另外,ext3文件系统可以不经任何更改,而直接加载成为ext2文件系统。
5、多种日志模式 Ext3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=ordered或者data=writeback模式。系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。

  1. DHCP是动态主机配置协议的简称,其作用是
    正确答案: C
    A 动态分配磁盘资源
    B 动态分配内存资源
    C 为网络中的主机分配IP地址
    D 为集群中的主机分配IP地址

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

  1. 以下命令可以用于获取本地ip地址的是:
    正确答案: A
    A ifconfig
    B uptime
    C top
    D netstat

ifconfig(network interfaces configuring)是linux中用于显示或配置网络设备的命令。配置网卡的IP地址语法例:ifconfig eth0 192.168.0.1 netmask 255.255.255.0
uptime显示系统已经运行了多长时间,它依次显示下列信息:当前时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
top命令能够查看linux系统的CPU、内存、运行时间、交换分区、执行的线程等信息。
Netstat 可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。

  1. 以下命令可以用于获取本机cpu使用率的是:
    正确答案: C
    A ifconfig
    B uptime
    C top
    D netstat
  1. 以下命令用于设置环境变量的是:
    正确答案: A
    A export
    B cat
    C echo
    D env

export [-fnp][变量名称]=[变量设置值] 设置或者显示环境变量
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的
使用echo实现更复杂的输出格式控制
env env命令时gnu的coreutils包内的一个软件,它的功能是:在一个修改后的环境里执行命令

  1. 下列对TCP/IP结构及协议分层不正确的是:
    正确答案: C
    A 网络接口层:Wi-Fi、ATM 、GPRS、EVDO、HSPA。
    B 网际层:IP、ICMP、IGMP 。
    C 传输层:TCP、UDP、TLS、ssh。
    D FTP、TELNET、DNS、SMTP.

在这里插入图片描述SSH s是应用层

  1. 以下哪种设备工作在数据链路层?
    正确答案: C
    A 中继器
    B 集线器
    C 交换机
    D 路由器

物理层 2进制电流
数据链路层 数据帧(MAC地址)
网络层 数据包(IP)
传输层 数据段(TCP UDP)
会话层 区分不同应用的数据
表示层 转码器
应用层 应用程序与下一层的接口

物理层的主要设备:中继器、集线器。
数据链路层主要设备:二层交换机、网桥
网络层主要设备:路由器
网关:4层,传输层,根据段口号决定转发

25.打电话使用的数据传输方式是(),手机上网使用的数据传输方式是()?
正确答案: B
A 电路交换,电路交换
B 电路交换,分组交换
C 分组交换,分组交换
D 分组交换,电路交换

电路交换是以电路为目的的交换方式,即通信双方要通过电路建立联系,建立后没挂断则电路一直保持,实时性高。
而分组交换是把信息分为若干分组,每个分组有分组头含有选路和控制信息,可以到达收信方,但是不能即时通信。

  1. 后退N帧协议的发送窗口大小是(),接收窗口的大小是()?
    正确答案: D
    A =1,=1
    B =1,>1
    C >1,>1
    D >1,=1

本题考查后退N帧协议的原理。数据链路层的停止-等待协议、首先说明:
接收窗口接收到分组就向前移动。发送窗口接受到接收窗口发送的ACK才会向前移动
后退N帧协议的最大发送窗口为2n-1(其中n为帧号的位数),最小为1, 接收窗口大小始终为1。本质就是窗口大小不能 超过序号能表示的范围,例如最大序号是3,窗口是6窗口比最大序号大,会出现0,1,2,3,0,1这样的窗口,你无法判断接收窗口返回的ACK0是代表第一个0收到还是第二个0收到。

  1. TCP释放连接第二次挥手时ACK(),第三次挥手时ACK()?
    正确答案: C
    A 不存在,不存在,
    B 不存在,值是1
    C 值是1,值是1
    D 值是1,不存在

TCP连接建立阶段:
第一次握手:客户端的应用进程主动打开,并向客户端发出请求报文段。其首部中:SYN=1,seq=x。
第二次握手:服务器应用进程被动打开。若同意客户端的请求,则发回确认报文,其首部中:SYN=1,ACK=1,ack=x+1,seq=y。
第三次握手:客户端收到确认报文之后,通知上层应用进程连接已建立,并向服务器发出确认报文,其首部:ACK=1,ack=y+1。当服务器收到客户端的确认报文之后,也通知其上层应用进程连接已建立。
连接释放阶段:
第一次挥手:数据传输结束以后,客户端的应用进程发出连接释放报文段,并停止发送数据,其首部:FIN=1,seq=u。
第二次挥手:服务器端收到连接释放报文段之后,发出确认报文,其首部:ack=u+1,seq=v。此时本次连接就进入了半关闭状态,客户端不再向服务器发送数据。而服务器端仍会继续发送。
第三次挥手:若服务器已经没有要向客户端发送的数据,其应用进程就通知服务器释放TCP连接。这个阶段服务器所发出的最后一个报文的首部应为:FIN=1,ACK=1,seq=w,ack=u+1。
第四次挥手:客户端收到连接释放报文段之后,必须发出确认:ACK=1,seq=u+1,ack=w+1。 再经过2MSL(最长报文端寿命)后,本次TCP连接真正结束,通信双方完成了他们的告别。因此应选B

  1. TCP协议的拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。常用的方法有:
    正确答案: B C
    A 慢启动、窗口滑动
    B 慢开始、拥塞控制
    C 快重传、快恢复
    D 快开始、快恢复
  1. 对于京东商城高流量访问,预防Ddos的方法可以有?
    正确答案: A B C
    A 限制同时打开SYN半链接的数目。
    B 缩短SYN半链接的Time out 时间。
    C 关闭不必要的服务。
    D 限制客户端请求服务器时长。

对所有可能成为目标的主机都进行优化。禁止所有不必要的服务
在服务器上删除未使用的服务,关闭未使用的端口。
用户应在路由器上配置SYN/ICMP的最大流量来限制SYN/ICMP封包所能占有的最高频宽,这样,当出现大量的超过所限定的SYN/ICMP流量时,说明不是正常的网络访问,而是有黑客入侵。
IP欺骗攻击是一种黑客通过向服务端发送虚假的包以欺骗服务器的DDOS攻击示意图做法。具体说,就是将包中的源IP地址设置为不存在或不合法的值。服务器一旦接受到该包便会返回接受请求包,但实际上这个包永远返回不到来源处的计算机。这种做法使服务器必需开启自己的监听端口不断等待,也就浪费了系统各方面的资源。

  1. 重复的数据,会增加磁盘空间的占有率,延长操作数据的时间。可以使用规范化处理数据冗余,以下对符合第一范式的表述正确的是:
    正确答案: C
    A 非键属性和键(主键)属性间没有传递依赖
    B 非键属性和键(主键)属性间没有部分依赖
    C 表中不应该有重复组。列重复拆成另外一张表;行重复拆成多行
    D 一个表中的列值与其他表中的主键匹配

消除重复行,满足第一范式;消除部分依赖性—没有组合键,满足第二范式;如果所有非键属性都完全依赖于主键,那么该关系就满足3NF

  1. 以下哪条SQL语句可以返回table1中的全部的key:
    正确答案: D
    A select tabel1.key from table1 join tabel2 on table1.key=table2.key
    B select tabel1.key from table1 right outer join tabel2 on table1.key=table2.key
    C select tabel1.key from table1 left semi join tabel2 on table1.key=table2.key
    D select tabel1.key from table1 left outer join tabel2 on table1.key=table2.key

RIGHT OUT JOIN是以table1为基准的链接,table1中的元素都被保留,而table2中的元素与table1中相同的则保留,不同的则 不留
A表 left join B表 左连,以A表为基础,A表的全部数据,B表有的组合。没有的为null
full outer 全连 两表相同的组合在一起,A表有但B表没有的数据(显示null), 同样B表有,A表没有的显示为(null)

  1. 以下关于Mysql数据库引擎MyISAM的描述错误的是?
    正确答案: A
    A 支持行锁
    B 如果表主要是用于插入新记录和读出记录,那么选择MyISAM引擎能实现处理高效率
    C 在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁
    D 不支持事务

MyISAM引擎是一种非事务性(不支持事务)的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用。
MyISAM和Innodb的区别:
两种类型最主要的差别就是Innodb支持事务处理与外键和行级锁.而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用。

33.C (索引在使用的时候要遵守最左原则)

  1. DELETE和TRUNCATE TABLE都是删除表中的数据的语句,它们的不同之处描述正确的是:
    正确答案: A B C D
    A TRUNCATE TABLE比DELETE的速度快
    B 在删除时如果遇到任何一行违反约束(主要是外键约束),TRUNCATE TABLE仍然删除,只是表的结构及其列、约束、索引等保持不变,但DELETE是直接返回错误
    C 对于被外键约束的表,不能使用TRUNCATE TABLE,而应该使用不带WHERE语句的DELETE语句。
    D 如果想保留标识计数值,要用DELETE,因为TRUNCATE TABLE会对新行标志符列使用的计数值重置为该列的种子

1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。
2、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。
注意:truncate 不能删除行数据,要删就要把表清空。
3、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
truncate与不带where的delete :只删除数据,而不删除表的结构(定义)
4、truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用delete。
如果要删除表定义及其数据,请使用 drop table 语句。
5、对于由foreign key约束引用的表,不能使用truncate table ,而应使用不带where子句的delete语句。由于truncate table 记录在日志中,所以它不能激活触发器。
6、执行速度,一般来说: drop> truncate > delete。
7、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。
truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。
原文:https://blog.csdn.net/lovemysea/article/details/79034943

  1. 用户表中有两列name/country。
    现在要查询用户表中每个国家(country)的用户人数,应使用以下哪个语句
    正确答案: A
    A select count(*) from users group by country
    B select name from users where country = ‘xx‘
    C select count(country) from users
    D select country from users
  1. 下列程序打印结果为( )
    import re m = re.search('[0-9]','a1b2c3d4') print(m.group(0))
    正确答案: A
    A 1
    B 1234
    C None
    D 其他几项都不对

在后面字符串中匹配0-9的字符,返回匹配到的第一个字符,即为1,扫描‘a1b2c3d4’,如果有个位置可以匹配正则表达式[0-9],就返回匹配的元素,否则返回None

  1. D datetime(年,月,日,小时,分总,秒)
  1. 将Person表中Name字段为"Lilei"的AGE字段递增1,可以使用哪个SQL语句( )
    正确答案: A
    A UPDATE Person SET AGE = AGE + 1 WHERE Name = ‘Lilei’
    B Alter Person SET AGE = AGE + 1 WHERE Name = ‘Lilei’
    C UPDATE Person SET AGE = AGE + 1 WHERE Name = Lilei
    D SET AGE = AGE + 1 FROM Person WHERE Name = ‘Lilei’

ALTER 和UPDATE 的区别:
UPDATE data manipulation language主要是更新表内的内容也就是数据
ALTHER —data definition language 主要是更改表的结构但是并不更改数据

  1. 将编码为gbk的字符串s转码为utf-8编码,以下操作正确的是
    正确答案: D
    A s.encode(‘utf-8’)
    B s.decode(‘gbk’)
    C s.encode(‘gbk’).decode(‘utf-8’)
    D s.decode(‘gbk’).encode(‘utf-8’)

decode解码,encode,编码

  1. 以下关于range/xrange说法错误的是:
    正确答案: B C
    A range返回的是list
    B xrange返回的是list
    C 生成大的数字序列时,适宜用range
    D 生成大的数字序列时,适宜用xrange

先我们看看range: range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。注意这里是生成一个序列。数组xrange的用法与range相同,即xrange([start,] stop[, step])根据start与stop指定的范围以及step设定的步长,他所不同的是xrange并不是生成序列,而是作为一个生成器。即他的数据生成一个取出一个。要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用。
range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

  1. python函数中支持*args和**kwargs。关于二者的区别以下说法错误的是:
    正确答案: C 你的答案: D (错误)
    A args要位于kwargs之前
    B kwargs是将相应的传值以字典形式呈现
    C args是将相应的传值以list的形式呈现
    D kwargs表示关键字参数

Python中函数参数 *args 和 **kwargs
普通参数,即在调用函数时必须按照准确的顺序来进行参数传递。
默认参数,即参数含有默认值,在调用函数时可以进行参数传递,若没有进行参数传递则使用默认值,要注意,默认参数必须在普通参数的右侧(否则解释器无法解析)。
元组参数,即 *args,参数格式化存储在一个元组中,长度没有限制,必须位于普通参数和默认参数之后。
字典参数,即 **kwargs,参数格式化存储在一个字典中,必须位于参数列表的最后面。
C是以元祖而不是list 错误,
args要位于kwargs之前 因为kwarg是位于最后的,对的。
D是关键字参数,不对,是字典形式,
应该选B

  1. 系统管理员编写扫描临时文件的shell程序tmpsc.sh, 测试该程序时提示拒绝执行,解决的方法有( )
    正确答案: B C D 你的答案: C (错误)
    A chmod 644 tmpsc.sh
    B chmod 755 tmpsc.sh
    C chmod a+x tmpsc.sh
    D chmod u+x tmpsc.sh

chmod命令解析:
chmod 用3个数字来表达对 用户(文件或目录的所有者),用户组(同组用户),其他用户 的权限:在这里插入图片描述

  1. 在bash编程中,算术比较大于、大于等于的运算符是( )
    正确答案: C D
    A >
    B >=
    C ge
    D gt

比较大于(greater than, gt)
比较大于等于(greater than or equal,ge)

  1. echo expr 3/4的执行结果
    正确答案: D
    A 0
    B 1
    C 0.75
    D 3/4

主要看是否有转义字符
echo ‘expr 3/4’ 得3/4
echo ‘expr 3/4’ 为0.75
expr命令一般用于整数值,但也可用于字符
echo 命令后面跟上要输出的文本

  1. 文件目录data当前权限为rwx — ---,只需要增加用户组可读权限,但不允许写操作,具体方法为:
    正确答案: A
    A chmod +050 data
    B chmod +040 data
    C chmod +005 data
    D chmod +004 data

chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5

  1. bash脚本文件一般第一行开头是
    正确答案: C
    A //
    B ##
    C #!
    D #/
  1. 如何获取上一条命令执行的返回码
    正确答案: C
    A $!
    B $0
    C $?
    D $#
  1. $$ Shell本身的PID(ProcessID)
  2. $! Shell最后运行的后台进程的PID
  3. $? 最后运行的命令的结束代码
  4. $- 使用Set命令设定的Flag一览
  5. $* 所有参数列表。以$1 $2 … $n的形式输出所有参数。
  6. $@所有参数列表。没有被引用时,与 ∗ 没 有 区 别 。 被 引 用 时 , " *没有区别。被引用时," "*“相当于”$1 $2 … n " , n", n"@相当于"$1",“ 2 " … " 2" …" 2""n”
  7. $# 添加到Shell的参数个数
  8. $0 Shell本身的文件名
  9. 1 ~ 1~ 1n 添加到Shell的各参数值。$1是第1参数、$2是第2参数。
  1. Shell 脚本(shell script),是一种为 shell 编写的脚本程序。现有一个test.sh文件,且有可执行权限,文件中内容为:#!/bin/bash aa='Hello World !'
    请问下面选项中哪个能正常显示Hello World !
    正确答案: D
    A sh test.sh >/dev/null 1 && echo $aa
    B ./test.sh >/dev/null 1 && echo $aa
    C bash test.sh >/dev/null 1 && echo $aa
    D ./test.sh >/dev/null 1 && echo $aa

ABC都是开子shell,不影响当前环境中的变量
. ./test.sh等于source ./test.sh直接影响当前环境下的变量

  1. 以下哪个命令是将标准输出和错误重定向到a.txt文件
    正确答案: A
    A &>a.txt
    B &|a.txt
    C a.txt < &
    D a.txt | &
    如何通过命令行来执行特定的操作:

1、将标准输出重定向到文件:
>
ls -l > ls-l.txt
2、将标准错误重定向到文件:
2>
grep da * 2> grep-errors.txt
3、将标准输出重定向到标准错误:
1>&2
grep da * 1>&2
4、将标准错误重定向到标准输出:
2>&1
grep * 2>&1
5、重定向标准错误和标准输出到文件:
&>
rm -f $(find / -name core) &> /dev/null

  1. 假设一种基因同时导致两件事情,一是使人喜欢抽烟,二是使这个人和肺癌就是()关系,而吸烟和肺癌则是()关系。
    正确答案: A 有待考究
    A 因果;相关
    B 相关;因果
    C 并列;相关
    D 因果;并列
  1. 若一个学习器的ROC曲线被另外一个学习器低的曲线完全“包住”,则断言后者的性能优于前者;若两个学习器的曲线出现交叉,该如何处理最为合适?
    正确答案: B
    A 比较ROC曲线线上的面积
    B 使用AUC进行比较
    C 目测进行判断
    D 通过其他方法判断两个学习器的优劣

若学习器A的ROC曲线包含学习器B的ROC曲线,说明A识别出的正例中,正确的比B多,且错误的也比B少。如果两个曲线有交叉,则需要计算曲线围住的面积(AUC)来评价性能优劣。
ROC空间将伪阳性率(FPR)定义为 X 轴,真阳性率(TPR)定义为 Y 轴。
TPR:在所有实际为阳性的样本中,被正确地判断为阳性的比率。TPR=TP/(TP+FN)
FPR:在所有实际为阴性的样本中,被错误地判断为阳性的比率。FPR=FP/(FP+TN)
AUC的值就是处于ROC曲线下方的面积大小。通常,AUC的值介于0.5到1.0之间,较大的AUC代表分类器性能较好。

52.关于随机森林的训练过程下列描述正确的是:
正确答案: C
A 样本扰动
B 属性扰动
C 样本扰动并且属性扰动
D 不存在扰动现象

样本扰动:例如bagging算法的输入样本重采样(有放回的采样出与原始样本容量相同的新样本)对输入样本扰动敏感的不稳定学习器例如决策树、神经网路等适合此种方式,但是要注意,有的基学习器对该扰动不敏感,例如,线性回归、支持向量机、朴素贝叶斯、K近邻该类学习器称为稳定学习器。
属性扰动:最经典的例子是随机森林,传统的决策树是从某个特征所有的属性值中选出最优的切分点进行数据样本划分,但是随机森林是,随机选取某个特征部分属性值作为属性子集,并从该子集中选出最优的切分点

  1. ( )的目的缩小数据的取值范围,使其更适合于数据挖掘算法的需要,并且能够得到 和原始数据相同的分析结果。
    正确答案: D
    A 数据清洗
    B 数据集成
    C 数据变换
    D 数据归约

数据集成:将多个数据源中的数据合并并存放在一个一致的数据仓库中。
数据变换:将数据转换或统一成适合挖掘的形式。
数据清洗:将重复、多余的数据筛选清除,将缺失的数据补充完整,将错误的数据纠正或者删除,最后整理成为我们可以进一步加工、使用的数据。
数据归约:在尽可能保持数据原貌的前提下,最大限度地精简数据量。

  1. 假设属性income的最大最小值分别是12000元和98000元。利用最大最小规范化的方法将属性的值映射到0至1的范围内。对属性income的73600元将被转化为()
    正确答案: D 你的答案: D (正确)
    A 0.821
    B 1.224
    C 1.458
    D 0.716
  1. 下列关于脏数据的说法中,正确的是()
    正确答案: A B C D E
    A 格式不规范
    B 编码不统一
    C 意义不明确
    D 与实际业务关系不大
    E 数据不完整
  1. 图像挖掘中常用卷积神经网络(DNN)作为基础结构,以下关于卷积操作 (conv)和池化 ( pooling)的说法正确的是?
    正确答案: A
    A conv基于平移不变性,pooling基于局部相关性
    B conv和pooling都基于平移不变性
    C conv基于局部相关性,pooling基于平移不变性
    D conv和pooling都基于局部相关性

平移不变性:对于同一张图及其平移后的版本,都能输出同样的结果。
局部相关性:池化层利用局部相关性,对图像进行下采样,可以减少数据处理量同时保留有用信息,相当于图像压缩。
CNN中的平移不变性主要是通过数据学习来的,也就是训练得到卷积核的值。此外池化本身也带有弱的平移不变性。

57.C
58.D
59.D
60.A
61.D
62.C
63.B

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值