3

【闲聊】写给毕业生们的一些话

 3 years ago
source link: https://www.cnblogs.com/tcjiaan/p/3754811.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【闲聊】写给毕业生们的一些话

【更正:把薛宝钗的“薛”打错了,多谢热心网友提醒。】

最近,我以前为娱乐而建的QQ群特别多新成员进入,根据我多年来练成的敏锐的直觉——又是一年毕业季。现在的学生很有个性,平时不慌不忙、斗鸡玩狗的,一到了临近毕业,就变得“勤劳勇敢”起来了,莫非是想在大学的最后时光里,给老师和妹妹们留个好印象?

他们拼命加群,四处跋涉各种论坛,不为别的,就是为了毕业设计和答辩。其实我真想问一个很搞笑的问题:你们上大学是不是为了交学费的?

毕业设计建议各位还是自己完成吧,这是你步入社会之前最简单的任务了,若是到了真实的工作生产环境,恐怕比毕业设计、毕业论文难上几千倍的任务都有。大学生们总天抱怨说用人单位怎么那么喜欢歧视大学生毕业生呢?是啊,我也有此问,我当年也是万思不得其解,可是,当我挥手告别了母校,不留下一片云彩,开始了丰富多彩的社会与职场生涯后,尤其当我们坐在办公室里,面对着来面试的应届毕业生的时候,我忽然明白了。看来,这不是谁歧视谁的问题,应该说是谁不争气的问题。

记得有一次,经理让我去接见一位来面试的应届生。小伙子上身穿着鲜橙色的T-恤,下身穿着牛仔裤,其打扮有些抢眼,我要是妹子的话,估计有点心动。可惜我不是妹子。我心里想着,这家伙这样斯文,想必学识不凡。但愿他是我想要招的人。

很多人说在面试的时候会特特的紧张,本来可以表现得很出色的,就因为紧张反而弄得不伦不类。我也很理解这种情况,毕竟是还没出校园的人,也属正常。因此,我先跟他出去后花园走走,说一些与工作无关的话,回到会议室,我还给他听听轻音乐,让他在那里玩玩电脑,然后再开始面试。

问题是,那小子真让我失望,但又让我佩服。还没等我问问题,他就自我陶醉了,真是“春风得意马蹄疾”啊!滔滔不绝地向我介绍起他在大学期间的“丰功伟绩”。组了多少人一队玩反恐精英啊,玩《诛仙》有多么执着啊,为了达到游戏最高境界,茶饭不沾,跟得了相思病一样疯狂。我就纳闷了,咱们公司是开发ERP的,又不是做游戏开发的,说这些做什么?

等他报告完他“曾经的辉煌”后,我就问:你简历上说,C++/C#/PHP都学得不错,正好,我们这里有个问题,一直悬而未解,今天你要是解决了,我不仅同意录用你,今晚请你吃饭。

我接着说:“是这样的,我们这个系统是分了开发层和再开发层的,也就是说,有一部分代码是我们编写的,但有一部分代码是动态生成的,知道吧,就是用动态编译。我想你应该知道CodeDom吧,就是System.CodeDom和System.CodeDom.Compiler两个命名空间下的类做的,我就想这样:根据不同的报表要求,让设计人员在窗口中填入成员名、类型等信息,提交后会生成一个类的代码,代表这个报表的信息,这些生成的类都会实现同一个接口,这样不管后面增加多个报表,什类型的报表,都能在窗口中动态显示,我们就不必去修改报表窗口的代码了。怎么样,这个任务不难吧,源代码我都准备好了,你去那台电脑上动手做做,那里有空调,很舒服。待会我叫小妹妹买点好吃的东西给你吃,去吧。”

这当然不是我们公司的项目,我也不可能说这么功能就做不出来,我只不过特特地找个理由,试一下他的能力是否与简历上所写的符合,顺便考核一下他的诚实度。我叫妹子买东西给他吃,是想观察一下他待人接物的修养;跟他说明那里有空调,很舒服,我是想看看他是不是一个贪图享乐的人。其实那些代码我是早准备好用来面试的,我不直接告诉他,那是面试题,只说我们公司遇到的困难,以激发他的潜能,让他有实际表现的机会。

