做程式設計師必須要搞ACM ICPC嗎?

時間 2021-05-05 16:47:10

1樓:

ICPC不是必須,但是基本功要紮實,事實上沒有經歷過壓力訓練,大多數程式設計師都不能穩定做到在壓力下出思路然後沒有bug地敲出來。

2樓:calelin

我覺得ACM確實能檢驗乙個人的聰明程度及學習能力。起碼我感覺是ACM啟發了我一被調劑到數學系的渣渣對於學習的熱愛,演算法這麼有趣,比你那啥實變函式有意思多了,關鍵還能拿Offer。

不過「做程式設計師必須要搞ACM ICPC」顯然是個偽命題。即使在中國全民OI與ACM下,還是很多碼農沒有ACM的經歷的。美國就更不用說了,狗比印度阿三牛皮吹得震天響,幹活啥都不會(ACM是啥),不是照樣活得好好的。

(當然宣傳上還是要說我是IIT某逗比分校畢業的)

如果題主將來要到美國發展,千萬注意你的「綜合能力"(比如忽悠,吹水,拉幫結派能力比你ACM金牌重要好幾倍),做程式設計師搞ACM,整日埋頭鑽研技術不理窗外事才會一輩子是碼農,(除非你碰到像G胖一類的Geek上司)。

3樓:李拉德

唉作為乙個退役狗我來說說自己的看法

我覺得如果有其他有意義的事情並且你覺得很有意思並且你可以平時每天花四個小時(不說暑假集訓是一天10+ 每天一次團隊合作的機會賽後反思的機會)放在這件事情上做什麼都是可以的。

其實搞了那麼多年最大的收穫是堅持了那麼久,最後悔的是還不夠努力還不夠強

4樓:王政

其實與大部分Acmer 認為的相反,當你不準備去從事演算法方面的工作,你若大學大部分時間獻給Acm 可以說是在浪費時間。

Acmer 認為 Acm可以幫助我學習程式設計思維。

其實,這個觀點是一半正確的,正確在於,他真的可以幫助你學習程式設計思維。錯誤的地方在於,他的天花板對於乙個職業程式設計師來說連地板都算不上。

反駁者會認為我真的能體會到我在進步啊。

對呀,你真的是在進步啊,這就相當於乙個廚子即使在砍柴的時候也能訓練掂勺的力氣一樣,我們應該去比較,若普普通通的不走這條路,你又會怎麼樣。就像我走直路或者走一邊再走回來到底哪個好。

答案是各有各的好,乙個走快,乙個走的有風景,看你的心選擇吧。

倘若,你對演算法有興趣,那就另當別論了。

我的建議是,計算機世界這麼大,別看上乙個愛上乙個,先看看這廣闊的世界,再做決定也不錯。

還有就是,我以前也是acmer,不知道原來計算機界,還有輪子哥這麼好玩的事情。

5樓:

為了出人頭地,就要。它可以提高你的思維水平,在競爭的茫茫程式猿海中殺出一條生路,畢竟現在學這個專業的人太多了,做這個行業的人也太多了,如果不想平凡,必須要做,而且這是非常有公升值空間的經歷,還可以多交友,多好。

6樓:青蓮

搞ACM的意義是什麼,不是競賽拿個獎給公司看,而是對演算法資料結構等的學習理解和應用。個人感覺題主學姐說的「不搞ACM只能是碼農」就是這個意義的偏激化理解。

c++考了多少,那只是一門語言。語言對於程式設計師只是最基礎的字母表一般的知識,還要有演算法,要有資料結構,要有底層功底,要有各種東西。搞ACM能促使你去學這些東西,但不管怎麼選擇最終學不學還是看你自己。

另外就是實踐。大學的碼農自己找不到實踐的機會和方式,ACM刷題就變成了很好的平台。然而oj什麼的都在那裡,想要實踐想要鍛鍊是否一定要靠參加這個競賽還未可知。

嘛,閒扯了這麼多,總之一句話,靠自己。競賽只是個給你壓力讓你去學習去成長的手段,絕不是目的。

7樓:Coldwings

ICPC不是必要的,但如果環境好,搞一搞好處也很多。

基礎演算法和資料結構是非常非常重要的,解決問題構建方法是非常非常重要的。可以不搞ACM/ICPC,但是這些內容該深入學習經常鍛鍊這一點是缺不了的。

人家競賽只是正好跟這個方向有所契合。

8樓:李陶冶

當然不是必須,沒沾過這個的大牛多了。但如果lz自認天賦不錯的話,為何不試試?這東西既好玩又能成為敲門磚。

甚至有可能成為你的乙個愛好。我知道有很多年薪60w+的仍然在玩這個。另有很多大學時沒有接觸過acm,工作後從中找到了樂趣並成為大牛的人。

我想這東西已經快成為一種文化了,能夠輸出價值觀的那種。

9樓:Nolan Jian

如果沒有其他事能幹之前,或目標不明確之前,可以搞acm,總比無所事事好。

如果沒有老師帶,或者說老師基本不懂演算法和資料結構,或者說老師在學院地位不高,連活動經費都頭疼,實驗室連個空調都沒有,甚至連固定實驗室都沒有,慎重加入。

如果沒有學長帶,慎重加入。

上兩條不滿足,很難讓你靜下心來搞acm的,迷茫和無助總會悄悄找上門,讓你思考搞acm到底有沒有用,時間就這樣浪費了。

我就是大二暑假結束後下定決心要退出的。

10樓:

學校不給力的話搞acm很划算算是行業的敲門磚?

top10學校的話就沒有特別大的意義了,磚頭已經在手,除非真心熱愛,與其花這麼多時間對著電腦重複編碼,利用大學空餘的時間去增強閱歷比這強多了

