Sharpmark's Personal Home Page

重回高中的交流

这又是一篇严肃的说教文字,不喜勿读。我在高中的时候,记得也听过这样的交流,那时我坐在同学中间,在倾听。而今天, 我却站在了一个我曾经认为遥不可及的位置上。可我又能说些什么呢?

从来没有因别人的眼神这么受触动过,也不确信自己以后还会遇到。我们几个研究生虽然表现着什么都很确信,但其实我们心里什么都不确信,而他们和我们当时一样,大多数人非常确信自己想要的东西。

——GuoYu Back to the old school
作者要求,所以不提供链接了

1月31号的时候,高中同学小聚,聊了半天之后去十八中看望以前的班主任,现在的雷副校长。大家聊了一会儿之后,雷老师提议我们几个去给现在的孩子们聊聊经验。这是第一次和中学生讨论,而且很突然,所以没有什么准备。事后GuoYu做了个总结,看了感触很大,而且很多我说完忘掉的东西他都还记得。趁着在我把自己说的内容都忘掉之前,在这里也把他们再都写出来。当时说的有些散,这里整理一下。有些已经彻底忘记了……。

首先,我的高中过的并不算成功。高一因为周围大部分都是女生,所以很少说话,大部分时间都在睡觉。这样就导致了很多课程跟不上。因为雷老师比较严厉,自己对数学也比较有兴趣,所以数学一直跟着学了,语文是课代表,所以也没有落下。而其他课程就一塌糊涂了,尤其是英语。因为当时觉得自己以后也不会出国,英语完全没有用处,所以都没有怎么下过功夫。高二又迷上了pascal和VB6,还参加NOI。虽然那个时候没有用太多学习时间来学习编程,不过还是占用了我一些时间。到了高二下学期,才意识到高考的临近,这是才开始发奋。高二暑假从师立回来就开始全力学习。努力了大概一年吧,最终考上了大连理工。

我并不像大部分好学生,或者像GuoYu这么有计划有自制力,我一直都是随心所欲的,期末考试也不当回事,学习也不求甚解。所以名次从中考学校的34一度降到100+(全年级一共120,80个考上的,40个自费) 。而且偏科严重,比如说数学班里前几,语文作文总是范文。但是英语一塌糊涂,化学更是在补差班里面。这些让我在高考的时候吃了很多亏,也浪费了我高三的很多时间。能考上大连理工,除了心态,运气也占了很大因素。

不过,可能我的例子,反而更适合更多同学,毕竟好学生是少数,而有缺点,有优点的B等学生倒是不少。但我的经历并不适合模仿,学习毕竟是要一步一步来的。因为高中前半段的放松,我高三的时候每天晚上三点睡觉,早晨六点多起床。只有每周日睡到中午当作休息。这样效率并不算高,而且每天信息量很大,有些吃不消。所以除非体力超常,不建议用此方法。

GuoYu的学习方法就很好,每个知识一段一段的来,多巩固几次。不过是不是适合你则另当别论。学习方法是因人而异的,适合自己的才是好的。比如说我这个人没有耐心,那么GuoYu的计划可能对我来说就无法坚持。找到自己的特点,并针对性的制定计划很重要。

高中学习过程中,同学的关系也很重要。如我那是所说,同学之间应该是战略合作伙伴,而不是互相排挤。同学间可以互相比较竞争,但应该是良性的。而不应该让嫉妒冲昏理智。毕竟同学最终考一所学校的可能性不大,所以应该互帮互助,一起讨论,来对抗全省更强大的对手。近交远攻。

高中数学很难,女生学数学会有畏惧。但是不该放弃,我身边就有一个女同学数学学的不算好,但是一直坚持着学,下了很多功夫。高一高二的时候我不怎么学都比她考得好,但是她仍然不懈努力,最终在高三多次模拟考考出130+,超过了我。所以不要轻言放弃。

