使用 SQL 语句实现一个年会抽奖程序

作者 | 董旭阳  责编 | 张文

头图 | CSDN 下载自视觉中国

出品 | CSDN(ID:CSDNnews)

年关将近,抽奖想必是大家在公司年会上最期待的活动了。如果老板让你做一个年会抽奖的程序,你会怎么实现呢?

今天给大家介绍一下如何通过 SQL 语句来实现这个功能。实现的原理其实非常简单,就是通过函数为每个人分配一个随机数,然后取最大或者最小的 N 个随机数对应的员工。

Oracle

Oracle 提供了一个系统程序包 DBMS_RANDOM,可以用于生成随机数据,包括随机数字和随机字符串等。其中,DBMS_RANDOM.VALUE 函数可以用于生成一个大于等于 0 小于 1 的随机数字。利用这个函数,我们可以从表中返回随机的数据行。例如:

SELECT emp_id, emp_nameFROM employee ORDER BY dbms_random.valueFETCH FIRST 1 ROWS ONLY;
EMP_ID|EMP_NAME|------|--------|     3|张飞    |

再次执行以上查询将会返回其他员工。我们也可以一次返回多名随机员工:

SELECT emp_id, emp_nameFROM employee ORDER BY dbms_random.valueFETCH FIRST 3 ROWS ONLY;
EMP_ID|EMP_NAME|------|--------|     6|魏延    |    21|黄权    |     9|赵云    |

为了避免同一个员工中奖多次,可以创建一个存储已中奖员工的表:

-- 中奖员工表CREATE TABLE emp_win(  emp_id integer PRIMARY KEY, -- 员工编号  emp_name varchar(50) NOT NULL, -- 员工姓名  grade varchar(50) NOT NULL -- 中奖级别);

每次开奖时将中奖员工和级别存入 emp_win 表中,同时每次开奖时排除已经中奖的员工。例如,以下语句可以抽出 3 名三等奖:

INSERT INTO emp_winSELECT emp_id, emp_name, '三等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win) -- 排除已经中奖的员工ORDER BY dbms_random.valueFETCH FIRST 3 ROWS ONLY;
SELECT * FROM emp_win;
EMP_ID|EMP_NAME|GRADE   |------|--------|--------|     8|孙丫鬟   |三等奖  |     3|张飞     |三等奖  |     9|赵云     |三等奖  |

继续抽出 2 名二等奖和 1 名一等奖:

-- 二等奖2名INSERT INTO emp_winSELECT emp_id, emp_name, '二等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win)ORDER BY dbms_random.valueFETCH FIRST 2 ROWS ONLY;
-- 一等奖1名INSERT INTO emp_winSELECT emp_id, emp_name, '一等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win)ORDER BY dbms_random.valueFETCH FIRST 1 ROWS ONLY;
SELECT * FROM emp_win;
EMP_ID|EMP_NAME|GRADE  |------|--------|-------|     8|孙丫鬟  |三等奖  |     3|张飞    |三等奖  |     9|赵云    |三等奖  |     6|魏延    |二等奖  |    22|糜竺    |二等奖  |    10|廖化    |一等奖  |

我们可以进一步将以上语句封装成一个存储过程:

CREATE OR REPLACE PROCEDURE luck_draw(pv_grade varchar, pn_num integer)ISBEGIN  INSERT INTO emp_win    SELECT emp_id, emp_name, pv_grade    FROM employee    WHERE emp_id NOT IN (SELECT emp_id FROM emp_win)    ORDER BY dbms_random.value    FETCH FIRST pn_num ROWS ONLY;COMMIT;END luck_draw;/
CALL luck_draw('特等奖', 1);
SELECT * FROM emp_win WHERE grade = '特等奖';
EMP_ID|EMP_NAME|GRADE  |------|--------|-------|    25|孙乾    |特等奖  |

关于 Oracle 中如何生成随机数字、字符串、日期、验证码以及 UUID,可以参考这篇文章:

https://tonydong.blog.csdn.net/article/details/108007423


MySQL

MySQL 提供了一个系统函数 RAND,可以用于生成一个大于等于 0 小于 1 的随机数字。利用这个函数,我们可以从表中返回随机记录。例如:

