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

軟工

16102

先上人權。證明一下我可以刷"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但其實工作完全用不到,會比有實績的人更適合嗎?

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

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

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

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.208.159 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1664687076.A.043.html
k7989768691樓確實 中小企業找會呼叫函式庫的就好 10/02 13:25
worcdlo2樓我是覺得這個主題蠻有趣的,但想證明解題能力為何不直接 10/02 13:30
worcdlo3樓報rating就好,你做過什麼跟能不能寫hard關聯在? 10/02 13:30
CaptainH4樓我看第一句還以為是要報自己的IOI/ACM/codeforce成績呢 10/02 13:33
CaptainH5樓,原來又是個自豪調包俠 10/02 13:33
Gaogaigar6樓別鬧了這根本跟刷題兩回事 當不了什麼人權 10/02 14:21
Ericz70007樓 10/02 14:40
本人8樓居然要解釋GJK是一個"HARD" problem?現在小朋友是太厲害? 10/02 14:40
本人9樓還是不會思考?真實世界的難題沒有考試重要? 10/02 14:41
本人10樓刷題派已經刷到不懂問題的難易了嗎?雖然是隔行如隔山,但 10/02 14:48
本人11樓computational geometry是一個難的科目,應該知道吧 10/02 14:49
hobnob12樓我的想法跟原PO差不多,台灣軟體大部分沒有開發演算法, 10/02 15:03
hobnob13樓所以對大部分求職者而言刷題沒有意義;如果要精進自己、挑 10/02 15:03
hobnob14樓戰大廠,刷題才有價值。 10/02 15:03
EricTCartman15樓大家火氣沒必要那麼大 只是講的東西不同 10/02 15:09
EricTCartman16樓一般認為"有能力刷hard"大概是cf div2四五題都沒問 10/02 15:10
EricTCartman17樓題的水準 題目的range就大不少 10/02 15:11
EricTCartman18樓OP要講的是他能夠處理現實世界相當於hard的問題 吧 10/02 15:12
EricTCartman19樓雖然我點進來也在想 rating成績在哪就是了@@ 10/02 15:12
EricTCartman20樓比賽是兩小時內要寫完 不是像工作或個人研究可以慢 10/02 15:13
EricTCartman21樓慢找 真要講大家都有能力讀論文、實作 也沒必要拿 10/02 15:14
EricTCartman22樓"年紀"來嗆人小朋友吧XD 10/02 15:14
Yeah,這點是我錯
Gaogaigar23樓因為這只顯示你沒有意識所謂刷題有多跟現實無關 慢 10/02 17:17
Gaogaigar24樓慢研究一個計 10/02 17:17
Gaogaigar25樓算幾何問題還能翻閱資料跟準備突然在短時間內解開 10/02 17:17
Gaogaigar26樓一個冷僻的腦筋 10/02 17:17
Gaogaigar27樓急轉彎題目 你現在理解差異了嗎? 10/02 17:17
AAAWhoAmI28樓cf div2 可以4~5題比可以刷hard高一個檔次吧 10/02 18:33
cseslowpoke29樓div2 4~5題是可以很輕鬆刷完全部 hard 的程度吧XD 10/03 09:56
worcdlo30樓我div2通常寫四題,在LC完賽率大概只有90%而已,還是偶 10/03 11:57