因为学习成绩不稳定,名次波动很大,所以也培养了我良好的心态,这点在那年变态的高考题面前得到了很好的发挥。在数学题很难的时候,有人哭了,我笑了。因 为我知道如果我不会,就没有多少人会,那我随便写点就会比别人分数更高。最后数学填空选择满分,大题该拿的分数也都拿了,后来据说我是学校数学上了100 为数不多的几个人之一。所以,其实高考不是考绝对分数,而是在跟别人比,考的是相对分数。

课余调节也很重要,做些适当的体育运动对学习也有好处,我在高三的时候也会画画,看《读者》之类的放松。所谓磨刀不误砍柴工。

我真正的好的学习方法并不多,更多的是经验教训。总之高中千万不要偏科,不要不学习,不要贪玩。一直很喜欢老罗那句话“怕吃苦吃苦一辈子,不怕吃苦吃苦半辈子。”

其实我很想谈谈理想,谈谈学习动力,谈谈兴趣,那些比上面所有的都重要,但是我知道这是没有用的。一个人的世界观和人生观没有建立起来之前,一切都是空谈。当经历高考,经历那段艰辛但是丰富的人生之后,很多事情就都能像明白了。

祝你们好运了,我可爱的学弟学妹们。

在微软亚洲工程院(Microsoft ATC)的实习报告

大连理工大学软件学院 03级 刘炯

首先我要感谢大连理工大学软件学院的领导和老师能在我短暂的大学期间,给我很多机会去参与到很多竞赛和实践项目中去。这些项目经历和比赛成绩成为了我进入微软亚洲工程院(Microsoft Advanced Technology Center, 以下简称ATC)非常重要的敲门砖。而且这些经历对我个人能力的培养,对我在ATC的实习也起到了极大的帮助。
然后要感谢ATC给我这次实习的机会,并感谢我在ATC的mentor Zewen Zhang和Hugh Ji, Weixing Li,在我实习过程中提供给我提供了很多中肯的意见和建议,以及对我的认同和赏识。此外还要感谢Multimedia Team的所有成员,他们对我的帮助也很大,并让我从2007年03月至2007年05月,度过了三个月紧张而快乐的实习期。
我到了企业才知道,在ATC的实习的同学的身份是Visit Student。如果在实习过程中表现良好,会提供录用为正式员工的面试机会,从而有机会成为正式员工。而对于我这个已经保送研究生的人来说,我要做的就是努力展现我们学院学生的风貌,为后来的同学创造更多的机会。同去实习的还有韩博(在微软亚洲研究院实习),华承平(大连理工计算机系,ATC实习)。我们在微软实习的期间,认真而得体的展现了大连理工大学同学的良好基础和解决问题的实际能力,我们也因此获益良多。希望我的这份总结能让以后的学弟学妹获得更多经验,表现得更加优秀[1]

微软,以及其他很多著名IT公司,比如Google(谷歌),Baidu(百度),IBM等等,对实习生要求的是计算机相关能力和基本的英语交流能力。进入这些公司实习需要严格的面试过程(有内部推荐会容易一些)。所以,一份好的个人简历是很重要的:好的相关课成绩,大学期间的项目经历,专业比赛名次,以及社会活动经历。而我面试的内容则更多倾向于算法、数学,智力题以及一些编程方面的知识。很多人对智力题有误解,认为目的是测验智商,其实不然,考察智力题的主要目的还是为了考察自己在遇到一个没有遇到的问题的时候的分析解决问题的思路和能力如何。