SELECT emp_id, emp_nameFROM employee ORDER BY RAND()LIMIT 1;
emp_id|emp_name|------|--------|    19|庞统    |

再次执行以上语句将会返回其他员工。我们也可以一次返回多名随机的员工:

SELECT emp_id, emp_nameFROM employee ORDER BY RAND()LIMIT 3;
emp_id|emp_name|------|--------|     1|刘备    |    20|蒋琬    |    23|邓芝    |

为了避免同一个员工中奖多次,我们可以创建一个存储已中奖员工的表:

-- 中奖员工表CREATE TABLE emp_win(  emp_id integer PRIMARY KEY, -- 员工编号  emp_name varchar(50) NOT NULL, -- 员工姓名  grade varchar(50) NOT NULL -- 中奖级别);

每次开奖时将中奖员工和级别存入 emp_win 表中,同时每次开奖时排除已经中奖的员工。例如,以下语句可以抽出 3 名三等奖:

INSERT INTO emp_winSELECT emp_id, emp_name, '三等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win) -- 排除已经中奖的员工ORDER BY RAND()LIMIT 3;
SELECT * FROM emp_win;
emp_id|emp_name|grade  |------|--------|-------|    18|法正    |三等奖  |    23|邓芝    |三等奖  |    24|简雍    |三等奖  |

我们继续抽出 2 名二等奖和 1 名一等奖:

-- 二等奖2名INSERT INTO emp_winSELECT emp_id, emp_name, '二等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win) -- 排除已经中奖的员工ORDER BY RAND()LIMIT 2;
-- 一等奖1名INSERT INTO emp_winSELECT emp_id, emp_name, '一等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win) -- 排除已经中奖的员工ORDER BY RAND()LIMIT 1;
SELECT * FROM emp_win;
emp_id|emp_name|grade  |------|--------|-------|     2|关羽    |二等奖  |    18|法正    |三等奖  |    20|蒋琬    |一等奖  |    23|邓芝    |三等奖  |    24|简雍    |三等奖  |    25|孙乾    |二等奖  |

我们可以进一步将以上语句封装成一个存储过程:

DELIMITER $$
CREATE PROCEDURE luck_draw(IN pv_grade varchar(50), IN pn_num integer)BEGIN  INSERT INTO emp_win    SELECT emp_id, emp_name, pv_grade    FROM employee    WHERE emp_id NOT IN (SELECT emp_id FROM emp_win)    ORDER BY RAND()    LIMIT pn_num;SELECT * FROM emp_win;END$$
DELIMITER ;
CALL luck_draw('特等奖', 1);
emp_id|emp_name|grade  |------|--------|-------|     2|关羽    |二等奖  |     8|孙丫鬟  |特等奖  |    18|法正    |三等奖  |    20|蒋琬    |一等奖  |    23|邓芝    |三等奖  |    24|简雍    |三等奖  |    25|孙乾    |二等奖  |

关于 MySQL 中如何生成随机数字、字符串、日期、验证码以及 UUID,可以参考这篇文章:

https://tonydong.blog.csdn.net/article/details/108083399


Microsoft SQL Server

Microsoft SQL Server 提供了一个系统函数 NEWID,可以用于生成一个随机的 GUID。利用这个函数,我们可以从表中返回随机的数据行。例如:

SELECT TOP(1) emp_id, emp_nameFROM employee ORDER BY NEWID();
emp_id|emp_name|------|--------|    25|孙乾    |

再次执行以上语句将会返回其他员工。我们也可以一次返回多名随机员工:

SELECT TOP(3) emp_id, emp_nameFROM employee ORDER BY NEWID();
emp_id|emp_name|------|--------|    23|邓芝    |     1|刘备    |    21|黄权    |

虽然 Microsoft SQL Server 提供了一个返回随机数字的 RAND 函数,但是该函数对于所有的数据行都返回相同的结果,因此不能用于返回表中的随机记录。例如:

SELECT TOP(3) emp_id, emp_name, RAND() AS rdFROM employee ORDER BY RAND();
emp_id|emp_name|rd                |------|--------|------------------|    23|邓芝    |0.8623555267583647|    18|法正    |0.8623555267583647|    11|关平    |0.8623555267583647|

为了避免同一个员工中奖多次,我们可以创建一个存储已中奖员工的表:

-- 中奖员工表CREATE TABLE emp_win(  emp_id integer PRIMARY KEY, -- 员工编号  emp_name varchar(50) NOT NULL, -- 员工姓名  grade varchar(50) NOT NULL -- 中奖级别);

我们在每次开奖时将中奖员工和级别存入 emp_win 表中,同时每次开奖时排除已经中奖的员工。例如,以下语句可以抽出 3 名三等奖:

INSERT INTO emp_winSELECT TOP(3) emp_id, emp_name, '三等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win) -- 排除已经中奖的员工ORDER BY NEWID();
SELECT * FROM emp_win;
emp_id|emp_name|grade|------|--------|-----|    14|张苞    |三等奖|    17|马岱    |三等奖|    21|黄权    |三等奖|

继续抽出 2 名二等奖和 1 名一等奖:

-- 二等奖2名INSERT INTO emp_winSELECT TOP(2) emp_id, emp_name, '二等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win)ORDER BY NEWID();
-- 一等奖1名INSERT INTO emp_winSELECT TOP(1) emp_id, emp_name, '一等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win)ORDER BY NEWID();
SELECT * FROM emp_win;
emp_id|emp_name|grade|------|--------|-----|    14|张苞    |三等奖|    15|赵统    |一等奖|    17|马岱    |三等奖|    18|法正    |二等奖|    21|黄权    |三等奖|    22|糜竺    |二等奖|

我们可以进一步将以上语句封装成一个存储过程:

CREATE OR ALTER PROCEDURE luck_draw(@pv_grade VARCHAR(50), @pn_num integer)ASBEGIN  INSERT INTO emp_win    SELECT TOP(@pn_num) emp_id, emp_name, @pv_grade    FROM employee    WHERE emp_id NOT IN (SELECT emp_id FROM emp_win)    ORDER BY NEWID()SELECT * FROM emp_winEND;
EXEC luck_draw '特等奖', 1;
emp_id|emp_name|grade|------|--------|-----|    14|张苞    |三等奖|    15|赵统    |一等奖|    17|马岱    |三等奖|    18|法正    |二等奖|    21|黄权    |三等奖|    22|糜竺    |二等奖|    23|邓芝    |特等奖|

关于 Microsoft SQL Server 中如何生成随机数字、字符串、日期、验证码以及 UUID,可以参考这篇文章:

https://tonydong.blog.csdn.net/article/details/111089346


PostgreSQL

PostgreSQL 提供了一个系统函数 RANDOM,可以用于生成一个大于等于 0 小于 1 的随机数字。利用这个函数,我们可以从表中返回随机记录。例如:

SELECT emp_id, emp_nameFROM employee ORDER BY RANDOM()LIMIT 1;
emp_id|emp_name|------|--------|    22|糜竺    |

再次执行以上语句将会返回其他员工。我们也可以一次返回多名随机的员工:

SELECT emp_id, emp_nameFROM employee ORDER BY RAND()LIMIT 3;
emp_id|emp_name|------|--------|     8|孙丫鬟   |     4|诸葛亮   |     9|赵云     |

为了避免同一个员工中奖多次,我们可以创建一个存储已中奖员工的表:

-- 中奖员工表CREATE TABLE emp_win(  emp_id integer PRIMARY KEY, -- 员工编号  emp_name varchar(50) NOT NULL, -- 员工姓名  grade varchar(50) NOT NULL -- 中奖级别);

每次开奖时将中奖员工和级别存入 emp_win 表中,同时每次开奖时排除已经中奖的员工。例如,以下语句可以抽出 3 名三等奖:

INSERT INTO emp_winSELECT emp_id, emp_name, '三等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win) -- 排除已经中奖的员工ORDER BY RANDOM()LIMIT 3;
SELECT * FROM emp_win;
emp_id|emp_name|grade|------|--------|-----|    23|邓芝    |三等奖|    15|赵统    |三等奖|    24|简雍    |三等奖|