过了一会儿,我过去看了他一下,只见他在那里猛翻MSDN文档,用鼠标滑轮在“对象浏览器”窗口中不断上下滚动。我故意不作声,也不理他,看他后面怎么表现。谁曾想那小子竟坐在那里发呆,明明自己不会,又不好意思请教旁边的人。

我想问问各位读者,如果公司让你负责招聘,你遇到这样的应届生,你会怎么想?

我当时想,这可能是个例吧。毕竟任何类型的学生里面都会有差生。

第二天,又来一位帅哥来面试,他说是昨天那位穿橙色衣服的帅哥的同学。可能昨天那位同学回去把面试题告诉了他,今天这位仁兄,看起来特有信心。然后我也用同样的方法,当他坐在电脑前,可能他想着我又让他写CodeDom生成代码的,他昨晚估计临时抱了一下佛脚。其实,我早把题目换了,这回我的面试题目是:写一个程序,把一张Excel表格中的数据转为XML,然后调用一个Web服务,把生成的XML上传到服务器。估计他还想着CodeDom的事,看到我给他的题目,他有些意外。我说:“Web服务是现成的,上面给了你URI,你直接引就行,引用后你调用uploadSomeData方法就行了。不作其他要求,你只需要实现题目中的两个要求:转XML,上传XML两项就行,我提示一下:uploadSomeData需要一个byte[]类型的参数。”

谁曾想,这家伙也在那里摸了很久。我就问他:“你在选择方向的时候,不是选了.NET方向吗?应该也学了两年吧。这个你不会吗?”他反问我一句:“Web服务怎么引用?”我当场晕倒,连后面坐着的妹子也忍不住笑了一声。

我真心地希望,不管你是面临毕业的大学生,还是刚上大学的新生,我真诚地希望,你们不要像我以上说的那两位仁兄那样,那个样子,你叫我怎么录用?

下面说说面试紧张的问题,可能这个与心理素质有很大关系,学习不要只顾着单向学习,学会怎么做人,怎么做事也是一种学习,更是搞好学习和工作的基础。大学几年,我不相信没有学习的时间,就算你报名参加了不校的所有社团,所有学生会部门,我就不信你忙得连学习的时间都没有。学生之所以叫学生,就是你要过好你的学习生涯。不要再找任何的借口来逃避学习,你这是在跟谁过不去呢?倒头来不也是跟自己过不去吗?何苦呢。

面试紧张,可能还因为未知的因素太多导致的。比如去什么百度、腾讯、(250+110)、迅雷等所谓大企业面试的时候,就特别紧张,是有这样的经历吧?也许你们紧张是因为你们总觉得那里面的人很厉害,自己半斤不着两的,哪能跟他们比?是不是你们都这么想的?所以在面试的时候,总是很担忧。唉!担忧有什么用?该来的总会来,是福不是祸,是祸你躲得过吗?

我实话告各位,那几个公司里面的程序员没有你们想的那么厉害。其实他们的水平跟你们差不多,他们只不过有几个知识点比你们掌握得要好:

1、他们比注册表比较熟悉,尤其是对设置开机启动项特别熟悉,以及他们特别懂修改浏览器主页的技术;

2、他们在Socket编程方面用得比你们熟,特别是后台传输。至于传输什么,你们在面试的时候可以咨询一下;

3、他们写JS脚本的时候,比较喜欢用window.Open(.....)。

除此之外,他们比你们也强不到哪里去,可能比你会喝酒,饭桌上比你们有经验。因为国内的企业,通常是在饭桌上或者床上做决策的。

所以,国内很多公司其实没有战略目标的,即连自己为什么而活着都不清楚。比如某公司,以前是做杀毒软件的,做得很有成就,一开启他们的杀软CPU的占用率马上提升一个档次,查杀木马也不过是在100个变种样例中识别出20来种左右。后来他们心血来潮,去做手机,结果第一批还没卖完就没下文了,然后据说又搞搜索去了。思维特别活跃,点子也特别多,就是缺少一些实事求是的品质。

因此,我劝大家不要那么紧张。面试不过也没什么,千万不要认为面试不过就怀疑自己,千万不要这样,世界上最残忍的不是神仙妹妹不理你,而是你先自暴自弃起来。只要你懂得如何做人,实力雄厚,才华横溢,总会有人发现你的,你的机会无处不在。不要为了逞一时之能,反误了自己大好前程。逞能不是什么好事,牛人不需要逞能的。