在实习期间,每个实习生的工作都不尽相同,一般工作方面负担都不是很重,由于我实习时做的项目的领域我从来没有接触过[2],并且我实习的时间也并不长,所以我觉得我的任务还是比较重的,还好我算是顺利地完成了计划的任务。对于布置的任务,初期一般会给一定的学习研究时间,当自己有什么不会的技术问题,可以向周围的正式员工请教,他们即使不会,也会帮助你询问会的人。只要是微软的技术,在微软内部一定能找到精通此领域的人。在我所做的项目中,所有的知识对于我来说几乎都是从头学起的,要边学边做,很辛苦,也总能遇到不顺手的事情,或者总也不能fix的bug,我实习几乎一般的时间都是在从各方面做效率上的优化。这是对身心的一种考验,我很自豪的说我坚持下来了。所以,无论你是擅长的还是棘手的,是你喜欢的还是你不感兴趣的,都要尽全力去完成工作,把它尽你能力做到最好。很多时候,工作和兴趣是两回事,而有些事情只有当你做进去,才能感受到乐趣。
正式员工的时间是有限的,所以对于绝大部分问题建议还是要自己解决。利用搜索引擎,利用Wiki,阅读相关的书籍和文献资料和一些技术人员的blog。比如在我做的项目中,初期曾准备用一项微软新出的技术,当时没有任何技术书籍和完整的程序样例,甚至连开发包的安装和程序编译都让我研究了好一段时间。所以,有时候学习知识并不重要,因为你学的很多东西在你毕业的时候可能已经过时了。但是你需要掌握一种学习新技术的能力,当一个你没有接触过的领域需要你了解的时候,就需要你在大学培养出来的自学能力的帮助了。所以,建议在学校的时候,多多自学,培养对新事物的接受和理解能力。对于很多大公司来说,并不见得要你会多少知识,而更看重你的潜力,你的分析解决问题的能力和学习的能力。

英语也是非常重要的。日常办公的文件,邮件全部都是英文的,如果开会的时候有外国同事,整个会议也是全程英文对话。而且很多正式员工都曾到美国微软总部出差数月。这在很多跨国的公司中都是必需的技能。所以要好好学习英语。在实习最后的评价中,English是我最大的缺点。希望学弟学妹们引以为戒。

在实习过程中,对专业和英语的学习之外,我觉得更加重要的是去感受一个国际公司企业文化,核心价值。感受交流的氛围是很重要的环节。当你跟正式员工坐在同一个cubic里面工作,交流,讨论。甚至一起吃饭,一起闲谈。这是很有趣的事情,从中你可以听到很多有趣的故事,也可以学到很多东西。学习怎么跟正式员工,其他的实习生一起相处也是很重要的,如何表达自己的思想,如何沟通,如何合作。

最后,还要感谢我的父母对我这次实习的支持,以及在实习中,在我最累,最郁闷的时候陪我聊天的Sirius。离别大连理工,写此文希望能够对学弟学妹的实习和学习有所帮助。在撰文之际,04级创新实践中心的两位同学也有了喜讯。谷强强同学不出意外也会在年底到ATC实习,而我的把兄弟张岳也一路过关斩将进入Baidu实习。在此特地祝贺。希望以后能有更多的同学走出大连,进入更多国内外知名企业实习,并将软件学院的学生实力好好表现在这些公司面前。[3]

───────────────────────────────────

[1] 很早就承诺要写这个报告了,最近身体状况好些,才动笔写。让大家久等了。这篇文章的写的很正式,希望学弟学妹们能够从中学到些经验。关于ATC的一些边角料,可以参见我不太正式的的另外一篇《微软亚洲工程院实习一周见闻》。

[2] 在未获得ATC授权的情况下,我对实习项目的具体内容不方便过多透露。这里只写一些我的感受。

[3] 此文文章结构参考了Eric You Xu的《在 SIEMENS 的实习报告》。

答“请教学长关于大学学业生活的的几个问题”

经发信本人同意,将一次Email内容公开。希望更多有同样问题的同学能有所收获,因为这位学弟的问题很有典型性,以前也跟很多同学以邮件、QQ、讨论会形式讨论过这个问题,我知道比我强的人还有很多很多,我对这些问题的见解也可能很浅薄,欢迎有想法的同学一同讨论交流。为尊重个人隐私发信人名字隐去。

学长好:

我是大一的学弟,马上就要进大二了,应该不再叫freshman了,但是,我觉得自己在很多方面仍然是freshman.来自农村,真正接触电脑是在去年进大学之后,之前,我对电脑很陌生,对所谓的软件只是听说有这个名字而已.当别人把电脑玩的轻车路熟,谈得头头是道时,我在盯着键盘找字母.在这将近一年的时间里,我没有能够对我现在所在的专业有很好的了解.我的了解非常肤浅,致使我现在很迷茫.