我们继续抽出 2 名二等奖和 1 名一等奖:

-- 二等奖2名INSERT INTO emp_winSELECT emp_id, emp_name, '二等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win)ORDER BY RANDOM()LIMIT 2;
-- 一等奖1名INSERT INTO emp_winSELECT emp_id, emp_name, '一等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win)ORDER BY RANDOM()LIMIT 1;
SELECT * FROM emp_win;
emp_id|emp_name|grade|------|--------|-----|    23|邓芝    |三等奖|    15|赵统    |三等奖|    24|简雍    |三等奖|     1|刘备    |二等奖|    21|黄权    |二等奖|    22|糜竺    |一等奖|

我们可以进一步将以上语句封装成一个存储过程:

CREATE OR REPLACE PROCEDURE luck_draw(pv_grade IN VARCHAR, pn_num IN INTEGER)LANGUAGE plpgsqlAS $$BEGIN  INSERT INTO emp_win    SELECT emp_id, emp_name, pv_grade    FROM employee    WHERE emp_id NOT IN (SELECT emp_id FROM emp_win)    ORDER BY RANDOM()    LIMIT pn_num;END;$$
CALL luck_draw('特等奖', 1);
SELECT * FROM emp_win WHERE grade = '特等奖';
emp_id|emp_name|grade|------|--------|-----|     5|黄忠    |特等奖|

关于 PostgreSQL 中如何生成随机数字、字符串、日期、验证码以及 UUID,可以参考这篇文章:

https://tonydong.blog.csdn.net/article/details/109215148


SQLite

SQLite 中的 RANDOM 函数可以用于生成一个大于等于 -9223372036854775808 小于 9223372036854775807 的随机整数。利用这个函数,我们可以从表中返回随机的数据行。例如:

SELECT emp_id, emp_nameFROM employeeORDER BY RANDOM()LIMIT 1;
emp_id|emp_name|------|--------|     4|诸葛亮   |

再次执行以上语句将会返回其他员工。我们也可以一次返回多名随机员工:

SELECT emp_id, emp_nameFROM employeeORDER BY RANDOM()LIMIT 3;
emp_id|emp_name|------|--------|    16|周仓    |    15|赵统    |    11|关平    |

为了避免同一个员工中奖多次,我们可以创建一个存储已中奖员工的表:

-- 中奖员工表CREATE TABLE emp_win(  emp_id integer PRIMARY KEY, -- 员工编号  emp_name varchar(50) NOT NULL, -- 员工姓名  grade varchar(50) NOT NULL -- 中奖级别);

我们在每次开奖时将中奖员工和级别存入 emp_win 表中,同时每次开奖时排除已经中奖的员工。例如,以下语句可以抽出 3 名三等奖:

INSERT INTO emp_winSELECT emp_id, emp_name, '三等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win) -- 排除已经中奖的员工ORDER BY RANDOM()LIMIT 3;
SELECT * FROM emp_win;
emp_id|emp_name|grade|------|--------|-----|     2|关羽    |三等奖|     3|张飞    |三等奖|     8|孙丫鬟  |三等奖|

继续抽出 2 名二等奖和 1 名一等奖:

-- 二等奖2名INSERT INTO emp_winSELECT emp_id, emp_name, '二等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win)ORDER BY RANDOM()LIMIT 2;
-- 一等奖1名INSERT INTO emp_winSELECT emp_id, emp_name, '一等奖'FROM employeeWHERE emp_id NOT IN (SELECT emp_id FROM emp_win)ORDER BY RANDOM()LIMIT 1;
SELECT * FROM emp_win;
emp_id|emp_name|grade|------|--------|-----|     2|关羽    |三等奖|     3|张飞    |三等奖|     4|诸葛亮  |一等奖|     8|孙丫鬟  |三等奖|    16|周仓    |二等奖|    23|邓芝    |二等奖|

关于 SQLite 中如何生成随机数字、字符串、日期、验证码以及 UUID,可以参考这篇文章:

https://tonydong.blog.csdn.net/article/details/111769715

总结

