- 博客(35)
- 收藏
- 关注
原创 sql常见笔试题目类型(4)n日留存率
sql最常考察的一部分内容都是和时间函数有关的,这其实与常用的分析指标都与时间相关有关。这里主要就说一下和留存率的计算思路与方法。首先要从留存率的概念进行入手,留存率=活跃的用户÷新用户,这里以计算每天的次日留存率为例,想要算次日留存率,其实就是要每天新用户的数量以及第二天活跃用户的数量。...
2022-02-15 21:26:23 1005
原创 sql常见笔试题目类型(2)窗口函数的应用
在整理SQL常见题型的时候,发现窗口函数用到的地方太多了,所以先把窗口函数放在前面说。窗口函数的使用其实很简单,窗口函数+over+(partition by+分组字段+order by+排序字段),其中窗口函数有两种,一种是窗口函数特有的函数,如rank、dense_rank、row_number排序函数以及lead、lag等其他函数等;另一种就是聚合函数,avg、count、sum等等。另外partition by后面是分组字段,order by后面接的是排序字段。窗口函数与group by聚类函数
2021-12-10 17:01:12 666
原创 sql常见笔试题目类型(1)同一时刻最大人数
由于最近又准备换工作,上份工作偏离数据太多,对一些关键问题都忘了,所以重新梳理了一下sql的几类比较典型的问题:同一时刻最大人数、n日留存问题、最大连续天数、统计学指标(中位数等)以及窗口函数。今天先来说一下同一时刻里最大人数的问题。拿牛客网里的一道题来做示例。大厂真题SQL8每篇文章同一时刻最大在看人数https://www.nowcoder.com/practice/fe24c93008b84e9592b35faa15755e48现有用户行为日志表tb_user_log,其中uid-用户I
2021-12-10 11:38:23 1473 4
原创 A/B测试学习心得
目录1、A/B测试的应用场景(1)产品功能优化(2)策略算法优化2、A/B测试的流程(1)方案设计阶段(2)功能开发阶段(3)功能上线阶段(4)功能决策阶段3、A/B测试的注意点(1)相同的时间(2)相同的用户群体(3)灰度发布(4)显著性验证4、A/B测试的案例A/B测试属于常见的分析方法,个人认为其核心思想就是控制变量法,在保持其他因素一致的情况下,对测试因素进行分组验证。如果以控制变量法的思维来考虑 A/B测试, 其应用范围非常广泛,下文讲述的A/B测试主要是在互联网产品更迭的应用。1、A/B测试
2021-12-08 20:34:59 416
原创 sql 索引
目录1.定义1.定义索引,是帮助MYSQL高效获取数据的数据结构。索引的目的是为了提高查找效率。排好序的快速查找数据结构。影响查找和排序。数据库系统还维护着满足特定查找算法的数据结构,可以在这些数据结构上实现高级查找算法。这种数据结构就是索引。索引的结构主要有B树(B+树)和hash两种。聚集索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引优势(1)提高数据检索的效率,降低数据库的IO成本(2)降低数据排序的成本,降低了CPU的消耗劣势(1)索引也是一张表,保存了主键与索引字段
2021-05-15 20:43:01 230
原创 sql 锁机制简介
主要内容出自阿里云大学《MySQL高级应用 - 索引和锁》目录1.锁1.1锁的定义1.2锁的分类2.表锁2.1特点2.2语句2.3效果2.4如何分析表锁定3.行锁3.1特点3.2间隙锁3.2.1定义3.2.2危害3.3如何对一行加锁3.4分析行锁定3.5优化建议1.锁1.1锁的定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一致性、有效性是所有数据库必须解决的问题,锁
2021-05-12 14:47:08 110
原创 sql 用户登录和留存问题
题目转自牛客网sql 66-71题目录题目描述1.查询用户最近登录时间2.统计每个用户最近登录是哪一天,用的是什么设备3.查询新登录用户的次日留存率4.查询每天的新用户数5.查询每天的新用户留存率6.查询每天每位用户的累计做题量题目描述牛客每天有很多人登录,有一个登录(login)记录表,简况如下(这个表为基础表,后面所有的题都是以这个为基础进行的):第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备登录了牛客网。。。第4行表示user_id为3的用户在2020
2021-05-11 22:18:40 752
原创 sql 事务
目录1.事务是什么2.事务的特性3.事务的隔离级别1.事务是什么简单来说事务就是一系列sql语句的集合,是单一逻辑工作单元的操作集合。数据库的事务可以包含一个或多个数据库操作,但这些操作构成逻辑上的整体。构成逻辑整体的这些数据库操作,要么全部执行成功,要么全部不执行。构成事务的所有操作,要么全部对数据库产生影响,要么全部不产生影响,即不管事务是否执行成功,数据库总能保持一致性。2.事务的特性事务具有四个特性,也就是常说的ACID。1、A(atomicity),原子性,事务不可分割,如果执行则事务
2021-05-09 11:48:02 625
原创 sql牛客刷题(32-46)-增删改
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-05-08 19:16:22 264
原创 python数据科学库numpy
1、属性ndimsizeshapedtype2、创建函数np.array()np.arrange()np.zeros()np.ones()np.reshape()3、基础运算dot矩阵运算,
2020-09-10 21:42:24 219
原创 sql-查询语句
1、更新数据2、where3、group by4、order by5、limit offset6、join on7、联合查询unionunion all子查询in=><existsany、some、all正则匹配regexp^$.[][^]|...
2020-09-08 15:38:07 176
原创 python 递归里的return
Python中return的作用有两个,第一个是终止循环程序,第二个是返回结果值。在一个函数里return只会执行先出现的return语句,后面的return不发挥作用。如果函数里没有return,即没有返回值,在打印函数的时候只会返回None。def shiyan1(a): return a return a*2def shiyan2(a): print('下面是shiyan2',a) print(a*2)print(shiyan1(1))print(s...
2020-09-04 09:38:01 3133 1
原创 mysql-表格修改 alter table
1、重命名表格名称alter table shiyan1 rename to shiyan2alter table shiyan1 rename as shiyan2alter table shiyan1 rename shiyan2rename table shiyan1 to shiyan2
2020-09-03 22:23:37 1144
原创 mysql-创建表及数据类型
1、数据库建立create database [if not exists] name2、表建立create table [if not exists] table_name (shuxing leixing)3、数据类型数据类型分为数值型,字符串型,时间型4、字段约束条件4.1、主键primary key4.2自增长auto_increment4.3非空not null4.4唯一unique key4....
2020-09-02 14:45:54 4000
原创 python数据结构与算法(2)栈与队列
目录1、栈2、栈的实现3、队列4、队列的实现5、双端队列的实现1、栈栈的特点在于,栈只能从一头进出,即先进后出,后进先出,对栈的操作:访问删除等,都是从栈尾进行的。这种特性适合用来检测两两对应的关系是否匹配。2、栈的实现栈从某种意义上来说是特殊的列表,只是在访问删除元素的时候,在规则上比列表多了一些限制。class Stack(object): #栈 def __init__(self): self.items = [] d
2020-08-21 15:33:01 313
原创 python数据结构与算法(3)-排序算法(上)
1、冒泡排序def bubble_sort(alist): a=len(alist) for j in range(a-1): count=0 for i in range(a-j-1): if alist[i]>alist[i+1] : alist[i] ,alist[i+1]= alist[i+1],alist[i] count+=1 ...
2020-08-21 14:41:03 240
原创 LEETCODE-算法刷题-简单(2)
目录9、回文数20、有效的括号26、删除排序数组中的重复项27、移除元素28、实现strStr()136、只出现一次的数字9、回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解题思路,用的最简单的方法,转化成字符串,然后遍历一半字符串进行对比,这样做效果也比较差。class Solution: def isPalindrome(self, x: int) -> bool: str1=str(
2020-08-19 20:47:37 158
原创 LEETCODE-算法刷题-简单(1)
目录1、两数之和7、整数反转11、盛最多水的容器13、罗马数字转整数14、最长公共前缀1、两数之和来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。给定 nums = [2, 7, 11, 15], targ...
2020-08-12 16:03:43 388
原创 python基础-第十一天-模块module
1、模块1.1、模块(1) Python程序由模块组成。一个模块对应 python源文件,一般后缀名是:.py。(2)模块由语句组成。运行 Python 程序时,按照模块中语句的顺序依次执行。(3)语句是Python程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。1.2、模块化编程的流程模块化编程的一般流程:(1)设计API,进行功能描述。(2) 编码实现API中描述的功能。(3)在模块中编写测试代码,并消除全局代码。(4) 使用私有函数实现不被外部客户
2020-08-09 22:19:02 134
原创 python基础-第九天-异常处理
异常的种类异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。所谓异常处理,就是指程序在出现问题时依然可以正确的执行剩余的程序,而不会因为异常而终止程序执行。异常的定位当发生异常时,解释器会报相关的错误信息,并会在控制台打印出相关错误信息。我们 只需按照从上到下的顺序即可追溯(Trackback)错误发生的过程,最终定位引起错误的那一 行代码。try...一个except结构try..except是最常见的异常处理结构,...
2020-08-05 23:33:42 319
原创 python第八天-类详解
目录1、python中没有重载(重名)2、方法的动态性3、私有属性和私有方法(实现封装)4、@property装饰器5、面向对象的特征6、继承7、object根类8、重写__str__属性9、多重继承10、多态11、特殊属性12、对象的浅拷贝和深拷贝13、组合1、python中没有重载(重名)python中,方法的参数没有类型,参数的数量也可以由可变参数空值,所有python中是没有重载的。如果出现重名的方法,只有在最后的方法是有效的。2、
2020-08-04 23:36:27 879
原创 LeetCode-SQL刷题175-176
题目175.组合两个表来源:LeetCode,链接:https://leetcode-cn.com/problems/combine-two-tables表1:Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------.
2020-08-04 20:12:53 158
原创 python-第七天(函数收尾及面向对象:类初解)
1、嵌套函数嵌套函数就是在一个函数里还有其他函数。def outer(): print('outer') def inner(): print("inner) inner()outer()****结果如下****outerinner2、nonlocal与globalnonlocal声明外局的局部变量global声明全局变量nonlocal与global类似,只是使用在嵌套函数里。3、LEGB规则local指的是函数或者类的方法
2020-08-03 23:21:26 218
原创 python基础-第五天(循环结构及函数初见)
目录1、for循环2、嵌套循环3、嵌套循环练习-99乘法表4、break、continue、else语句5、循环代码优化技巧6、zip()并行迭代7、推导式创建序列8、练习-绘制不同颜色的同心圆9、函数的基本概念10、形参和实参11、返回值详解1、for循环for循环通常用于可迭代对象的遍历。for 变量 in 可迭代对象: 循环体语句for i in range(10): #range对象 print(i,end=' ')fro
2020-08-02 00:29:09 495
原创 python基础第四天
1、字典的创建2、字典元素的访问1、通过键的名称返回值,类似列表的访问a['name']2、get(),指定键不存在时可以返回指定值3、列出所有的键值对 a.items()4、列出所有的键a.keys(),列出所有的值a.values()5、len()键值对的个数6、检测一个键是否在字典中 in>>> a={'name':'name','score':70}>>> a['name']'name'>>> a...
2020-07-31 23:33:20 364
原创 机器学习数学基础-线代必备上
1、行列式2、代数余子式3、伴随矩阵4、逆矩阵4.1概念4.2求解5、矩阵运算6、矩阵转置7、特殊矩阵(1)零矩阵,所有元素都等于零,也可以记为0(2)单位矩阵,对角线上都为1,其他元素都为0(3)三角矩阵,主对角线上(下)的元素全为零(4)对称矩阵,和倒置矩阵相同的矩阵,成为对称矩阵8、矩阵分块9、矩阵的秩10、特征值特征向量A-11、正定矩阵12、正交基13、正交...
2020-07-31 15:35:02 533
原创 python基础-第三天(简单修正)
1、序列python中常用的序列结构有字符串、列表、元组、字典、集合。python当中一切皆对象,序列中存储的是对象的地址,而不是对象的值。2、列表列表是可变序列的一种,列表大小可变。列表的用法和字符串的相似,有很多一样的操作。3、列表的创建方式(1)基础语法创建,如A=[1,2,3];(2)list()可以将任何可迭代的数据转化成列表,如list(range(10));(3)range([start],end,[step]),start,起始数字,可选;end,结尾数字,.
2020-07-30 21:52:41 113
原创 python基础-第二天
1、链式赋值a=b=123相当于a=123,b=1232、系列赋值a,b=1,2 相当于a=1 ,b=2a,b=b,a 则会让ab的值交换3、内置数据类型(1)整型 int,整数;转换为整型,int(),在浮点型转换成整型时,是直接舍弃小数点后的(2)浮点型float,小数 ;转换为浮点型,float(),四舍五入round();python3里整数没有上限(3)布尔型bool,True 和False(4)字符串str转换成字符串,str()字符串,ord()把.
2020-07-29 21:36:46 260
原创 python基础-第一天
一、简单入门,使用turtle画图,主要是几个函数的应用。二、标识符(即名称)用于变量函数类模块的名称。标识符的规则:1.区分大小写;2.第一个字符必须是字母或下划线,不能是数字之类的开头;3.不能使用关键字;4.尽量避免使用双下划线。一般遵守以下命名规则:(1)模块和包名,尽量简单,全小写,单词之间使用下划线(2)函数名,全小写,单词之间用下划线隔开(3)类名,首字母大写,多个单词时单词的首字母大写其他字母小写(4)常量名:全大写字母,多个单词之间使用下划线隔开变量赋...
2020-07-29 15:43:58 104
原创 机器学习数学基础-高数必备
1、导数及运算:略2、多元函数求导:略3、偏导数:略4、方向导数:略5、梯度:略6、凸函数凸函数(一阶二阶可导),在区间(a,b)之间,如果f''(x)>0,则在区间内是凹函数,如果f''(x)<0,则在区间内是凸函数10、最小二乘法...
2020-07-29 15:36:14 333
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人