自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

參加編程競(jìng)賽對(duì)實(shí)際工作的用處

開發(fā) 開發(fā)工具 后端
有不少的朋友問(wèn)過(guò)這個(gè)問(wèn)題:在中學(xué)里面參加NOI,在大學(xué)參加ACM/ICPC,TopCoder,最后對(duì)實(shí)際工作究竟有多少用處?我把自己的一些理解總結(jié)了一下跟大家討論。

有不少的朋友問(wèn)過(guò)這個(gè)問(wèn)題:在中學(xué)里面參加NOI,在大學(xué)參加ACM/ICPC,TopCoder,最后對(duì)實(shí)際工作究竟有多少用處?我把自己的一些理解總結(jié)了一下跟大家討論。

我是在94~96年參加NOI和集訓(xùn)隊(duì),99~2000年參加ACM/ICPC,2002左右玩了半年TopCoder,后來(lái)就很少關(guān)注編程競(jìng)賽了,所以可能對(duì)近幾年競(jìng)賽模式的變化不了解。另外我目前主要在工業(yè)界工作,所以“實(shí)際工作”主要指的是在IT工業(yè)界的技術(shù)型工作。

我想競(jìng)賽培養(yǎng)的能力可以分成幾個(gè)類型:

1、基本技術(shù)技能。我想?yún)⒓痈?jìng)賽而且成績(jī)不錯(cuò)的朋友,基本上都有三個(gè)非常出色而且難得的基本技術(shù)能力:算法設(shè)計(jì)、快速編程和自我調(diào)試。這是所有比賽都必須的: 給定一個(gè)問(wèn)題,需要很快地設(shè)計(jì)出算法,很快地編寫出程序,并且在整個(gè)算法設(shè)計(jì)和編程過(guò)程中不斷拷問(wèn)自己的設(shè)計(jì)和程序,盡早發(fā)現(xiàn)漏洞、完善設(shè)計(jì),最后在提交結(jié)果之前通過(guò)一系列的測(cè)試盡量提高程序通過(guò)競(jìng)賽評(píng)委測(cè)試的概率。 這三項(xiàng)基本能力是工作里面非常有用的。 大部分公司的技術(shù)面試也集中在這三項(xiàng)基本技能里面。競(jìng)賽經(jīng)驗(yàn)的確讓優(yōu)秀的參賽者在實(shí)際工作中獲得先發(fā)優(yōu)勢(shì),一般IOI/ICPC/TopCoder的優(yōu)秀參賽者都很容易獲得公司錄取,并且在起始級(jí)別的工程師崗位上作得非常出色。

2、獨(dú)立學(xué)習(xí)的能力和自信心。我想大部分的NOI參賽者都是中學(xué)就開始學(xué)習(xí)中學(xué)課程里面不函括的內(nèi)容:面向?qū)ο蟪绦蛟O(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、圖論和網(wǎng)絡(luò)流理論、算法理論、離散數(shù)學(xué)等等。如果一個(gè)參賽者是通過(guò)自己獨(dú)立學(xué)習(xí)這些課外知識(shí)而在競(jìng)賽里面脫穎而出的,她一定有獨(dú)立學(xué)習(xí)的能力和自信心,同時(shí)相信自己能夠很快的學(xué)會(huì)各種新知識(shí)。這個(gè)能力和自信在工作中非常重要:計(jì)算機(jī)語(yǔ)言日新月異,從Pascal/C到C++/Java到Python/PHP/Javascript/Objective-C⋯⋯一個(gè)人不可能從一開始就懂得所有的知識(shí),但只要自信自己能學(xué)會(huì)任何新的語(yǔ)言和概念(并且的確可以學(xué)會(huì)),那他就可以敢于面對(duì)未知的挑戰(zhàn)。在工作中,這些“敢吃螃蟹第一人”往往會(huì)得到更多機(jī)會(huì)去開發(fā)新項(xiàng)目、創(chuàng)建新公司。

3、表達(dá)能力。這一點(diǎn)我本人在吳文虎老師指導(dǎo)的NOI冬令營(yíng)里面獲益匪淺。當(dāng)時(shí)吳老師要求每位冬令營(yíng)選手挑選一個(gè)復(fù)雜的競(jìng)賽問(wèn)題深入研究解法,最后寫成論文,并且在冬令營(yíng)里面做報(bào)告。吳老師親自把關(guān),指導(dǎo)論文里面寫不清楚或者報(bào)告里面說(shuō)不清楚的地方。這是我第一次學(xué)會(huì)如何把一個(gè)技術(shù)問(wèn)題寫清楚、說(shuō)清楚。這樣的訓(xùn)練雖然跟競(jìng)賽成績(jī)本身沒(méi)有直接的關(guān)系,但能夠讓競(jìng)賽選手的表達(dá)能力上了一個(gè)臺(tái)階。表達(dá)能力對(duì)實(shí)際工作有非常重要的意義:現(xiàn)代的大型軟件系統(tǒng)開發(fā)不是一個(gè)英雄人物就能完成的,如果一個(gè)子系統(tǒng)的算法和程序不能清晰地被理解,那這個(gè)子系統(tǒng)和它的作者就成為單一故障點(diǎn)(Single Point Of Failure) —— 只要作者一度假,就沒(méi)有人能維護(hù)或者擴(kuò)展這部分?;谶@種風(fēng)險(xiǎn),大家寧愿用一個(gè)更慢更費(fèi)內(nèi)存但能被其他人看懂的解決方案。在這兩年的招聘過(guò)程中,我看到不少這樣的可惜例子:不少ACM/ICPC的選手能在15分鐘之內(nèi)寫出一個(gè)很巧妙的算法,在機(jī)器上編譯、測(cè)試?yán)佣纪ㄟ^(guò)。 但在黑板上或程序注釋里面,他們花20分鐘也沒(méi)能說(shuō)清楚這個(gè)算法為什么是對(duì)的,為什么要用這個(gè)算法。