也不要扯蛋,有实力不需要扯的,你身边的人都会发现你的,人格魅力是可以感染人的,这是真的,也许你们没见过,我是真实见过的。

关于学习上,一直以来,很多人都摸不着头脑,编程到底怎么学?说实话,世界上哪里有放之四海皆准的方法,别听那些广告词忽悠,它们都是猪油蒙了心的,纯粹被利益驱使罢了。真的,方法,尤其是学习方法需要你自己去总结。所以那些编程初学者朋友们,我建议你们首先最重要的,不是怎么学,而是先测试一下,你对编程到底有没有兴趣。如果你兴趣非常浓厚,即使没有人教,没有网络,没有上课,你也能学会,“世上无难事,只怕有心人”绝对是真理,可惜只掌握在少数人手中。如果你没有兴趣,勉强学也没什么用,人都应该选择自己感兴趣的,自己喜欢的事情做,才会活得自在,否则,生活在天堂,你也会觉得如同地狱一般。

确定自己真的很有兴趣,接下来就是考虑:你希望你能成为什么?你理想中是希望自己学到什么程度?你羡慕那些大神吗?你羡慕那些牛得比大黄牛还牛的黑客吗?这里我要纠正一个错误观点,不要听到黑客就好像一定要干坏事一样,黑客技术和干坏事是两回事,从没有人说过学成黑客境界就非要干坏事不可的。黑客代表的是一种境界,至于做不做坏事那是修养问题了,不是技术问题。

自己要做好定位,不要没有目标地学,那样等于没学。我编程是完全自学的,我学编程那时候,连网都没得上,更别说上什么论坛交流。现在很多人都喜欢说交流,加QQ群也是交流,上论坛也是交流。呸!哪里是交流,明摆着就是提问,动不动就问,想都不想就问,问了又如何,那也是别人的答案,又不是你的答案。交流应该是对等的,各抒己见的,你认为代码可以这样这样写,我认为可以那样那样写,你这样写的好处是什么,我那样写的好处又是什么。彼此交换一下意见,那才是真正的交流,什么是交流?你只会交,而不会流,还谈什么对等呢?

关于刚开始的时候怎么学,说出来不怕大家笑,我刚学VB的时候,我连控件是什么都不知道,我连运算符“&”是什么也不懂,我连怎么关闭窗体都不会。那我现在为什么就会了呢?没人教我,我也没去问人。都怪我这个太“清高”,孔子说“敏而好学,不耻下问”,偏生我就不喜欢问问题,只喜欢自己想问题。说出来我也不害羞。

学编程,书还是要看的,现在很多人不喜欢看书,或者看什么电子书。我觉得真好笑,看电子书的人,估计多数人也不是认真学习的。我绝对不相信几本好书会比一台iPhone贵,那些整天说没钱买书的人,我真想说:没把你们饿死,可见老天爷还是很仁慈的。

入门者比较注重实时效果,所以,根据我多年学习经验,我觉得,示例较多的书就好,行文语气比较和谐,语言通俗易懂的书就很好。我很看不起那些整天开口闭口说一大堆很专业的名词的人,我不知道,是不是会说专业名词的人,写代码就特别厉害。反正我没见过这样厉害的人。可以能你们见过,如果你们不嫌我孤陋,不妨讲给我听听。

一开始的时候,看到书上的代码,初学者肯定会很吃力,哪怕是一个Hello World,也会很痛苦,我有过这样的经历。我不明白为什么书本的作者那么喜欢Hello World,我要是写书,我就偏不写Hello World,什么东西都老抄人家老外的,人家老外技术大牛特别多,怎么中国的程序员就没几个大牛?难道真是像某位网友所说的,中国这种大环境只能出码农,出不了大牛?没调查没发言权,大家可以帮我调查一下,是不是真是这样的,如果是,我真的为中国IT业一大哭。

如果你刚开始学,我觉得你照着书上的例子输入一遍也无妨,最怕你只看书不动手。若是动手实战了,哪怕是傻子都会有所收获的。你且当练习打字呗,但你别完全这么想,第一次写程序当成打字练习,其实是能让你感受一下,哦,原来代码是这样写的,知道吗?好好体验一下吧。