我们通过数据库系统提供的随机数函数返回表中的随机记录,从而实现年会抽奖的功能。

作者简介:不剪发的 Tony 老师,CSDN 博客专家,CSDN 学院签约讲师, GitChat 专栏作者。十余年数据库管理与开发经验。目前在一家全球性的游戏公司从事数据库架构设计和开发工作,擅长各种数据库管理与 SQL 开发,拥有Oracle OCP 和 Redhat RHCE 证书。


更多阅读推荐

  • 都 2021 年了,Serverless 能取代微服务吗?

  • 企业使用云计算低效益怎么办?区块链或成良药

  • 创业公司用 Serverless,到底香不香?

  • 45 年编程经验告诉我的技术真相

  • AI 全自动翻译漫画文字,二次元界福音

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

杨飞:擅长顺势而为,收获家业两成

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 简介: 对比大多数开发者来说,杨飞的职业路线可以说是大相径庭。从大厂到创业公司,从一线城…

Springboot 下 EasyExcel 的数据导入导出

文章目录1.环境准备1.0. excel数据1.1. pom1.2. excle映射实体1.3. 自定义日期转换器1.4.自定义异常2. 数据导出3. 数据导入3.1. excel解析监听类3.2. excel导入1.环境准备 1.0. excel数据 1.1. pom <dependency><groupId>org.springframework.boot</groupId&g…

springboot spring-cloud spring-cloud nacos 整合模板

文章目录二、coding实战2.1. 版本对照2.2. 线上采用版本2.3. yml文件配置2.4. pom依赖2.5. 效果图二、coding实战 2.1. 版本对照 先阅读->版本说明 2.2. 线上采用版本 Spring Cloud Alibaba VersionSpring Cloud VersionSpring Boot VersionNacos Version2.2.7.RELEAS…

CSDN居然免费送会员? 赶紧来领!

距离春节还有不到一个月你准备好给家人的春节礼物了吗&#xff1f;疫情下&#xff0c;为了让程序猿同学开心加班小编提前准备了一份牛年大礼 周五福利日&#xff0c;人人都可免费领会员&#xff01;助你提前实现CSDN会员卡自由&#xff01;奖品多多&#xff0c;不仅有CSDN月卡会…

《Dubbo迈出云原生重要一步-应用级服务发现解析》

作者 | 刘军&#xff08;陆龟&#xff09; Apache Dubbo PMC 概述 社区版本 Dubbo 从 2.7.5 版本开始&#xff0c;新引入了一种基于实例&#xff08;应用&#xff09;粒度的服务发现机制&#xff0c;这是我们为 Dubbo 适配云原生基础设施的一步重要探索。版本发布到现在已有近…

springboot pom 依赖

基础环境pom <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.1.4.RELEASE</version></dependency>插件pom <!--slf4j日志--><dependency>…

阿里云HiShop海商创新合作—线上商城这样做更合适

做商城一直是企业商家经久不衰的话题&#xff0c;尽管人们对于网上商城系统的了解已经有很多。距离电商真正来到与消费者做到息息相关&#xff0c;或许还要很长的路要走。人、货、场三种元素没有实现根本联通是一个很重要的原因。那么企业应该怎样搭建线上商城才能最符合当下消…

nacos 开启权限验证后 报错状态 403

文章目录一、漏洞修复1. 未授权访问漏洞2. 解决方案3. 修复效果图二、403 异常解决2.1. 版本对照2.2. 线上采用版本2.3. yml文件配置2.4. pom依赖2.5. 效果图一、漏洞修复 1. 未授权访问漏洞 前因&#xff1a;政府项目被扫出nacos未授权访问漏洞 2. 解决方案 在nacos/conf…

数据爆发式增长下,CIO不可不知的“数据经济学”

导读&#xff1a;6月9日&#xff0c;全速重构•2020阿里云线上峰会如期举行。阿里巴巴研究员、阿里云智能存储资深产品总监Alex Chen做了主题为《面向未来&#xff0c;企业CIO该懂的数据经济学》的分享。在分享中&#xff0c;他畅谈了数据增长所带来的全新挑战&#xff0c;同时…

统计一个字符在另一个字符串中出现的次数