4、合作能力:NOI/IOI/TopCoder更多的是單槍匹馬,而ACM/ICPC對(duì)合作能力的培養(yǎng)更有幫助。三個(gè)編程高手共用一臺(tái)機(jī)器,緊缺資源誰(shuí)先用誰(shuí)后用,如何分工,這些問(wèn)題在實(shí)際工作中每天都會(huì)遇到,如果一個(gè)選手在ICPC里面學(xué)會(huì)如何跟隊(duì)友協(xié)調(diào)、如何培養(yǎng)信任,那她在實(shí)際工作里面就很容易融入一個(gè)團(tuán)隊(duì),在團(tuán)隊(duì)里面找到自己的發(fā)力點(diǎn) ,很快為團(tuán)隊(duì)作出貢獻(xiàn)。

5、志同道合的朋友圈:一般來(lái)說(shuō),愿意花額外時(shí)間參加競(jìng)賽的學(xué)生都是喜歡寫程序的,因?yàn)橄矚g,他們往往更容易在這方面越做越好。我10年前在競(jìng)賽過(guò)程中認(rèn)識(shí)的老對(duì)手,現(xiàn)在還有很多是好朋友,不時(shí)能聯(lián)系一下,得到他們的指導(dǎo)、交換最新的行業(yè)信息和趨勢(shì)。這一點(diǎn)雖然對(duì)實(shí)際工作沒(méi)有直接幫助,但我覺(jué)得是參加競(jìng)賽獲得的最寶貴的東西。

這些大概是我在比賽里面學(xué)到的最有用的一些東西。下次有時(shí)間的時(shí)候打算整理一下實(shí)際工作里面有哪些是競(jìng)賽里面學(xué)不到的。

原文鏈接:http://blog.sina.com.cn/s/blog_87f330d301019v0j.html

責(zé)任編輯:林師授 來(lái)源: 魏小亮的博客
相關(guān)推薦

2010-07-05 14:20:29

2022-07-18 10:03:18

Collection指定集合

2010-07-05 08:31:25

SQL Server快

2010-07-26 09:48:49

SQL Server復(fù)

2015-11-16 10:17:21

工作數(shù)據(jù)分析

2024-01-12 10:05:48

自定義注解SpringJava

2013-12-19 15:52:08

自動(dòng)化運(yùn)維自動(dòng)化運(yùn)維工具Puppet

2021-06-22 09:13:19

FacebookMIT深度學(xué)習(xí)

2010-03-19 17:39:49

Python編程

2024-02-27 11:38:46

AI工具Sora

2024-12-27 15:37:23

2020-10-05 21:47:30

AI 數(shù)據(jù)人工智能

2014-06-10 09:11:21

編程站著編程

2018-07-12 15:04:12

蘋果Touch Bar觸控欄

2024-01-11 15:17:59

Bean單例模式線程安全

2010-04-02 15:53:36

Oracle綁定變量

2011-03-21 09:40:21

2012-08-22 08:58:39

編程

2013-09-29 09:49:04

編程生活方式

2010-09-06 11:05:54

Oracle
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)