参赛规则与常见问题解答,腾讯云账号实名认证必知事项

2024-07-21
来源:网络整理

尊敬的参赛选手:

大家好!技术团队针对玩家提出的问题进行了解答,内容总结如下。目前的问题解答非常全面,如有疑问请仔细阅读下面的Q&A,文档内容也会实时更新给大家。

考虑到比赛的公平性和比赛的意义,比赛期间技术团队将不回答与分析和具体细节相关的问题,希望大家能够理解,祝各位选手比赛顺利,加油!

1. 比赛规则/违规行为:

Q:我的腾讯云账号未认证,还能参加比赛吗?如果可以参加,能补领代金券吗?

A:

1)未进行实名认证将无法领取活动券参与比赛或提交初赛成绩。

2)实名认证可在初赛截止时间内随时进行,建议不要将实名认证推迟到后期。

3)代金券不再补发,前期我们已多次提醒参赛选手在规定时间内完成实名认证即可领取代金券。

4)未进行实名认证,比赛结果无法正常提交。

Q:如果我提前把int范围的ID与的对应关系保存在一个文件中,然后跑测试的时候直接读取这个文件中的ID与的对应关系,这样算违规吗?

A:是的。试运行程序必须完成所有功能。提前计算对别人不公平,所以算违规。您可以在试运行过程中计算,然后导入。

Q:我有一个关于一个工具使用的问题,最近在思考如何提升性能,看到这个工具的介绍后,虽然之前有帖子回复说这个工具不能直接用,但是我再次想问一下,能不能把这个工具装在压缩包里携带,用它的模式在本地处理文件?

答:不允许。

2.测试/评估:

帮助理解日志

【重要】评审规则补充说明(已发布竞赛公告并配置竞赛主题说明):

参赛选手将源代码及其依赖的代码库(不允许使用.jar文件、.a文件、ELF可执行文件等编译后的二进制程序和库)压缩成zip包提交至评测系统。

1.参赛选手必须提交自己编写的代码的源代码。

2、若上传代码引用了第三方库(如java jar库文件或者C++ .a文件),则需将下载的第三方库文件与提交的代码一起打包提交。若选手对第三方库进行了修改或重新编译,需提供源代码。

以上第三方库都是开源的、可下载的、可追溯的、可验证的库。

3.上传的代码中不允许包含ELF可执行文件。

附录:文件压缩示例

1)选择文件压缩

2)压缩后

3)重命名.zip

Q:什么情况下会出现kill、run不发生的情况?

使用C++编写,可执行文件已命名为run,查看日志发现迁移程序已经开始运行,但是还是出现kill的情况,请问什么情况下会出现kill的情况?

A:kill表示运行程序没有运行。

Q:日志有大小限制吗?超过这个限制程序会被kill掉吗?

A:日志大小限制为,超过这个限制的话就看不到日志了,只能看到小于这个限制的日志,而且程序不会被kill。

Q:评估平台上没有数据盘/mnt/,如果我想使用SSD盘作为临时文件目录,应该放在哪里?

A:两个磁盘没有区别,当前路径没有问题,空间足够。

Q:评估需要多长时间?

A:评估时间统一限制为100分钟,超出则视为失败,失败原因可在日志中查看。

Q:测试数据的相对路径如何设置?

A:如果是自行测试,可以自行设置路径,如果是提交给主办方评测,需要获取数据源路径,参考示例demo。

问:实际测试数据的目录结构和给定的测试数据的目录结构完全一样吗?

A:目录结构类似,具体请参见比赛说明。

Q: 代码运行环境支持pip吗?

答:不支持。

Q:多个来源都是在线评估的本地环境吗? 有可能它们来自多个外部服务器吗?

答:初赛只有一个数据源。

Q:make.sh 可以配置系统环境吗?能用 apt 安装依赖吗?比如不访问网络,修改 /etc/.conf 中的内核参数,优化内存管理,或者创建文件,创建 swap 虚拟内存等(需要在 CVM 机器上有 root 权限)

答:播放器代码在非root用户下运行,所以没有root权限。

Q:连接数据库需要玩家自己寻找第三方jar包吗,还是官方提供相应的SDK?

A:您可以自行查找。另外,请详细阅读赛题中关于评分规则的补充说明。

Q:测试的时候,不会提供程序运行日志给我们做相关分析吗?

A:评测提交至主办方评测系统后,将会有成功/失败的下载日志。

问:我可以在评估机上使用编译器吗?

A:默认不提供编译工具,具体请参见评估规则补充说明。

Q:Java编译,测试机上有什么工具,路径在哪里?

A:java-1.8.0-,java-1.8.0--,该路径为默认路径。

问:测试服务器的配置是怎样的?内存和CPU配置如何?

A:4c/8g图像.5,建议与评测环境保持一致。

问:没有数据集?如何检查我的答案是否正确?有没有正确性的自测代码?

A:测试数据集和自行搭建测试环境的示例已提供给参赛选手,参赛选手可自行测试或将答案提交至大赛官方评测系统,评测成功/失败均会有日志反馈。注:每队每天可提交2次评测,结果需在PC端“我的成绩”页面(登录后可见)查看。

问:对于 Key 'id' 't in '4',表 4 中是否一定要有索引 id?问题给出的 SQL 语句中没有这个索引。

A:测试集和实际数据集存在差异。

Q:实际测试中的表结构一定和测试数据中的表结构一致吗?还是有可能不一样,需要根据.sql来判断?

A:测试集和实际数据集是有差异的,表的数量是一样的,但是表结构不一样。

Q:测试机上有没有一些基础的库?比如最基础的 sys、os 等库,这些库也都打包好了么?

答:是的。

问:评估环境的规格是什么?

A:请仔细阅读竞赛题目,里面有详细的说明,目标实例为分布式实例,版本8.0,2个分片,单台规格2C4G实例,容量100G。

问:评估采用强同步还是异步测试?

A:强同步。

Q:测试数据总是从1开始逐渐增加吗?

A:是的。这类问题并不直接有助于解答。

Q:如何查看播放器代码添加日志?

A:选手需要将日志输出到标准输出,评测程序会将选手的日志重定向到make.log和.log。

3. CVM/实例

CVM 优惠券使用指南:

问:会提供 CVM 吗?什么时候提供?

A:主办方提供的CVM代金券将于12月22日至27日期间发放,同时提供购买说明。

问 1:正在审查哪种类型的 CVM?

Q-2:您能提供和测试环境一样的服务器环境供开发使用吗?

A:针对上述Q-1-2问题的统一回答是:运行代码的CVM机器规格为4C8G,与目标数据库实例在同一个可用区,系统盘容量100G,数据盘容量100G。

Q:测评时云服务器的系统镜像ID可以公开吗?系统会预装哪些软件和动态库?

A:主办方评测cvm使用的系统镜像是.5,系统预装了赛题支持的基础语言包,C/C++版预装了gcc4.8.5,C/C++版预装了gcc4.8.1,A/C++版预装了gcc4.8.2。

问:测试的机器对机器带宽是多少?

A:带宽足够。

4. 合并

Q-1:竞赛题目是说我们只需要合并来自不同来源但具有相同数据库和表名的表,还是需要合并来自不同来源和不同数据库的所有具有相同名称的表?

问 2:实际测试数据是否来自两个来源,或者可能有多个来源、三个或更多?

Q-3: 测试数据中各个表的主键不一样,合并后主键该如何处理?

Q-4: 是否应该将所有本地表合并为一张表并写入其中?

Q-5:目前提供的测试数据有两个数据源,每个数据源有七个ag,每个数据库有1-4四个表。按照我们的理解,所有同名表的数据,不管来自哪个数据源,都应该按照要求聚合合并到目标数据库中同名的表中。这样对吗?还是应该将数据和数据分别聚合到不同的目标数据库中?

Q-6:这次合并涉及多线程吗?

问 7:我需要将数据库表数据合并到目标吗?

A:上述Q-1-7题统一答案为对应表与对应表合并,即两个源中同名的表进行合并。例如中阿数据库的表1与中阿数据库的表1合并,中阿数据库的表2与中阿数据库的表2合并。具体合并规则请参考比赛说明。

问:/ag 是固定的吗?还是只是个示例?评估期间我需要遍历所有文件吗?

A:题目和测试数据都是示例,初赛只考二合一,即只能有两个源,每个源最多有 7 个数据库,每个数据库的表数不限。

