EE半路出家近期找CS实习感想,另求讨论CS看个人天赋还是可以熟能生巧?

11377
19
想了想还是发在找工版吧,如果版主觉得不合适就移到EE/CS版好了。
我在美国的中西部一个college级别的小学校读EE的master,但来了以后顿感EE前途未卜,于是我强行选修学校的CS本科生的课(这里的CS还没master program囧),主要是数据结构和操作系统,其中数据结构两个instructor的两个版本很不一样,没有Assignment是相同的,于是我把这两个版本各上了一遍。结果还因为狂修CS本科生的课导致少选了EE研究生课程被学院警告了。可见我是一心想转行当码农了。
说到找实习,学校小地理位置又偏,两岸的大公司都不来,CS这边唯一来的大公司就是Microsoft了,别的只有个别Groupon级别的,多数都是当地的小公司,帮别的行业作作咨询写写网页,找的人数也在各位数。3、4月份开始网上海投大小公司,当然几乎全军覆没,一方面可能已经投的晚了(早点招话怕自己没准备好),另一方面简历可能也不突出,不知道ECE这个专业名字是否也带来一些障碍。
终于好不容易,有个加州的startup——叫Rapleaf, 居然对俺在官网上投的简历有回应了,于是乎接受了一轮online test,两轮电面,和最后一轮编程project的轰炸。他们的题目都不简单,只不过由于几年来都问一样的问题,俺自然在glassdoor上备足功课,佯装思考然后沉着作答。可是,一旦问题更为深入,立马还是慌了。典型Sample问题如下:
如果我们要研究imdb整个数据库内任何两个演员间的degree数(所谓比拟六度理论的degree,俩演员在同一部电影视为他们之间degree=1):(me:演员么就是node,在同一电影视为有edge相连。edge cost为1,作BFS即可)。如何优化?(me:佯装沉思打岔扯heuristic,过会儿提到glassdoor正解:从两头同时作BFS)。那如何选择哪头扩展?(me:选queue里node少的一头呗)。那是一边扩展一个node,还是扩展完一整level再比较queue大小?(me:这个。。。一个个node扩吧。。。)这样会mess up BFS么?(me:额。。。貌似会啊。。。不好意思,应该一个level一起expand,否则就是不是BFS了)为什么就不是了?(me:额不好意思,好像又搞错了,应该不会有影响的,又不可能跳level。。。还是一个个node expand吧。。。)
就这样被我连蒙带骗撑到最后一轮,让俺用Ruby写个blackjack game给他们发过去。去Github上看到以前应聘的人写过的一些,尼玛七八个class,一堆extra feature,直接搬过来改都不行,看都看不懂。终于struggle一个通宵一个下午加两个晚上,解决了n多bug,终于交了working code(好吧start code还是基于一个网上最简单的版本的,但还是加了很多required功能的),并且第一次用Ruby感觉还蛮好的。刚过去的周末做着去旧金山大玩Hadoop/MapReduce的梦(这公司搞Big Data/Data Mining的),最终等来了拒信。估计因为最终的程序还是太不impressive了,我只写了两个class,非常的伪面向对象,反正是只有功能实现的屎代码。
与此鲜明对比的是俺在春季的Career fair上打酱油时,随口问了句这里中西部的一家EE大公司乃们还有木有intern(这家巨喜欢找我们学校的人),于是他们说快没了还有一点点回头你丫发个简历给我。然后我发了,然后没有回音,然后被这个加州startup狂虐,然后。。。那家大公司直接给email说给你offer了你来吧。。。
刚拿到那会儿我还纠结呢Rapleaf要是也给俺俺怎么挑呢小公司但是学东西啊。。。然后就给我拒了,于是就不用挑了。。。
反正这两天是挺感慨地,所有人都说CS好找工作,也许我是半路出家才code了半年,也许学校规模和地理位置不给力,也许早些时候信心不足投的太晚,反正这找CS intern的经历于我还是有些沮丧。好在最后的intern还是software职位,弄弄Device Driver和机械自动化业的一些通信协议,也不算太糟。但我感觉我还是喜欢pure CS的,但另一方面,直到现在也觉得自己在逻辑思维方面太慢,尤其和这里一些freshmen美国人都相去甚远,人家也就去年入学开始正式学编程啊。。。
所以我也在想,CS行业是不是也是需要smart enough人才能胜任的行业,而不够smart的人,是不是就总需要花比别人多很多的时间靠熬夜才能完成project(就像我这两学期反复遇到的情况),如果真如此,对身体岂不是摧残甚多。。。虽然我经常安慰自己说自己只是起步晚而已,但看看别人,真的压力很大。。。学到现在,CareerCup上的题目基本都还是很少有思路,不去查solution都无从入手。quicksort/mergesort算法学几遍忘几遍隔断时间就要把伪代码看一遍才回忆起来,如是等等。虽然一直常把进Google/Facebook作为梦想挂在嘴边,如今看来Full time时恐怕依旧难度重重。
废话太多了,不应该把很多消极情绪带入,诸位高人自动藐视我。。。只是想听听大家的看法,coding时间再长点,是否终究能熟练起来,而工作后可以不必像学习时那么累?地里EE专业转CS的,或者顶着EE牌子找CS工作的应该也有不少,你们感觉如何?
  • 9
19条回复