PTT推薦

Re: [討論] 我就問,刷題強者的實務表現?

看板Soft_Job標題Re: [討論] 我就問,刷題強者的實務表現?作者
oopFoo
(3d)
時間推噓 8 推:10 噓:2 →:28

先上人權。證明一下我可以刷"Hard"
----------------
這個禮拜剛好看到gjk(Gilbert–Johnson–Keerthi)上news ycombinator. gjk是我以前寫3d的時候,跳過的一個演算法,因為複雜。剛好這禮拜有空,就好好研究一下。

現在google "gjk"出來的大概都是用https://caseymuratori.com/blog_0003 方法。
雖然casey的方法對2d很棒,但他宣稱可延伸到3d其實是錯的。

為什麼我知道casey的方法有問題?其實我本來不知道,但我收尋到
https://gamedev.net/forums/topic/692141-collision-detection-why-gjk/
Dirk Gregorius 說Casey的"最佳化"方法不行,他們試過了。Dirk 也算是厲害的人物,所以我就重新檢視Casey的方法。

仔細想了一下,發現問題所在了,line segment在2d裡,可以分in,out,因為有implicit的Z plane上下切。但在3d裡,line segment沒有plane可以切,所以casey的方法在3d不適用。

所以gjk在3d裡做碰撞,你沒辦法用SAT來最佳化

如果你對gjk有興趣的話,John Nagle有講你需要注意的事項(John就是tcp nagle演算法的Nagle).
https://gamedev.net/forums/topic/692141-collision-detection-why-gjk/5380632/?page=2

Casey的gjk確實很棒,解釋的很清楚,但可惜只能在2d用。
------------------
我想我大概證明我可以刷數學,演算法,資料結構。可是會這些其實沒大幫助。

現在3d物理運算有https://github.com/NVIDIAGameWorks/PhysX
免費讓你用,unreal/unity都是用這個。就算你有特殊需求,也有人繼續開發新的如https://github.com/jrouwe/JoltPhysics <地平線 西域禁地>免費讓你用。
https://box2d.org/ 也幾乎成為2d物理的標配。

其實現在寫程式,99.9%只是在組裝各種api,搞定naming,refactor 好,test好,ci好。資料結構,演算法?都已經幫你套在framework裡面了。

所以元po的抱怨是很合理的,能通過hard但其實工作完全用不到,會比有實績的人更適合嗎?

而且會刷題的人,當然是去高薪/大公司面試刷題,幹麼要去小公司/新創?

中小企業找人已經很難,真的不需要去用這些演算法來篩選,如果你公司根本沒在寫演算法。

※ 引述《goodson (blahblah)》之銘言:
: 最近一次面到刷題的公司...感覺已經走火入魔了,
: 考試考到難的程度,比 Google 還難
: 去年就面過一次,當時考題 Easy ~ Medium
: 隔了一年還在找人,人資看我資歷主動邀我面試,
: 卻考得更難...有真心要找可以解決問題的人嗎?
: 都沒有照照鏡子,貴司的薪水可以比 G 還高嗎?
: 我考得過 Hard,還需要領你這 120 萬左右年薪?
: 我近十年經驗,可以拿出數十萬下載量
: 還在線的作品不被重視,
: 卻考 Hard 難度的考題來羞辱人浪費我的時間,
: 我看了考題十分鐘就 submit 不爽寫了。
: 當然這樣的狀況不只一間公司,
: 我就不指名道姓了
: 大概是被刷題進去的人佔到主管位,
: 所以也就信刷題這一套。
: 但我的疑問是,刷題進去的人,
: 到底產出如何? 只會寫那些數學題型類似的演算法,
: 對於實作沒有足夠經驗,到底可以做出什麼啊?
: 有沒有人跟刷題派合作過? 真的刷題高分等於強嗎?

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.208.159 (臺灣)
PTT 網址

k79897686910/02 13:25確實 中小企業找會呼叫函式庫的就好