问:这就是这个问题的目的吗?

小程序开发需要多少时间_开发的程序_程序开发需要多少钱

A:是的,是直觉意义的融合。

Q:输入能保证不同源实例中同一个库表结构是一样的吗?

A:保证。同一个库表的结构是一致的。

5.主键:

Q:当没有主键时,是否更新字段还取决于它是较新还是较旧?

答:是的。

Q:主键真的有必要吗?昨晚测试了SQL环境,没有处理直接建表,然后批量检查了各个表的数据,结果没有任何异常。

A:请参考题目中的说明,若题目没有说明,不建议主观臆断。

Q:无主键时,只更新该字段是什么意思? 保留最新? 直接覆盖?

答:保留最新的一个。

Q:数据文件中的数据是否无序?例如,如果有两条数据的主键值相同,那么它们在文件中的顺序与字段的值有关系吗?第二条数据一定更大吗?

A:后者不一定比前者大,如果题目没有明确说明,就不要做类似的假设。

Q:实际环境中key变量的值是什么?因为有的表是没有主键的。

A:实际环境为OFF,自检环境需要手动修改。

Q:目前有一个表没有主键,但是这个表必须有主键,我没有足够的权限去修改参数,所以无法创建没有主键的表。

A:自测实例可以在云平台数据库管理—>参数设置中自行修改,主办方评估环境已处理完毕。

6.网络:

Q:网络延迟怎么样?我在本地测试了一下,延迟300毫秒,影响性能。我并发28个表,10分钟写了28万条,感觉有问题。

A:网络问题不用考虑,建议用同一可用区的CVM测试,网络延迟很低,本地测试不作为参考。

Q:错误日志说需要通过VPC网络访问,如何访问?

“为保证数据安全,目前仅提供内网地址,地址有效期15分钟,过期后请刷新页面重新获取,请在VPC网络内访问VPC网络地址。”如何访问该日志?能否通过ssh登录服务器?

A:您可以查看自己代码中添加的操作日志来代替这个。

七、其他

问:我们需要开发一个完整的初赛数据迁移吗?还是只要支持部分语句就可以了?

答:需要完整的迁移程序。

Q:我可以直接用JDBC操作数据库吗?可以吗?这里有SQL接口文档吗?要用腾讯的SDK来操作数据库吗?

A:具体请参考测评规则补充说明,按照官方界面操作即可。

问:表名区分大小写吗?

答:不敏感

Q:可以发官方接口文档给我吗?我可以用它来管理包吗?

A:你可以自己找找,没有提供。

Q:可能是什么原因?.log 是正常的。.log 可以添加时间吗?

A:经过机器环境测试,日志比较清晰,我们会尝试解决问题。

问:该过程会将 set1 和 set2 中的所有数据都取出进行验证,对吗?即使某个表中的数据只存在于其中一个集合中,也可以吗?

A:我觉得你的理解有些偏颇,验证只是验证最后的结果集。

问:如何解决精度损失问题?数字 10.5847 写入时变为 10.1352

A:这是需要玩家思考和解决的问题。

Q:示例中提供的建表SQL文件有些好像没有指定键,按照它建表会报错,自己添加主键又跟原始数据不匹配,请给个解决办法。 A:目标端可以建表,得想办法。

问:日志的每一列代表什么意思?

数据

:数据为:e10 172.16.0.105 19 0 NULL NULL

:数据为:e10 172.16.0.161 6 0 NULL NULL

:数据为:e20 172.16.0.105 19 0 NULL NULL

:数据为:e20 172.16.0.161 5 0 NULL NULL

A:这是评价系统的日志,看不懂的话可以忽略。

问:给定的目标机器上的 SQL 账户是否具有访问权限?

A:目标实例的账号权限在问题中已经写清楚了,请您仔细阅读问题。

Q: Go mod 异常?go: /go-sql-/@v1.6.0: /go-sql-//go.mod at v1.5.0: v1.6.0

能否提供一下评估环境的git版本以及go env配置参数?因为这个异常已经浪费了4次评估机会!!!

A:不提供外网访问,不支持git,go只支持1.15版本,go env配置参数都是默认配置。

问:如何区分系统盘和数据盘?我没有看到任何给出的挂载路径?

A:数据盘挂载路径为/mnt/。

问:- 应该兼容,对吧?这意味着我可以使用普通的 +(例如 cpp 下的 - )进行早期调试?

答:是的。

问:我可以使用 Rust 来做到这一点吗?

A:不需要。Q:Java开发时,应该用专用的JDBC驱动还是内置的驱动?A:内置的就可以,8.0以上。

问:如果您使用驱动程序,您使用哪个版本?

答:对于Java,必须是8.0或以上。

Q:如果使用v8驱动,在jdbc连接字符串中必须指定目标数据库名,本题的.sh参数中没有这个参数,如何指定?还是测试环境数据库名是固定的?如果是,是什么?

A:可以指定自带的默认库,不必在.sh中添加,可以在程序中添加。

Q:目标数据库中是否已经创建了对应的表,还是需要自己使用sql文件中的语句在目标数据库中创建表?

A:您需要自己创建一个表。

Q:请介绍一下C++相关的编译环境,比如版本,make,GCC/版本等。

A:根据选手的反馈,为了让选手有更好的体验,技术团队配置了2.8.12版本、make 3.82版本、gcc 4.8.5版本。

Q:8.12 太旧了,是 8 年前的版本,能提供高一点的版本吗?很多库还是编译不出来,比如最低要求版本也是 3.1 以上

A:不可以,目前只提供-库。请换个思路,尝试其他方法。

问:比赛题目会进行分析吗?是不是就是把多个来源的数据复制到里面,然后看谁用时最短?

A:比赛期间不会对赛题进行详细的讲解,赛题评审规则主要以公布的赛题说明为准。

问:源数据文件和结构在哪里提供?

A:主办方已为参赛选手提供了测试数据集,您可以通过登录账号下载。

问:Java 是否只能在 1.8 中使用?我在 pmem 手册上看到只有 v10 支持 pmem,那么是不是意味着我不能使用 Java?我需要使用 IDEA 来编程吗?(我有点困惑,因为我读的手册只说它需要高于 10 才能用作堆,所以如果不是用作堆,也许 1.8 也可以)

A:Java现在只有1.8,而且pmem也是决赛圈才用的。

问:Java 语言的限制:是否有评估环境?是否可以使用它来管理依赖项?

A:默认不提供编译工具。

Q:-的版本是什么?

答:--5.5.68。

Q:迁移数据到实例时,云服务器上的数据库和表是否已经提前建好?

答:云服务器是指实例,而不是预先构建的服务器。

Q:SQL文件的格式有保证吗?能保证一个SQL文件只包含一条语句,并且格式固定吗?样本都是差不多的格式,最终的评测数据集会不会包含多条或者几条语句,比如,,?

A:SQL文件中的SQL语句正确,在服务器和实例上都可以执行。文件中的SQL只包含当前表的建表语句,没有其他内容。具体格式请参考测试数据集。

Q:有make吗?测试环境是什么?编译器是什么?版本是什么?

A:make版本为3.82,测试环境请参考比赛说明。

问:本次比赛允许我们使用文件加载的方式导入吗?

A:目标实例的这个设置是关闭的,所以不能使用加载数据。

Q:提供的结构体不包含创建语句,那么我创建的时候是否一致?

A:分布式数据库造成的差异不在验证范围内。

Q:原理是检查表的.ibd文件吗?

A:将两边的所有数据分段读出进行CRC校验,保证两边的数据和结构完全一致,忽略分布式系统带来的差异。

Q:如何解决数据精度问题? A:浮点数需要以尽可能高的精度写入数据库,数据库遵循一定的浮点数国际标准,IEEE-754。但是浮点数的读取、显示、存储可能存在一些特殊性,浮点数的处理也是一个考点,浮点数会以字符串的形式进行验证。

Q:为什么无法在/mnt目录下创建文件? A:提交的代码是在非root用户下运行,指定了路径,无法访问其他路径。如果要创建文件目录,请在当前路径下创建。

问:比赛是否需要更改配置?或者我可以更改影响插入性能的数据库变量吗?

A:配置参数不允许更改,都是默认设置。

问:做评测的时候,需要自己想办法获取吗,还是有办法直接获取?

A:即为目标实例,无需拉取。

Q:关于PMEM在线公开课程。

A:录音文件:

访问密码: 文件:

分享