总结笔试前事故

事故开端

笔试前一天,即推介会结束,也是本次秋招报名截止时间,需要将报名入口关闭并整理报名信息。
考虑到招新后端以及查看招新状态的页面都是我负责的,我认为这些代码我比别人更熟悉,因此做这些工作的负责人毫无疑问是我。整理完报名信息就需要根据手机号码发送短信通知新生笔试时间以及考场了,于是便在研发组群里询问了之前招新的做法,了解到之前招新是手动发送短信并只需要回复姓名及是否参与笔试即可,但是今年显林叔提到可以通过另外一种方式:做一个页面,用来确认是否参与笔试,而在短信通知里挂上这个笔试确认的链接。考虑了一下,觉得后者也可行,而且省去了人工统计的繁琐,但唯一一点需要主要的就是能不能在这段时间做出这个东西。

面临选择

到底是按去年的来然后人工统计呢还是用一个页面来确认是否笔试呢?

后来我被后者吸引了,做一个页面而已,只需要一个请求,很简单,即使是后端也能轻易完成,哪怕是只有一个晚上的时间。于是在笔试面试的群里提了一下,并且跟胡悦和林心怡说了,高度自信的情况下直接一句“没问题,剩下的都交给我”。
这个时候推介会还没有结束,我需要一个前端,做确认笔试的页面,当时我首先找了坐在我后面的刘逸文。但是推介会很晚才结束,回到机房也9点半+了,在她离机房而去后,想了想,11点钟就停电了,她前几天因为推介会游戏已经够肝了,难道今天还要让她熬夜?于是让她好好休息,我一个人能完成。这个时候我已经打算好了在机房通宵了,不是功能很难,而是为了确保无误。

机房通宵

晚上在机房刚好也遇到邓文浩,他就陪我一起在机房睡了。
于是开始做页面,当时还没有很清楚所有任务的规划,但是我很自信能够完成,因为一个夜晚是时间绝对够了。
我自己写页面肯定会丑的,于是乎,让邓文浩先用PS搞一下页面。
这时候显林叔来了,看到这个界面不禁提了点意见,但是越谈越深,后端也和他商量了一下,甚至把之后面试通知的形式也谈了一下,结果就安排他去做页面了。
当时整个规划已经出来了:
1、把提交页面做好并放到2018freshmen.ncuos.com/confirm
2、设定两个请求,一个GET一个POST,GET用于获取当前新生的录取进度,POST用于提交笔试/面试确认信息。
3、整理报名信息,删除无用的报名信息,通过人数平均安排到每个考场,生成每个考生的确认笔试信息的短链接
4、反复测试
结果我把除页面以外的内容都做好的时候已经是4点~5点了,但页面还在做。我特别担心出问题,虽然python写起来已经够自信了,但还是不敢睡觉,因为和运营约好第二天8点就要发通知了,这回一定不能出问题。

事故发生

页面已经写好了,并且已经按照正常的流程部署到了Nginx上。
但页面却怎么也打不开,打开就是一个白色没有任何内容的页面。
于是事故进入了极度紧张的环节。
这个问题排查了好久,但似乎任何解决方案都没有效果,我因为也不太懂前端,根本帮不上任何忙。
就这样,到了中午11点多了,还是没有结果,而我,丝毫没有想到另外的方案,而是死死相信能够解决目前的问题。
行政告诉我12点前必须发送短信通知,此时我还打算用jQuery快速写一个页面先扛住,硬是拖到了11点40,我彻底觉得没有希望,于是还是退回到了第一种方案,没有确认链接,让考生回复姓名来确认考试。

事故原因

1、首先应该是前一天的选择问题,当时时间太紧,按照以前的经验,写这样的页面也是难免出bug的,我要是选择按照以前的做法来,也不需要熬夜做这些工作了,也不会出现任何问题。
2、接受这一任务的时候没有考虑风险以及风险解决办法,我应该过早的意识到这个方法在这次招新根本不可行,然后赶紧切换回另一种方案,这让我感到自己很不灵活。因此我认为做任何事情都需要考虑风险。
3、对Nginx、前端页面的部署不够熟练,这反应了我的技术过于局限。

事故影响

1、用脚本发了短信,而可能由于发送短信频率没有控制好、考生手机号码填错、或者短信平台本身的问题,许多短信没有发送出去(发送失败),招新群里的新生们倍感焦虑。
2、笔试许多人没有到场,可能是因为通知较晚,很多人没有安排好时间。
3、因为通知的延后,导致更多新生焦躁不安,影响新生对工作室的印象。

将来怎么做?

1、在工作室这个大团体做事情,需要按照工作室的办事流程。
2、我们需要一个完整的产品,负责招新的每一个过程。
3、做任何事情考虑风险与后果,以及时刻准备启用备用解决方案。
4、项目绝不可拖拉。

你可能感兴趣的:(总结笔试前事故)