7C00.ME/houmu 2012-04-21

机会来了,而我还没有准备好

上周在忙着准备嵌入式系统原理的期中考试(也是期末考试),昨天考完了。总体感觉是,考到的内容绝大部分都复习到了,对于提问的理解没有感到困难,回答也大多没有含糊不清的地方,仅有微量没有复习到的或者记忆略有紊乱的。当然,老师把这门课定位于专业选修课,所以没有在考试上问出特别深、特别难的问题。一周都在忙于这门课的收尾,复习备考之外还有一个大作业,因此这一周,心思都花在这上面了。考完了院里开会,调查每人找实习的情况,则又把因为嵌入式一课而“挂起”的找实习这个任务的“优先级”一下子就提高了上来。

这周,有几名同学收到了微软实习生的面试通知。虽然在考完后,已经清楚自己希望渺茫,但在结果面前,不免还是有些失落。从昨天开始,也有人开始收到腾讯实习生的面试通知了,虽然可能发送通知的时限还没有到,还是有些忐忑。个人感觉,腾讯的笔试难度比微软简单了很多,考完后自我感觉良好。或许,也是我忽略了一个事实,有大量的人和我答的是同一份试卷,我觉得不难,同样的,对他们来说也是简单的。冷静思考一下,自己答卷真的很好吗?数据库的题好像没看出是在考数据库,反而想到了编译原理和其他什么的,而软件工程的题自己对答案也是模棱两可的,尽管不久前还在做一个课程设计的项目,但自以为是承担了主要的编码任务,对于文档和建模什么的都分给其他人了。由此看来,那次腾讯的笔试,成绩真的没有自己考完后感觉的那样好,再次被拒也不要太意外。

最近也在留意BBS和大街网这些网站的实习生招聘信息。现在发布实习生招聘信息的公司越来越多,也就是客观上讲,机会是越来越多,而我却没能感觉到这个命题有多少是适用于我的。就外部因素而言,现在开始招聘实习生的不少企业对应聘者都有尽可能早的开始实习、每周实习不少于三天、能够连续做六个月之类的有求,这对于我(和很多其他同学)是不能接受的,虽然到了大三,但是我们学校、我们专业的课程还是很多的,一周里面挤不出完整的三天用于实习(除非旷课),连续做六个月也很难满足,因为我有考研的计划。另一个因素是,和我们本科生一起竞争的是研究生,和他们相比,我们难有优势可言,能力、经验还有就是时间!这些外部因素,我是没法改变的,即便是做出补偿也是需要付出相当的代价,可取的策略唯有略去一部分选择,放弃一部分机会。

而在由外部因素筛选过的剩余的机会里面,我能把握的又有多少呢?上周投了一份简历给某企业,这周开始受到了一名工程师的电话面试。整个面试,可以说跌宕起伏。起的时候,对方问我我之前做的项目的精力,我用到一些技术,以及是和他们的项目(在招聘启事中有提及)相关的技术,我感觉自己都能对答如流,也确实如此,因为有自己的亲身精力,或者最近在研究的内容。而伏的时候是,他准备问我数据结构与算法,我感觉自己心里飘过一团冷空气,虽然在参加过微软的笔试之后,我意识到了要去“突击”数据结构与算法,但是并没有真正地采取行动,只是在腾讯笔试前夕,临时抱佛脚,找了一些总结性的文章翻了翻。我只好坦白,数据结构与算法这门课,我们是大二上学的,我现在记住的东西不多——这显然是找借口,现在想想,也不知道自己这里算不算是说错话。然后对方让我试试,就让我说说快速排序或者堆排序的算法,还好,这个先前抱佛脚的记忆还剩余一些,把快排的过程说了出来,心中出现短暂的回暖。他又问我算法复杂度,刚刚有所回暖的心,有被冰了一下,就猜了下是不是nlogn,后来查过了确实是nlogn,自己蒙对了。可人家问,是一直是nlogn?这肯定不是,nlogn是平均复杂度嘛。那最坏情况是多少呢?什么时候出现最坏情况呢?我已经感到绝望了。数据结构和算法这部分问完,我回答的已经很糟糕了,而这不是最糟糕的。对方有问我,多态是什么?Java中多态怎么用?Java中的泛化是什么?怎样用?我想这都是最基本的语法题了,可问题是,我虽然在简历中称自己会Java等多种语言,但实际上自己真正学习Java也就这一两个月的事情,也是因为做Android的一个课程作业的缘故,而我在完成Android的作业的时候,都是在“用以致学”,没有去深入学习到多态和泛化这些面向对象的特性,尽管在做开发的时候,已经在不自觉的在用这些特性,比如当在重载一个Activity的onCreate方法的时候就有多态的思想,在用 ArrayList<String> 的时候就有泛化的影子,但是让我当时去说多态和泛化,我唯有无言以对。最后对方问我有什么要问的吗?我一时语塞,面试问题听说过一些,这种问题并不陌生,但亲身经历的时候,也会手足无错。不是所有事情都可以做到“遇神杀神、遇佛杀佛”“兵来将挡、水来土掩”,还是“有备无患”的好。其他的过程就不说了,结果就是没有结果。

我对这次面试仍然介怀,因为我感觉到了当对方在问我之前做的项目和他们目前在做的项目的相关问题(两者是有一定关联的)的时候,那个机会离我很近,因为我读自己的回答是满意的,而我想应该也符合对方的期望吧。而在面对后面那些数据结构和算法、面向对象设计思想的时候,我知道自己在眼睁睁地看着这个机会离去,“有心杀贼,无力回天”。这个机会曾离我很近,而又突然离我很远。大一下学了面向对象程序设计,讲的是C++语言,但之后自己另起炉炤,学起了C#,中间瞅了眼ASP.net,而后对Silverlight入迷了一段时间,也就这样追随了微软一段时间。而后,浅尝了PHP,并用它和MySQL、Ajax、JQuery做了个Web Application,还放到了SAE上,最后撤了。再后来,就是Python和Android了。自己就这样学无定性,一直都是三分钟热度,在浅层技术层面频繁转移,没有对那一门技术真正能安下心好好钻研一番。很不幸,我沦为了“什么都会一点,但是什么都不精”这种状态,自己曾厉判过此,而自己已沦落于此。对于数据结构与算法以及数据库这种知识范畴,我认为自己当初不能认真去学他们的主要原因可能是他们不能像C#那样快速做出一个可见可用的东西。其实就是这么肤浅!

虽然很无奈,但是也只能说,少壮不努力,老大徒伤悲!机会来了,而我还没有准备好.