星期一, 十月 02, 2006

大家努力割题啊,找工作很有用

发信人: Shader (九阴白骨瓜), 信区: ACM_ICPC
标 题: 大家努力割题啊,找工作很有用
发信站: 兵马俑BBS (Sun Oct 1 14:03:11 2006), 本站(202.117.1.8)

这两年我发现一个很有意思的现象,就是一个学校的ACM/ICPC竞赛情况决定了该校生源流入Google, Microsoft, Trilogy等公司的多寡。从Google的新工程师组成情况来看,北大、清华、浙大的占了80%以上。另外据不可靠消息,Trilogy的人员也以浙大、上海交大生源为主。

但事实上,你能不能加入这些公司,是否获过奖并不重要,关键在于你的算法和编码经验。ACM/ICPC是训练这方面能力的最好一个途径,所以既然大家都有这个基础,不妨好好利用一下。

今年Google招聘小组对这次西安之行不是很满意,说大家编码方面还不是很好,碰到个编码好的算法也不是很扎实。不少人写个冒泡排序都写不出来。

其实找一个好工作并不难,现在所有的跨国IT公司不是人太多,而是严重缺人。换句话说,只要你基础足够好,进这些公司根本不是问题。如果你还有些特殊技能(如学术方面有什么成就,刚好又是他们需要的),那你进去就是贵宾待遇。大家也看到了,今年Google试题比去年容易了不少,相信大家知道这暗示着什么。

在基本功里,我觉得最重要的是C++和算法。我建议大家读三本书:

算法:Introduction to Algorithms
这本书太重要了,前面的章节一定要通读,至于网络流,线性规划等偏僻的东西就随便了。后面的练习很重要!尤其是算法设计题,很多面试题都是从这里变过来的。

最后就是多割题了,如果你编码已经很好,设计一个解决方案就行,重要的是训练脑子。

C++:Effective C++/More Effective C++
这套书一定要吃透,看了这本书我才对C++有初步了解。以前虽然写过一些程序,但是基本上是当C用。语言不要学多了,精通一门就好。其实C++应该算最复杂的语言,学好了再学其它语言(包括lisp, python等风格迥异的语言)都是小菜一碟,甚至可以去公司再学。至于编码练习,写个游戏最好,因为里面对象的概念最清楚。

至于考证啦、做网页啦,学时髦语言啦,这个公司并不是很看重,甚至根本不看。当然如果你很有兴趣,可以当作娱乐活动。开阔眼界,好处也是很多的。但不要本末倒置。

希望大家来年找到好工作~

2 条评论:

匿名 说...

貌似我不是你们专业,算法什么的也要学一堆……对我要求也太高了,数理化外加算法?

CORE 说...

My Wrong!Comment seeting goes wrong.你们的工作需要做科学计算,人工智能的一些算法还是必要的