11樓:艾瑞克飛天

學校搞技術的大體分為演算法流和工程流。走工程路線適度的做些題鞏固下基礎就ok了

網上找到個有趣的新聞,乙個google的總監說

Being good at programming competitions correlates negatively with being good on the job

12樓:

不是必須,而是why not。

你不是Linus,找實習,畢業找工作你能有幾個東西拿出來脫穎而出。

而且你去公司後就會發現,特別是內部工具,很多東西都是沒想到好辦法,直接brute force就上了。以後有時間再重新解決,或者就忘了。其實這也就是解決問題能力不夠純熟的結果。

這也是面試出演算法題最早的初衷之一,開發工具流程都能速成,內功需要積累。那些說「你看我也沒搞不也挺好」的人,你看他幾歲程式設計,看過多少書?沒什麼可比性。

ACM給你的是見識。沒人指望你發明演算法,但你一遍又一遍的經歷了高人的演算法。近朱者赤。那些推薦你重新造輪子的人,和ACM其實沒什麼區別。ACM其實就是花式極限造輪子競賽。

ACM是讓你成長的一條路,除非你能找到更好更適合自己的路,否則還是值得一試的。

曾經有個Google家的人聊面試,說Google麵人時,五分鐘沒思路就要開始引導,十五分鐘沒思路就趕緊換下一題,最後他說了一句,當然還有一些五分鐘code都寫完了的,明顯是有過競賽背景的。所以ACM這玩意其實不需要多吹,一出手就和別人不一樣的。

公司要的,再聰明,程式設計熟練度也是第一位的。

13樓:hunt zhan

從功利的角度來說,如果只是想應付技術面試,其實是不需要去搞 ACM-ICPC 的,去看 CC150 、刷刷 leetcode 或許更加靠譜,而且也不會像刷 ACM-ICPC 那麼累;如果只是為了「不做碼農」,那幹嘛要去刷 ACM-ICPC ,正常不應該是去實驗室混科研經歷然後申國外 PhD 麼,當然直接轉專業也是一條明路。

對於大一、大二的學生而言,是否應該刷 ACM-ICPC ,我的建議如下:

高中弄過資訊學競賽,建議繼續刷。

有精力、有時間,建議嘗試。

抱著「想通過刷 ACM-ICPC 學習演算法「想法的,不建議刷。

抱著「為了應付技術面試刷 ACM-ICPC 」想法的,不建議刷。

ACM-ICPC 本質上是體育競技專案,It's a game for talented ,能不能玩得轉得看命怎麼樣。

14樓:錢鑫

不是,消遣而已。。。(這句純屬裝逼

我覺得你能學會什麼比你會什麼更重要,因為程式猿的一生必然是生活在新技術的叢林裡。

acm是乙個提公升思維能力的方式但不是唯一途徑。

除非你以後想做演算法方向,那樣其實也不是很必要。。。概率論高數什麼的也很重要。。。畢竟近些年各種近似演算法也算是層出不窮了

PS:除了acm還有ctf之類的也算是不錯的消遣活動。。。

再PS:我覺得你應該先明確自己要做的是什麼,如果不清楚,我覺得入門到中等程度的acm還是差不多算是百搭的?

15樓:

不是必須。

我大學本科四年都在做ACM,原因是喜歡參加演算法競賽。現在本科畢業了,覺得自己對資料庫、作業系統、編譯原理、設計模式等方面的了解太少了,有些後悔自己做ACM的時間太多了。

建議在學好計算機基礎內容的基礎上,做喜歡做的事情(ACM或是其它)。

16樓:藍色

不是必須,我沒有搞過ACM,現在也是程式設計師了。

建議的話,就是學好計算機基礎,然後做做自己感興趣那方面的專案,比如重複造輪子系列,小的作業系統核心(可以放在Bochs或者QEMU模擬執行),小的語言編譯器/解析器,實現庫函式等等很多很多可以做的。當然,你也可以去OJ刷刷題,當作鞏固自己所學的資料結構與演算法吧,也是挺好的。

程式設計師搞封閉開發的意義是什麼?

鳳舞九天 曾經為了乙個專案七八個人封閉開發,這裡說下封閉開發的好處。首先是進入狀態,大家都在乙個會議室,整天為了一件事,很容易就進入比較高效的工作狀態,比在工位上的時候高效很多。其次是省掉很多亂七八糟的事。網際網路從業者應該都不陌生,整天各種亂七八糟的事找到你,聊天軟體各種群訊息不斷,而且時不時各種...

不在程式設計師的圈內,怎樣可以找到乙個程式設計師做男朋友呢?

程式設計師確實是有好有壞,有的程式猿就挺膨脹,比如我ex覺得他自己特了不起,他平時喜歡打遊戲 科技 攝影 二次元,喜歡日系那種微胖圓臉大眼睛好看的妹子。但是怎麼說呢,渣男乙個。 Zz j 是不是程式設計師無所謂,是乙個靠譜的男朋友才是王道,畢竟很多時候和自己最終走在一起的那個人大多都不是一直之前的擇...

程式設計師應聘面試時被問到「為什麼選擇做程式設計師」該怎麼回答?

George 1.你是什麼時候接觸計算機,接觸到程式這個概念的2.編寫的第乙個程式是什麼,當時給你帶來了哪些感受,例如對程式產生了非常大的興趣 3.再如實地說說你對程式設計師的理解 4.最後也可以順道談談你平時關注的技術動態 公號,以及寫程式的意義等 葡萄芋圓啵啵 來錢快晉公升快,變強也變禿了,哈哈...