哪怕是照着书上打出一个程序来,不要打完就按Delete键,然后什么都不管了,什么都不想了。你要是这样的话,我建议你去学中医,好样你多养养身心,以后做事不要那么轻浮。

写完你人生第一个程序后,你要像对待你的初恋一样,充满真诚和火热的情素。完了之后不妨多看几遍代码,多想一下,这一行做什么,那一行做什么,为什么先写这一行,为什么这两行代码不能倒过来?为什么要写main函数?为什么要#include?为什么要using namespace?这里为什么要return?return之后会发生什么?这里如果不写if又会怎么样?程序为什么闪一下就退出了?……

多思考,实在想不明白,去问问别人也是可以的,千万不要想都没想,就到处问人,这样很让人讨厌,神仙妹妹也不喜欢这种人。

在你初学阶段,不要急着去看别人的代码,尤其是开源项目,许多开源项目是故意把代码写复杂了,让你读不懂。所以说“我开源了你看不懂,等你看懂了,已经过时了”。打基础的时候就要稳扎稳打,基础一旦扎实了,以后无论你学什么都可以快速上手,也不用别人教,也不用看书了。就像我现在这样,不要羡慕我,不要嫉妒我,只要你实事求是,早晚你会超过我的。

比禽流感、甲流和非典更可怕的传染病是浮躁,现在到处都弥漫着浮躁的气息,估计是中国出不了大牛的原因。上至企业高管,下至员工清洁工,都是练浮躁神功。弄得人不人,鬼不鬼的,老板没文化,总监没品位,经理没教养,员工没底气的。

除非你不学,既然你选择了要学,就要学好。你平时向别人吹什么牛皮都没用,你自己学好了,大家都看在眼里,你身上发出的光芒,就是佛祖下凡一样,把那些曾经看不起你的小人们的眼睛刺得发痒,感染球形真菌。你要是一味地吹,自己又拿不出真才实学,时间长了,人家会把你当笑柄看待。这是人性的弱点,也是人之常情。

不要急,学编程一定要注重实践,上机比看书还重要,但不能不看书。不看书不一定没文化,但没文化的人肯定不看书。

多学学调试技巧也是一种思路,真的,尤其是断点调试,因为在调试过程中,你会看到程序代码一行一行地执行,你会看到代码的思路原来是这样的,你会看到一变量在不同时间的变化情况,你会有许多意外的收获。很多初学者总不关调试方面的内容,真不应该,调试能发现新知识,知否?

当你的基础扎实之后,别高兴得太早,任何时候不要认为你学的已经够了。打基础只是完成了皮毛工作,好戏还在后头呢,急什么。光会Code还不行,远远不够,更重要的还需要技巧,但技巧不能算是知识点,技巧是你对所学知识的总结和变通,注意要变通,不会变通,那等于没学。

技巧既可以自己总结,也可以从别人那里得到,现在的人太肤浅,把鲁迅先生的“拿来主义”当成山寨,一味地山寨,洋鬼子一弄出点什么事来,我们就不管三七二十一,也不去考虑到底好不好,就像狗吃屎一样,拼了老命地去山寨,自己完全处于被动局面,一点主动性都没有。

虽然技术都是外国人创的,我们拿过来用并没有什么不好,人类文明正是在相互融合中进步的。关键是,用人家的技术也就罢了,你干吗连自己的思想也没有?没有灵魂的代码形同一具死尸,毫无参考价值可言,你学的东西再多,今天PHP,明天HPH,后天又学BHB,就算你把全世界的编程语言都学遍了,有个屁用!没一门学得好,没一门学得精,没一门学得深入的,等于浪费青春,为美帝国主义做嫁衣裳,你的人生最宝贵的年华就这么挥霍掉,你自己不心疼,我都替你伤感。

我们可以通过阅读别人写的代码,或者看别人的开源项目代码来总结技巧。哦,原来这个东西还能这样用,我怎么就没想到?原来还能这样写,我怎么没注意到?如此一想,你就大有收获了,从此,你会明白这些技巧,千万不要去记代码,不要去背代码,没用。

