顺丰科技-大数据挖掘与分析-2019笔试整理

35 oracle数据库

在这里插入图片描述

-- 有待商榷
select Userid,
sum(if(Class='文件',1,0)) as filesum,
sum(if(Class='娱乐',1,0)) as enjoysum,
sum(if(Class='食品',1,0)) as foodsum,
decode(greatest(filesum,enjoysum,foodsum),filesum,'文件',enjoysum,'娱乐',foodsum,'食品')
from waybill_constype 
where month(Consign_day)=4 
-- subsur(Consign_day,6,2) =4
group by Userid

35.1 greatest/least函数

在这里插入图片描述
在这里插入图片描述
转载自

35.2 sign函数

在Oracle/PLSQL中, sign 函数返回一个数字的正负标志.
语法如下:sign( number )
number 要测试标志的数字.
If number < 0, then sign returns -1.
If number = 0, then sign returns 0.
If number > 0, then sign returns 1.
转载自

35.3 decode函数

decode函数
在这里插入图片描述
oracle的case when的用法和decode函数的用法添加链接描述

  -- oracle中case when的用法---
  select A.StuName,A.GENDER,A.AGE,A.Joindate,A.Address,
  (case A.ClassID when 1 then '一班' when 2 then '二班' else '三班' end) ClassName 
  from Student A;
 select A.StuName,A.GENDER,A.AGE,A.Joindate,A.Address,
   (decode(A.ClassId,1,'一班',2,'二班',3,'三班','无')) ClassName 
  from Student A;

用法相同,descode更简便

35.4 substr函数

substr函数

36 mysql编程

在这里插入图片描述

36.1 substr函数

SUBSTR (str, pos)
截取从pos位置开始到最后的所有str字符串
SUBSTR (str, pos, len)
参数说明:
str为列名/字符串;
pos为起始位置;mysql中的起始位置pos是从1开始的;如果为正数,就表示从正数的位置往下截取字符串(起始坐标从1开始),反之如果起始位置pos为负数,那么 表示就从倒数第几个开始截取;
len为截取字符个数/长度。
添加链接描述

select a.task_no,
SUM(a.transfer_fee) as money_sum
from task_arrive_transfer a,task_operate b
where a.task_no=b.task_no 
and SUBSTRING(start_time,7,1)=8 
and a.arrive_time between b.start_time and c.end_time 
group by a.task_no 

在这里插入图片描述
快排不适合对基本有序的数据集合进行排序
在这里插入图片描述
函数调用过程中形成嵌套时,则应使最后被调用的函数最先返回,后进先出,栈。

6 JAVA静态方法

加载类的时候可直接使用,不需要实例化。
A:静态方法是一个属于类而不属于对象(实例)的方法。(√)
B:静态方法只能访问静态数据。无法访问非静态数据(实例变量)。(√)
C:静态方法只能调用其他静态方法,不能从中调用非静态方法。(√)
D:静态方法不能通过类名直接访问,也不需要任何对象。(×) 静态方法可以直接用类名访问。
在这里插入图片描述
public static String valueOf(char c) { char data[] = {c}; return new String(data, true);
}
直接查看源码,这里相当于新建了一个String类返回,那么显然选A
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.11待补充

12. 单元-确认-系统-集成测试

单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。
确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
系统测试是基于软件需求说明书的黑盒测试,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确
集成测试的主要目的是检查软件单位之间的接口是否正确,主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。
在这里插入图片描述

13. 关于链表,正确的是

