本篇文章是为了记录这次和同事参加“第十七届‘振兴杯’预选赛”的经过
这次的参赛过程充满了曲折和不易,有学习资源上的,有时间平衡上的,有工作任务上的,总之,这是第一次在工作之后参加这种竞赛类的项目,还是有一些小感触和小收获想记录一下。
1 比赛概述
这个比赛据我所知,应该是在国企等企业间举办的比赛,整个比赛选拔过程应该是先在集团内部的选手中进行初步筛选,之后再报上省赛,之后再进入国赛,然后进入国赛前20的话意义就会比较重大。
整个比赛分的赛道也很广,有电工,钳工,计算机等,而我自然就是参加的计算机方向的。
比赛的题目分为了笔试和实操两个部分,分值占比为3:7。
另外,这届比赛和之前的一大不同点在于,这个是团队赛
2 比赛准备
在比赛之前,主办方会给我们笔试的题库,其中有1000道题目,分为了单选,多选和判断题,由于这次的比赛主题为阿里云的相关操作和应用,所以整个题目的走向更偏向于计算机网络相关问题和阿里云上的相关问题。
在比赛前半个月的样子,开过一次赛前动员会,和我们分享了比赛的题目分布和实操题的大致方向。
- 笔试题目:
15道单选,10道多选,20道判断,2道时事政治。 - 实操题目:
所要编写的程序较为简单,就是一个连接数据库并且能够在前端页面中显示数据库中的相关信息。另外还要考察对阿里云的使用。
3 比赛过程
笔试
上午,进行了笔试,不得不吐槽的,题库中的很多题目是有问题的,对于只过了一遍题库的我,对于笔试题目的把控中规中矩,最后的评分阶段,主办方也是因为对于题库答案的正确性的评判,对最后的成绩做了一定的修正。
实操
最主要的是实操题,它的难点在于,我们对于阿里云的操作的不熟悉,还来自于对于我这个后端工程师的前端页面的挑战。
个人之前只是在阿里云上简单买过一个ECS进行过操作,初尝了在云上的感觉。
真正比赛的时候,第一个题目就让我愣了一下
这VPC之前都是创建ECS的时候,自动创建的,从未手动自己创建过,更别提多个VPC之间进行链接了,我只能依靠我的互联网直觉,在阿里云上暗自捣鼓。花费了大概20分钟捣鼓完了这个网络架构。
之后就是对mysql的安装和tomcat的安装,这两个部分也是有一些小坑。
第一、修改MySQL数据库的用户密码,修改数据库的连接数量,字符集等相关配置。
第二、修改Tomcat中的连接数,连接超时时间等。
这些不搜索真的是记不住cry。
配置好这些基础环境之后,然后就是编程环节:
题目还是很简单的,就是有几个点:
- 前端的编写(没有用过jsp的后端人表示头大, vue也好久没用过了)
- IP地址的获取
- 质数的判别算法
- 总访问次数和单用户的访问次数
- 设计一个中奖效果
以上这几个点,在后端方面的要求都是比较基础的,用户IP地址的获取可以通过调用接口的请求对象来获取RemoteAddr,对于质数的判别需要回忆一下,另外总访问量可以单独存在一张总访问量的表中,对于单用户的访问次数,需要存在另一张用户访问量表中。
后台这里实现完成之后,进行允许跨域的设置,然后就可以正常打war包了。
对于前端是一个老大难问题,因为不熟悉的原因,基本的axios请求的书写规范都忘记了,这个属实是不熟练导致的了,之后就是打包的问题了,需要通过vue.config.js修改打包的配置,否则js、css等静态文件引用不到。
打包完成之后,将文件放在war包中的static文件夹下,同时注意修改前端调用接口的地址为/
,之后就没有什么问题了。
然后就是数据库部署到云上的MySQL中,war包部署在云上的Tomcat中,并且开启安全组中的端口,进行访问。
其他
赛题中,还有一个小点,就是让我们用统一的域名进行访问,这个问题的解决方案,其实主要考察的也是域名解析的顺序,我们知道,计算机在做域名解析的时候,首先会去本机电脑的hosts
文件中进行匹配,我们就可以通过修改本地host来达到目的。
4. 总结
这次的预选赛,总体来讲并不算难,但是由于自己对于个中技术掌握的并不是太熟练,导致最后的比赛结果也并不满意。主要欠缺的是以下几点:
- 在后端开发中的对基础算法的掌握不扎实(平时也是很少用到)
- 对于基础的前端知识掌握甚少,对于简单的nodejs、webpack、postcss等技术只是见过,听过,用过,却从未掌握。
- 对于比赛重点阿里云的掌握太少。
- 对于计算机网络上的技术掌握的不够深入。
但是,也是在比赛中遇见了自己的成长,如果是那个刚从学校出来的学生,可能无法在3个小时的时间内,理清这些东西,但是值得庆幸的是,现在的我,在拿到题目之后,能够很快分析题目中的难点和重点,并着力进行攻克,虽然在工作中还是借助搜索引擎的时间比较多,但还是有所成长的。
总之,是一次不错的经历,如果有其他的类似比赛,还是需要能够准备的更充分一点。
下面附上,简单编程的,简单解决方案,其中没有设计并发:
zxb-front: 振兴杯预选赛前端项目 (gitee.com)
zxb-back: 振兴杯后端 (gitee.com)