计算机专业的学生是否有必要出国留学?为什么?
我认为没有必要出国留学。
一、自己的需求是什么
其实需不需要去国外留学,先要考虑一下自己的目的是什么,我们作为一个成年人做事之前应该规划好自己想要通过自己的行为达到什么目的。俗话讲得好,凡事预则立,不预则废。有一个明确的规划,我们的生活才会按部就章稳步前进。
因此是否出国留学,首先应该弄清楚自己将来想要从事一个什么样的工作,或者说出国留学能够给自己带来什么,在自己今后发展道路上会发挥什么样的作用?
但是就目前的就业形势来看,计算机专业的学生在国内所学的知识基本上已经可以找到一份非常不错的工作,而且现在计算机的发展最前端的技术已经在业界内开始普遍流传,也就是说不需要出国,依然可以学到这些顶尖的技术。
二、留学的成本过高
目前在整个社会环境下,中国留学的成本太高,一方面要考虑个人人身安全,另外一方面在国外物价消费水平都很高,如果自己家庭条件还算不错的话,可以选择出国留学,但是如果自己家庭条件非常不好,这个时候就没有必要出国留学的,因为出国留学的边际成本太高了。
而且计算机专业的学生就业之后,选择一份比较高收入的工作,更多参考的是这个人的技术应用能力而不是学历,出国留学可以在这些工作几年之后再继续进行深造。
三、应结合自身实际情况
其实是否需要出国留学,需要结合自身实际情况来判断,有的同学将来想通过出国留学镀金打造一个留学生的身份,进而帮助自己在其他领域取得更大的进步,那么是完全有必要的,但是如果只是从事计算机编程等领域,那么是没有必要出国留学的。
所以是否中国留学还是要结合自身实际做出符合自己目前状况的选择。
我认为如果你的目标是找工作的话,其实读不读研的差别不大,主要看的是你的技术和项目经历过不过关。当然也不乏我这种因为找不到工作而读了研的人。不过我幸运的是刚读了研就找到了工作,研究生也考的还行。
图片
当然,如果你是顶尖学校的研究生,那肯定是非常加分的。比如你要是斯坦福的研究生,或者CMU计算机专业的研究生,就,你看自己喜欢哪个大厂吧。毕竟,能考到这几个学校就已经是能力最好的证明了。
为什么说在找工作领域,大部分情况研究生和非研究生的差别不是很大(以上那种不予考虑)。工作领域更看重的是能力,学习能力,实践能力等等。你的研究生学历,本科生学历,在简历上只是两行,而你的项目,你的算法能力都是简历中的重点。一般情况下,大家都会问你这个项目是怎么做的,有什么技术难点。而基本不会有人问你的学校怎么考的,你在学校学过什么课程。所以我觉得实践是要比课程更为重要的。如果你在大学阶段就跟着好的老师做科研,做出过一些新鲜领域的内容,自然会让公司非常感兴趣。
图片
我的大佬室友就是大学末尾的时候拿到了美国的某个大厂的Offer。他当时还神秘兮兮的不让我们知道自己在干什么,我们都以为他是交了个外国笔友,要不就是要移民。直到他把Offer给我们晒出来,然后直接去美国工作。后来我从他那里了解到了带着他的导师Justin导师,开始跟着Justin导师一起做了NLP大数据的项目。刚开始做项目,我就了解了Justin老师就是斯坦福的研究生。还记得我第一节课问老师怎么可以进FLAG大厂,结果老师告诉我说等着猎头领英上找你就可以。果然,这就是可以选择自己想干什么的人生嘛。
图片
项目实战中 Justin老师总会把一个点的应用 延伸到不同的热点场景中 这就非常赚了 道生一……生万物
比如Justin老师带我们模拟新闻信息流点击场景,这里有数亿万用户高并发的数据访问。我的服务分分钟就挂了,即使我尝试webSocket调整多线程上限参数,但用户访问也不是持续高或低的,就很无奈实在没招了。
图片
就很服气很好奇Bing是怎么做到的,Justin导师不仅亮出黑科技 还给出背后的考虑与黑盒里的秘密。最后我们将topicGroup挂在kafka broker上,不同用户订阅访问不同topic,这对服务器的访问压力,就平滑过度实现负载均衡了。
同样的,针对数据库表中数据高并发的访问,谷歌告诉我说可以加锁,可我就特别纠结这个数据锁应该放哪里。
直到Justin导师分析说,因为我们这里的数据库访问中,有信息的查看同时也会有更新,尤其是用户对某个新闻的行为偏好信息,单次访问中,是有对该新闻数据的读写操作,所以呀, 我们应该添加行级锁,世界一下子柳暗花明了。
图片
知其然知其所以然,Justin导师可是要比谷歌万能多了。
不仅如此,Justin还抛出万金油的电商场景,这举一反三还跨界,一下子给我问懵了。后来Justin老师耐心的说,因为某个用点击下单,同时影响到商家货物量、折扣,甚至别人没得买了影响其他人的向量,这就得要把整个表都锁了才好。
图片
Justin老师还带我们换一个视角,降维打击,数据库本身也有conectionPool, 它自带threadPool,会对connection排一个优先, 对于每个connection ,都有一个thread来处理;这让我突然想起,算法班老师刚讲过的优先级队列,真是一通百通有点凡尔赛了。
当我真正的做完了项目,才感觉到了自己的能力提升了一大截。我不再是停留在了原来的表层系统的学习,真正的接触到了甚至运用了比工作层面的技术。这些大数据的处理的知识和数据加锁在一般的大学生中都很少见。我刚到美国的第一个学期就成功的凭这份简历拿到Facebook的internship,而且面试官对我的印象也非常深刻。我这个被室友嘲笑过的中式英语能拿到Offer,说明这个项目真的给他们的印象非常不错。
图片
当然,如果你的目标是为了做深层的研究或者想要在某一个领域深入下去的话,我觉得读研是一个不错的选择。这时候如果你可以找到一个很好的导师,很适合你的项目,在这个方向两年的研究一定可以让你的能力提升不少,而如果你在继续读博的话,基本上研究院或者大学教授应该是没有问题的。而且,如果可以在国外读博可以帮你接触到很多计算机领域前沿的东西,而且CMU和斯坦福等等名校都有非常优秀的研究室。如果想要发Paper的话是非常有帮助的。国外的学习其实在一定程度上也可以帮你学会更好的独立生活,在不熟悉的情况下解决问题。对综合能力还是有一定帮助的。
学校和你选择的分支匹配度越高,对将来的就业就越有利。要知道,同样是计算机专业,国内研究生毕业后的起薪会比国外低一些。当然,前提是你在国外读研的学校足够好,专业分支足够有针对性。考虑到有些专业国内才刚刚建立硕士点或者博士点,所以还是去美国读研会好一些。