我知道,很多计算机高手都是后来居上,很晚成才的,他们以他们的勤奋而有所作为,我想,我也要成为其中的一员.我相信,天道酬勤,以我的努力与付出,四年会有充足的时间来让我成长,成才.但是,光有勤奋是不够的,我现在很迷茫,没有明确的方向,我感觉自己在茫茫旷野里狂奔,却不知奔向何方?!什么都想学,什么都学不会.这就是我写这封信的初衷.

首先,谈一下多做题与学习这个问题.也许你觉得这个问题很好笑,不要误会,我没有表达清楚.现在我身边有些同学天天做北大ACM,我也想现在多做些题来提高编程能力,尤其是一些经典难题如八皇后,骑士之旅等等,但我发现这是一件很费时间的事:我现在没有电脑,到暑假才能买,另外,那些难题一般解法多样,要完全理解,以我现在的水平也不是很快就能搞定的事情.这样我就没有什么时间来自学其他的专业书籍了,所以,现在,在多做编程练习和自学之间我只能择一,我选择了后者,我想等我买了电脑后在多练练吧.你觉得呢?另外,我想问的是:编程能力的提升在于多练,但练也有不同的练法,请问学长,怎样练提升较快?比如多做什么样的题,注意什么东西等.

刚才我说了我现在侧重于自学专业书籍,但最大的问题是该学哪些书,要成为一名计算机高手需要知道哪些东西?我对这个专业怀有很浓的兴趣和好奇心,去年我什么都想学:flash, photoshop, 网叶制作等等,今年发现,我的专业里还有很多更重要的东西需要学(我现在在学数据结构和面向对象编程,刚开始学,学得很慢).我希望学长可以对我现在需要或者最好学些什么书作一下指点,并推荐一些好书,杂志,网站,博客等学习平台.同时,我希望对我们这个专业我将要走的路做一下全面一点的介绍,我现在对我将要做什么都不清楚,感觉被学校的安排牵着脾子走,很被动.

然后说一下数学,数学是每个工科专业的基础,我想问的是,除了考研要学好数学外,我们的专业跟数学关系紧密吗?有必要学得很好吗?说实话我现在不怎么看重数学.

最后说一个问题:总听说学校培养的人与公司要的人有很大出入,我们在大学学的东西,出去了没什么用,那么,在大学四年的学习中我门应该注意写什么,来减小这个出入呢?

之所以向学长你问这些问题,是因为你即将毕业,刚走过我将要走的路,必然还很熟悉,也有一些最新的感受.而且学长在专业方面是很强的,值得我去学习的.也许我的问题很琐碎,但对一个很茫然的人来说,详细的了解一些东西是很需要的,你的只言片语也许会影响我四年的生活,影响我的发展,所以,真诚希望学长可一挤出点时间来给我指点迷津.
最衷心的感谢!
此致
敬礼!
学弟:XXX
2007/6/10

我的回复如下:

XXX,你好!

“四年会有充足的时间来让我成长,成才.” 四年时间可能转瞬即逝。所以要珍惜。
如果你能找到方向,用四年寻找都是值得的。我现在也不敢说我找到了方向。
大学里面我不断涉猎各个领域,然后寻找自己喜欢的。
到现在也不知道自己是不是找到了。
感到迷茫,没有关系。你只要一直在的学习就好了。学到什么知识都不会让你吃亏。
如果你一点方向都没有,建议你可以学基础的东西,比如说数学、英语、数据结构、算法、C++
这些是将来无论从事什么方向,都需要用到的。而且本科本来就不见得要有什么方向,本科就是该大好基础的。