worcdlo10/02 13:30我是覺得這個主題蠻有趣的,但想證明解題能力為何不直接

worcdlo10/02 13:30報rating就好,你做過什麼跟能不能寫hard關聯在?

CaptainH10/02 13:33我看第一句還以為是要報自己的IOI/ACM/codeforce成績呢

CaptainH10/02 13:33,原來又是個自豪調包俠

Gaogaigar10/02 14:21別鬧了這根本跟刷題兩回事 當不了什麼人權

Ericz700010/02 14:40

oopFoo10/02 14:40居然要解釋GJK是一個"HARD" problem?現在小朋友是太厲害?

oopFoo10/02 14:41還是不會思考?真實世界的難題沒有考試重要?

oopFoo10/02 14:48刷題派已經刷到不懂問題的難易了嗎?雖然是隔行如隔山,但

oopFoo10/02 14:49computational geometry是一個難的科目,應該知道吧

hobnob10/02 15:03我的想法跟原PO差不多,台灣軟體大部分沒有開發演算法,

hobnob10/02 15:03所以對大部分求職者而言刷題沒有意義;如果要精進自己、挑

hobnob10/02 15:03戰大廠,刷題才有價值。

EricTCartman10/02 15:09大家火氣沒必要那麼大 只是講的東西不同

EricTCartman10/02 15:10一般認為"有能力刷hard"大概是cf div2四五題都沒問

EricTCartman10/02 15:11題的水準 題目的range就大不少

EricTCartman10/02 15:12OP要講的是他能夠處理現實世界相當於hard的問題 吧

EricTCartman10/02 15:12雖然我點進來也在想 rating成績在哪就是了@@

EricTCartman10/02 15:13比賽是兩小時內要寫完 不是像工作或個人研究可以慢

EricTCartman10/02 15:14慢找 真要講大家都有能力讀論文、實作 也沒必要拿

EricTCartman10/02 15:14"年紀"來嗆人小朋友吧XD

Yeah,這點是我錯

Gaogaigar10/02 17:17因為這只顯示你沒有意識所謂刷題有多跟現實無關 慢

Gaogaigar10/02 17:17慢研究一個計

Gaogaigar10/02 17:17算幾何問題還能翻閱資料跟準備突然在短時間內解開

Gaogaigar10/02 17:17一個冷僻的腦筋

Gaogaigar10/02 17:17急轉彎題目 你現在理解差異了嗎?

AAAWhoAmI10/02 18:33cf div2 可以4~5題比可以刷hard高一個檔次吧

cseslowpoke10/03 09:56div2 4~5題是可以很輕鬆刷完全部 hard 的程度吧XD

worcdlo10/03 11:57我div2通常寫四題,在LC完賽率大概只有90%而已,還是偶

worcdlo10/03 11:57有題目不會寫

worcdlo10/03 12:02而且約有30%談不上輕鬆完成,需要想比較久甚至嘗試很多

worcdlo10/03 12:02錯誤

面試不會像比賽那麼趕,也可討論,就算有小錯,正常面試官都會給過。而且其實我是暗示,出來做事,不像刷題有標準答案,有能力抓錯也很重要。偏重刷題的面試,沒有測這點。

※ 編輯: oopFoo (101.137.249.187 臺灣), 10/03/2022 20:47:25

knme10/03 21:59學習算法也是在認識他的功能及極限

viper970910/04 00:10推這篇

Ericz700010/04 02:52問題是你想測這一點,面試時間有限的情況下你要怎麼做

Ericz700010/04 02:52到? 小公司時間很多就算了,大公司幾千幾萬份申請要

Ericz700010/04 02:52怎麼玩這招?

oopFoo10/04 05:55我不是要測這點,是寫軟體是很多面的,刷題真的太侷限,中

oopFoo10/04 05:57小企業要考慮自己的需求,適合大公司的常常不適合小企業