零散的存储空间,插入删除快,查找慢,与数组相反
无需事先估计时间
B 不支持随机
D 地址不连续
E 增删不必挪动元素
数据结构–数组、链表、哈希、队列、栈比较
在这里插入图片描述
在这里插入图片描述
0、32位处理器,计算机中的位数指的是CPU一次能处理的最大位数。32位计算机的CPU一次最多能处理32位数据
1、CPU中的位指的是一个时钟周期可以处理的数据数量。8位为一个字节,32位就是一次可以处理4个字节,64位是一次可以处理8个字节
2、32位CPU是指数据总线有32位,寄存器是暂存数据和中间结果的单元,因此寄存器的位数指的也是处理数据的长度肯定是和数据总线的根数相同,否则寄存器和CPU内其他单元之间将无法通信,交换数据。
因此32位CPU的32位是包含了寄存器是32位的意思,但其实定义是数据总线的宽度和根数。
在这里插入图片描述
B:tcp 的滑动窗口进行流量控制
拥塞控制与流量控制的区别
拥塞控制防止过多的数据注入到网络中,可以使网络中的路由器或链路不致过载,是一个全局性的过程。
流量控制是点对点通信量的控制,是一个端到端的问题,主要就是抑制发送端发送数据的速率,以便接收端来得及接收。
D:DNS(Domain Name System,域名解析系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53

  1. TCP—传输控制协议,提供的bai是面向连du接、可靠的字节流服务。当zhi客户和服务器彼此交换数据前,必dao须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
  2. UDP—用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
    在这里插入图片描述
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
    我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。

13.1 INSERT INTO SELECT语句**

语句形式为

Insert into Table2(field1,field2,...) select value1,value2,... from Table1
或者:Insert into Table2 select  *  from Table1

注意:
(1)要求目标表Table2必须存在,并且字段field,field2…也必须存在
(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…中必须包括主键
(3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:
Insert into Table2(field1,field2,…) values (select value1,value2,… from Table1)
由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:

+ expand sourceview plaincopy to clipboardprint

13.2 SELECT INTO FROM语句

语句形式为:

SELECT vale1, value2 into Table2 from Table1

要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:

13.3 SQL SELECT INTO语法介绍

SQL SELECT INTO 语句可用于创建表的备份复件。
SELECT INTO 语句
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
SQL SELECT INTO 语法
您可以把所有的列插入新表:
SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename
或者只把希望的列插入新表:
SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename
SQL SELECT INTO 实例 - 制作备份复件
下面的例子会制作 "Persons" 表的备份复件:
SELECT * INTO Persons_backup FROM Persons
IN 子句可用于向另一个数据库中拷贝表:
SELECT * INTO Persons IN 'Backup.mdb' FROM Persons
如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:
SELECT LastName,FirstName
INTO Persons_backup
FROM Persons
SQL SELECT INTO 实例 - 带有 WHERE 子句
我们也可以添加 WHERE 子句。

T20 通信类型

单工数据传输只支持数据在一个方向上传输在同一时间只有一方能接受或发送信息,不能实现双向通信。
半双工数据传输允许数据在两个方向上传输,在某时刻,只允许数据在一个方向上传输;
全双工数据通信允许数据同时在两个方向上传输,在同一时间可以同时接受和发送信息,进行双向通信;

T21 LR分析法

在这里插入图片描述

所谓LR(K)分析,是指从左至右扫描和自底向上的语法分析,且在分析的每一步,只须根据分析栈当前已移进和归约出的全部文法符号,并至多再向前查看K个输入符号,就能确定相对于某一产生式左部符号的句柄是否已在分析栈的顶部形成,从而也就可以确定当前所应采取的分析动作 (是移进还是按某一产生式进行归约等)。

T22 UML图

在这里插入图片描述

T28 hive去重

在这里插入图片描述

row_number是排完序后再取topN,相同于去重

T31 Kmeans-聚类

在这里插入图片描述

  1. 聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程,聚类就是一种发现这种内在结构的技术,聚类技术经常被称为无监督学习。
  2. K均值聚类算法原理:
    先随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。3. k-means聚类算法是局部收敛的;k-means的聚类结果和初始聚类中心点的选取有关;k-means聚类算法的时间复杂度是O(NKT),其中N为样本个数,K为聚类团数量,T为迭代次数;k-means聚类算法无法自动确定聚类团数量。
  3. K-Means的主要优点有:
    ①原理比较简单,实现也是很容易,收敛速度快。②聚类效果较优。③算法的可解释度比较强。④主要需要调参的参数仅仅是簇数k。
  4. K-Means的主要缺点有:
    K值的选取不好把握②对于不是凸的数据集比较难收敛③如果各隐含类别的数据不平衡,比如各隐含类别的数据量严重失衡,或者各隐含类别的方差不同,则聚类效果不佳。④采用迭代方法,得到的结果只是局部最优。⑤对噪音和异常点比较的敏感。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值