关于多做题还是多学习的问题。首先,两者是辩证的,缺一不可,相辅相成。多做题,打扎实基础,以后学习才能更快速;学习的多了,对于”题目”就有更高层级、更抽象的理解。
对于我个人来说,我从小学,中学就写过上万行的代码。所以我应该是属于那种先多做题,后多学习的类型。而且,其实我小时候学习也没有电脑,就是自己写在本子上,写了好多本。上中学以后才有电脑的。
大学以后,我看书很快,学习新技术也非常快。可能跟我基础比较扎实有关。
所以,希望你也可以多做一些题目。ACM可能有些比较难。你可以先找《数据结构》课本后面的习题练习一下。编程是需要多多练习,才能理解透彻的,跟数学一样,要多做题<。当然,你要根据你的实际情况来定,我的例子比较特殊<,很早就学了,花了几年的时间打基础,所以,可能不适合你,你要摸索自己的路。
什么时候,你看到一个题目,你脑中想到的只是算法,逻辑。而忽略了程序语言,语法细节就算有质的飞跃了。而不是说看到一个题目,还在想,一个for循环的语法是什么。
此外,练习快速提升的方法是,你要多多的阅读别人的代码,学习他们的思路,思维。一道题目,你用什么方法写,答案或者别人用什么方法写,他好在哪里,为什么好,他是怎么想到的之类的问题都要去想。可能你写一段时间代码之后,你就觉得无法提高了,这个时候,就要大量学习理论知识了。好的编程功底,能让你学习事半功倍。

世界上没有”计算机高手”,每个人涉及的领域不同,思维方式不同。所以很难界定什么是高手。flash/photoshop跟专业无关,有兴趣可以私下学,但是要分清主次。数学方面你可以看《具体数学》,线性代数之类的;学习C++可以看Thinking in C++,有基础了可以看Effective C++/More Effective C++。当你把这些书籍看完了,你自然就会知道你下一步会看什么了。

高数(尤其是傅立叶)用在信号系统、图像处理等地方;概率常用在模式识别阿,搜索,语音之类的地方;Google的最根本的PageRank就是个大矩阵,所以线性代数也很重要。所以你要好好学,都很有用的。我就比较后悔数学没有好好学。

很多公司要员工会Java/.net/vc++之类的,本科可能都不会。但是你要知道,本科学习的都是基础知识,是那些的基础,都是有用的。另外,你要在本科阶段,学习”学习的方法”。IT界技术日新月异,你不可能把所有知识都学会,你要获得的,是快速学习的能力和深厚的技术基础。
你学习冯诺依曼结构,学习操作系统原理,学习数据结构,好像公司都不看,但是,如果这些都不会的话,只会那些语言,就像建立在没有基础的浮空大厦一样。
本科生跟社会上编程速成班的区别就是科班出身的人基础好,知识面牢固。

另外,我以前还写过一个”新生指南”,你可以看看
http://sharpmark.net/blog/posts/how-to-survive-in-college-for-freshman/

欢迎随时交流

Sharp Mark
07-06-10

大一新生生存指南

写在前面
受到李瑞源同学的《秋雨中,写给大一新生》的启发,我也想写一篇文字给大一的新生们。来说说如何在大学这个环境中成功的生存下来。内容想一点,写一点。不断更新。
不知道你是以什么样的心态来到自己的大学,喜?悲?当你来到大连理工的时候,或许你觉得自己本可以进清华的;当你进入清华的时候,或许你在想自己可以去香港或者直接出国的。人总是对自己的现状不满足,还好,你有四年时间去改变这个让你不满足的现状。就看你是否能把握。
大学不见得那么美好,想要在大学里面心智健全的活下来不是那么容易的。希望我能帮你成功生存下来。

明确自己为什么来大学
不要仅仅是浑浑噩噩的活着了,高考之前你只有一个目标,是高考。但高考结束,你要需要去思考你将来想要成为什么样的人。需要给自己订立一个人生目标。并考虑为了实现这个目标,在这四年要有什么样的打算。
你永远无法预知你的未来。就像中国在“摸着石头过河”一样,你也在社会的激流中挣扎,只有看着远方的目标,渐渐摸出条路来,才能到达胜利的彼岸。或许你会走些弯路,但及时根据目标修正路线,弯还是不会走太大的。如果没有目标,你走的所有的路都将是弯路,或者,你将站在原地,懒得再走一步。
明确目标,然后细心安排好自己的四年。跟学长谈谈自己的想法和目标,或许他们会给你好的建议或者经验。

阅读全文 »