那么,怎么阅读别人的代码效果好?我说说我自己的做法,仅供参考。我这个方法是从世界名著《红楼梦》中悟出来的,不得不说,国学真的太伟大了。

在《红楼梦》中有这么一段情节:

刘姥姥,大家认识吧,民间名人。她老人家第二次去荣国府,走了后,贾母让惜春把大观园画出来,送给刘姥姥。于是,大家都在讨论该给多少时间惜春画画。林黛玉本是一位纯真率直、诙谐幽默、才华出众的奇女子,黛玉就说那刘姥姥是只“母蝗虫”,其实也不是看不起劳动人民的意思,纯是开个玩笑,许多人误读了。然后薛宝钗说:“世上的话,到了凤丫头的嘴里也就尽了,幸而凤丫头不认得字,不大通,不过一概是市俗取笑。更有颦儿(指黛玉)这促狭嘴,他用‘春秋’的法子,将市俗的粗话,撮其要,删其繁,再加润色比方出来,一句是一句。【蒙藏本侧批:触目惊心,请自回思。】这‘母蝗虫’三字,把昨儿那些形景都现出来了。”

重点是薛宝钗那句话,我就是从这里想到如何阅读别人的代码最有效率。那就是用“春秋”之法,取其要,删其繁,也就是说,不要一行一行地读,也不要在某一行看不懂就拼命地在那里打转,没有实际意义,更不要去记别人的代码,那终究是别人的,说不定你能想到比别人更妙的思路。看代码的时候,要注意全局思维,不要老盯着那些细节,要从宠观层面去阅读,知道大致思路和方法就行了,剩下的代码可以不看了,代码不管怎么写,语法都是固定的,所以,代码谁不会写,关键是,你有好的思路吗?

当你知道某个功能的原理和思路后,就应该自己动手来写,不要再去依赖别人了。写好之后,如果时间够的话,自己再想一想,能不能有更好的方法,若想到更优方案,不要犹豫,马上动手尝试,失败成功没关系,重点是你真的懂了。不去动手,老在那里胡思乱想,想一辈子也不会懂。

平时不在工作的时候,可以把写一些短代码,小程序当作娱乐也行,如果你愿意这样做的话。我相信,你如果真的爱编程,应该这样做。不需要写很复杂的程序,只不过可以从中得到一些体会,一些心得罢了,往往许多大技巧都是从一些不经意的小程序中悟出来的,再复杂的东西,都是由许多个简单的东西组成的,不要因为简单,你就看不上眼,那你就太高估自己了。

正如很多人所说,编程是很枯燥的,很乏味的,但是,我不这么想,我总是从代码中找乐趣,一切的一切,都是随着你的心态而变化的,情绪是人类最大的顽敌。你战胜它了,你才了不起。

在写程序的时候,你甚至可以听一些能让你迸发灵感的音乐,编程本来就是一种艺术,一种艺术搭配另一种艺术来相互渗透,相互提升,也是一种不错的生活方式。不要总是抱怨生活没有情趣,你一天到晚老干那些庸俗的事情,生活当然没有情趣,人生当然没有乐趣了。那也说明你的精神世界太失败了。在今古中外,有许多前辈们都可以成为我们学习的榜样,我们为什么不进反而思退呢?为什么要这样挖苦自己呢?不值,不值!

这辈子你算不算成功人士,不是你拿多少工资就完事了的,你还得权衡一下得失。拿高工资,哪一天过劳死了,赚那么多钱有屁用,没福去享受,留着做什么?做慈善?人家不希罕!一辈子是否是事业有成,还得看谁能笑到最后,谁既能实现梦想,又可以健康快乐地活一辈子,那才叫成功。不然,你以为过劳死就可以当革命烈士,受万人景仰吗?做你的春秋大梦去。不懂得修身养心本来就是个笨蛋,还指望别人景仰,那才叫没天理。

人类最可怕的是自信,自信不知道害了多少人。自信 = 自大 + 迷信。很多时候,做事情我们不应该说很自信,也不要太自信。我们应该说:“我有信心”。信心 = 信念 + 决心。

我虽不才,愿仅以此拙文送给所有在校大学生和应届毕业生,以供参考。本文内容只代表我个人意见,你可以同意,也可以不认同。但不管你认不认同,我们都是IT界的一员,殊途同归。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK