两个月工作总结(9.22-11.30)
前言
暑假一直在找实习,可是一直碰壁,第一网上找公司,没有经验,唯一去的两家都是培训机构,无奈在家学习了一个暑假。9月初, 暑假结束,我从家里出来找实习,那个时候学校里还是有很多课的(我们这专业就是这么变态),但是我觉得这些课都没什么用,就毅然决定出来找工作了。当时想的无非是,自己在家看书,都是些书本上的东西,实战的还是有缺乏。然后网上就找到了一家公司A,进去面试了,面试官是个干了10年的大牛,算是这家小公司的CTO,笔试的都是些比较基础的,涉及到一些前端的知识点。那场面试呢,面试官考我的也是很基础的东西,首先就是开发环境,我毫不犹豫的说我是MNMP环境,然后他接着问,是怎么安装这些环境的。我就说都很简单啊,就是用Brew安装的,还有Mysql可以下载一个安装包安装。他继续追问,那如果我要安装在一个指定的目录下,怎么办。当时我,一脸懵逼,用惯了Brew,一切都是固定的目录文件夹,确实没有考虑过指定的文件夹,安装,现在想来无非就是编译安装,with指定一下位置。然后他继续追问了一些HTTP的问题,TCP/IP和HTTP的关系,我当时还说错了这两者的依附关系,说TCP/IP属于HTTP,现在想来我暑假那段时间都做了点什么事情啊。再然后就说了点,关于PHP的正则的一些问题,贪婪匹配和严格匹配吧,也没解答好。这是我面的第一家公司,后来面进了,干了两天就不干不了,那个公司只有一个技术大牛,然后前后端一起做,也就是PHP也要干前端的活,还有就是技术氛围太差了。
离开了第一家实习的公司不久,我就获得了一家150团队的中小型公司B的面试机会,去面试前我还准备好好复习一下面试的基本知识。然后第二天一大早我就去面试了,那家公司一进去就是两大排,中间是过道,我看了下给人一种蛮好的技术氛围。进入面试环节,面试官上来看了下我的简历,还是老规矩,自我介绍一下。我感觉每次在自我介绍环节,都是很尴尬的状态,我说我本不是计算机专业,大学读的专业偏硬件,但是自学这个有一段时间了,对技术充满了兴趣。(真的好干)然后就是说一些项目经验什么的,我说项目经验目前还是没有,但是自己做过一个小论坛,博客之类的东西,然后部署在阿里云服务器上,在线上环境,可以给你看下,之后他就略微的看了下。(当时我对我的作品还是比较满意,但是现在想想那东西真不值得拿出手)。面试官接着问了技术的问题,问我关于mysql的Left Join特点和Join 的区别,我就回答了他。紧接着,问了我关于接口和抽象类的区别,我就开始处于模糊的状态,我说抽象类和接口是一个可以继承多个,一个不可以。然后他回答说,想让我说的不是这个点,是使用时候的区别。我答不上来,学艺不精啊。现在想想抽象类和接口确实区别还蛮大的,但当时学的时候没有充分的去分析和总结,这些确实做的不够。这些问题问的都是最最基础的,之后就问了点关于环境的问题,问我用什么编程软件,什么环境下编程什么的…面试结束,对自己感觉只能打70分,我给自己找了个借口是暑假一直在研究C和数据结构,php面向对象和一些myql确实没有深入的研究。但现在看来是不不成立的,这些真的是借口。
但是终究,我还是进了这家公司,进去的时候一共有三个实习生,就我一个是本地的,其他都是江西的,一个已经干了一个月了,另外一个比我早来一天。
刚进来的时候,不知道做点什么,光搭环境就花了一天,公司用的环境是PHP7+Nginx+Mysql5.7+Centos6,就这点东西,我在Win下搭了大半个工作日,还是基于虚拟机的。后来也不知道咋弄的,坐在我旁边的同事HY就和我说,其实我们公司大多数环境都是用Docker的。额…然后又切换到Docker工作了一段时间。
一开始,其实我的项目经理给我的时间是大概两个礼拜适应环境(这是我后来知道的,他们的态度是两个礼拜适应不了走人),其实我压根就不需要这么长时间,因为Laravel框架我早就会了,只需要几天时间回顾一下就可以了,但是我没有主动去接收任务,我研究了下公司的源码,甚至还想看Laravel的源码,研究一下,回头看,那段看源码的时间,确实是效率不高但有花时间的一段时期。索性时间不长,大概就是两个礼拜。然后就被安排任务了,第一个任务是跟着ZHL一起迁移API,其实迁移API怎么说呢,说简单也简单,想简单了就是复制粘贴的事,但我还是有去了解那些业务逻辑的。第一个貌似是一个detail详情的API,做的时候也是糊里糊涂的,讨教了ZHL很久,最终才解决了,有了第一个,下面就得心应手了,接连做了好几个也不费力。之后就是做了一个金融的后台接口,再之后就是举报API了。金融后台因为学校考试的原因,本来项目经理考虑要给其他人做的,我接了下来,以为我想学更多的东西嘛。最后还是赶着完成了这个项目,第一次做这个确实感觉经验很缺乏,很多东西都是中途加上去,边和前端调试变修改的。再就是我感觉做的最失败的东西了,举报的API,听需求的时候,当时因为后台接口和APP接口有点类似,总以为一些需求不是自己的需求,也觉得这个东西很简单,但是做着做着却发现,越做越复杂了,这是我没有想到的,再到了最后要上线的时候,又发现一个功能没有做,这点真的是需求写的不明确造成的。还有就是把一段本来可以写的很简答的代码,复杂化了,我竟然用了一个循环去做,也是醉了,也不知道当时自己这么想的。反正种种原因吧,反正挺失败的,上线也被我拖到了晚上11点,本来预期是9点左右就能上完的。