文章目录1.一个字符在另一个字符串中出现的次数2.测试3.输出1.一个字符在另一个字符串中出现的次数 /*** showTime 懂得都懂 <br>* param findStr: 要寻找的字符* param fromStr: 可能包含 findStr 的字符串* return java.lang.Integer 次数* see*/private static Int…

小程序快速入门

文章目录一、微信小程序和企业微信小程序相同点和区别&#xff1f;1.1.相同点1.2.不同点1.3.受众人群1.4.核心概念1.5.总结二、开发文档2.1.微信开发文档2.2.企业微信开发文档三、小程序申请&#xff1f;3.1.申请流程3.2.主体说明四、小程序如何线下调试&#xff1f;4.1.调试流…

Serverless在大规模数据处理的实践

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 前言 当您第一次接触 Serverless 的时候&#xff0c;有一个不那么明显的新使用方式&#xff1a;与传统的基于服务器的方法相…

完美日记:实现高弹性高稳定电商架构

公司简介 完美日记&#xff08;Perfect Diary&#xff09;是广州市“独角兽”创新企业——广州逸仙电子商务有限公司旗下首个美妆品牌&#xff0c;创立于2017年&#xff0c;用心为新生代女性开发高品质、精设计、易上手的彩妆及护肤产品&#xff0c;立志于打造有国际影响力的C…

达梦数据库部署多实例

文章目录1. 新建配置2. 赋予权限1. 新建配置 vim /etc/dm_svc.conf添加如下内容&#xff1a; TIME_ZONE(8:00) LANGUAGE(cn) DW1(192.202.xxx.xxx:5236,192.168.xxx.xxx:5236)[DW1] LOGIN_MODE(1) SWITCH_TIME(300) SWITCH_INTERVAL(200)2. 赋予权限 非root用户启动应用使用此…

树形结构递归初始化(父节点,统计字段等)

文章目录1.核心思想&#xff1a;2.核心方法实现&#xff1a;3.完整代码如下3.1. 树形实体3.2. 完整操作1.核心思想&#xff1a; 1.先将每个节点按层级进行分组成map&#xff0c;并记录最大层级&#xff1b; 2.层级自下而上的递归&#xff0c;赋值父节点和统计金额类的字段&…

云原生体系下的技海浮沉与理论探索

来源 | 阿里巴巴中间件责编 | 晋兆雨头图 | 付费下载于视觉中国概述

比GPU性能提升5倍阿里云含光800云服务器正式商用

含光800云服务器&#xff0c;配备阿里平头哥自研神经网络加速芯片含光800&#xff0c;提供全球最高单芯片AI推理性能&#xff0c;有着同类处理器的数十倍性能&#xff1b;并针对业务场景做了深度优化&#xff0c;广泛适用于图像搜索、场景识别、视频内容识别、自然语言处理等业…

阿里研发效能数据知多少

2020 年 3 月阿里云云效平台发布了阿里内部 4 万开发者的研发效能数据报&#xff0c;数据显示阿里代码量和交付表现一路飙升&#xff0c;2020 财年代码行数共新增 15 亿&#xff0c;修改重构代码总行数 4 亿&#xff0c;疫情期间新增代码行 2.9 亿&#xff1b;3 天开发出健康码…

软件设计师 -主观题总结

文章目录1.数据流图1.1.补充外部实体名称1.2.补充数据存储1.3. 补充数据流图&#xff0c;缺失数据流图、起点、终点1.4.选考2.数据库设计&#xff08;ER图&#xff09;2.1.补充中联系关联的对象及联系的类型&#xff08;概念模式设计&#xff09;2.2.补充逻辑结构设计2.3.选考3…

春招抢跑丨腾讯新年放大“招”!超3000+岗位!

虽然离春节仅剩 1 个月的时间&#xff0c;大厂依旧没有停止招人。就在上周&#xff0c;腾讯官宣新年大扩招&#xff0c;放出 3000 多个岗位需求&#xff01;我们查看了腾讯的招聘数据发现&#xff0c;除了大量招聘运营人员&#xff0c;你猜&#xff0c;他们还在批量招聘什么岗位…