前几天,我菊花厂的一个小伙伴发消息给我,说他这次技能鉴定搞砸了,程序会崩溃掉,他说他要做好国际惯例的准备了,因为这次部门要求坚决不要出现导致程序崩溃的各种问题。今天我就来说说菊花厂的技能鉴定。
众所周知,菊花厂有一套完整的打怪升级的制度,想要升到相应的级别,首先就要先通过对应级别的技能鉴定。对于我们这些做软件开发岗位,技能鉴定就是上机写程序。我记得我到公司之后,我师父就跟我说,9月份的技能鉴定一定要通过,为以后升级打好基础。我们组的领导也很重视,组织我们几个新来的小伙伴天天做OJ,做技能鉴定的模拟题。其实题目现在来看倒比较简单,都是一些基础的编程题,都是和链表操作、字符串操作相关的问题。
我依稀的记得考试流程是这样的:
- 考试一般都会安排在周六上午(菊花厂哪能让你占用平时的时间)九点开始,开始考试之前退出所有的即时通讯和无关的软件;
- 用自己的工号登录一个页面,下载考试试题和VS工程。考试试题是以PPT的形式发下来的,告诉你要实现的功能,参数的范围,和一些简单的说明。VS工程把程序的函数接口写好了,你只需要实现相应的函数,和网上的各种OJ特别像,工程中还有2~3个简单的测试用例。
3.实现完工程中的接口后,先用工程中自带的测试用例和自己编写的测试用例验证一下,感觉没问题后打包上传。
4.整个考试的时间是4个小时,超过4个小时后,每过5分钟扣一分;
5.成绩是由后台能通过的测试用例数来决定的,好像是一共20个测试用例,每通过一个得5分,如果中间某个用例造成程序崩溃,整个成绩是0分;由于工程中只自带23个用例,所以你要根据题目的要求,自己写一些本地的测试用例。成绩一般在考试后23周内公布。
我当时做的题目是什么我忘记了,只记得我是用递归实现的,虽然用递归比较占用资源,但是实现其实比较简单,代码也会显得比较优雅。虽然我只用了两个小时就把题目搞定了,但是总是担心测试的不够,写了很多测试用例,导致时间快到时才慌忙打包提交,并等了一会小伙伴,导致超时了十几分钟,最终的成绩好像得到了98分,相当于满分,只是超时扣了两分。
总得来说,较低级别的技能鉴定并不难,可是由于在菊花厂,大家忙着写一些业务相关的代码,对算法的使用并不多,所以每次都会有大量的同事技能鉴定通不过,就也导致了很多同事想升级也升不了。至于这种制度有没有用,我也不知道。也许用途并不在于要提高大家的技术水平,而是让领导在分配有限的升级名额时少费些脑筋吧。