作者oopFoo (3d)
標題Re: [討論] 我就問,刷題強者的實務表現?
時間2022-10-02 13:04:25
先上人權。證明一下我可以刷"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 不爽寫了。
: 當然這樣的狀況不只一間公司,
: 我就不指名道姓了
: 大概是被刷題進去的人佔到主管位,
: 所以也就信刷題這一套。
: 但我的疑問是,刷題進去的人,
: 到底產出如何? 只會寫那些數學題型類似的演算法,
: 對於實作沒有足夠經驗,到底可以做出什麼啊?
: 有沒有人跟刷題派合作過? 真的刷題高分等於強嗎?
--
※ 發信站: 批踢踢實業坊(pttsite.org.tw), 來自: 36.224.208.159 (臺灣)
※ 文章網址: https://pttsite.org.tw/Soft_Job/M.1664687076.A.043
推 k798976869: 確實 中小企業找會呼叫函式庫的就好 10/02 13:25
→ worcdlo: 我是覺得這個主題蠻有趣的,但想證明解題能力為何不直接 10/02 13:30
→ worcdlo: 報rating就好,你做過什麼跟能不能寫hard關聯在? 10/02 13:30
推 CaptainH: 我看第一句還以為是要報自己的IOI/ACM/codeforce成績呢 10/02 13:33
→ CaptainH: ,原來又是個自豪調包俠 10/02 13:33
推 sunuzo: 包養網到底在紅什麼? 10/02 13:33 噓 Gaogaigar: 別鬧了這根本跟刷題兩回事 當不了什麼人權 10/02 14:21
推 Ericz7000: ? 10/02 14:40
→ oopFoo: 居然要解釋GJK是一個"HARD" problem?現在小朋友是太厲害? 10/02 14:40
→ oopFoo: 還是不會思考?真實世界的難題沒有考試重要? 10/02 14:41
→ oopFoo: 刷題派已經刷到不懂問題的難易了嗎?雖然是隔行如隔山,但 10/02 14:48
推 UNIQC: 有人被包養嗎 10/02 14:48 → oopFoo: computational geometry是一個難的科目,應該知道吧 10/02 14:49
推 hobnob: 我的想法跟原PO差不多,台灣軟體大部分沒有開發演算法, 10/02 15:03
→ hobnob: 所以對大部分求職者而言刷題沒有意義;如果要精進自己、挑 10/02 15:03
→ hobnob: 戰大廠,刷題才有價值。 10/02 15:03
推 EricTCartman: 大家火氣沒必要那麼大 只是講的東西不同 10/02 15:09
推 dewaro: 求包養...管飽就好XD 10/02 15:09 → EricTCartman: 一般認為"有能力刷hard"大概是cf div2四五題都沒問 10/02 15:10
→ EricTCartman: 題的水準 題目的range就大不少 10/02 15:11
→ EricTCartman: OP要講的是他能夠處理現實世界相當於hard的問題 吧 10/02 15:12
→ EricTCartman: 雖然我點進來也在想 rating成績在哪就是了@@ 10/02 15:12
→ EricTCartman: 比賽是兩小時內要寫完 不是像工作或個人研究可以慢 10/02 15:13
推 Elfego: 阿姨!我不想努力了(求包養) 10/02 15:13 → EricTCartman: 慢找 真要講大家都有能力讀論文、實作 也沒必要拿 10/02 15:14
→ EricTCartman: "年紀"來嗆人小朋友吧XD 10/02 15:14
噓 Gaogaigar: 因為這只顯示你沒有意識所謂刷題有多跟現實無關 慢 10/02 17:17
→ Gaogaigar: 慢研究一個計 10/02 17:17
→ Gaogaigar: 算幾何問題還能翻閱資料跟準備突然在短時間內解開 10/02 17:17
推 Nicodim: 有沒有富二代要包養我 10/02 17:17 → Gaogaigar: 一個冷僻的腦筋 10/02 17:17
→ Gaogaigar: 急轉彎題目 你現在理解差異了嗎? 10/02 17:17
推 AAAWhoAmI: cf div2 可以4~5題比可以刷hard高一個檔次吧 10/02 18:33
推 cseslowpoke: div2 4~5題是可以很輕鬆刷完全部 hard 的程度吧XD 10/03 09:56
→ worcdlo: 我div2通常寫四題,在LC完賽率大概只有90%而已,還是偶 10/03 11:57
推 Foning: 身邊有朋友被包養嗎 10/03 11:57 → worcdlo: 有題目不會寫 10/03 11:57
→ worcdlo: 而且約有30%談不上輕鬆完成,需要想比較久甚至嘗試很多 10/03 12:02
→ worcdlo: 錯誤 10/03 12:02
推 knme: 學習算法也是在認識他的功能及極限 10/03 21:59
推 viper9709: 推這篇 10/04 00:10
推 AKNY: 亞洲最大包養平台上線了 10/04 00:10 推 Ericz7000: 問題是你想測這一點,面試時間有限的情況下你要怎麼做 10/04 02:52
→ Ericz7000: 到? 小公司時間很多就算了,大公司幾千幾萬份申請要 10/04 02:52
→ Ericz7000: 怎麼玩這招? 10/04 02:52
→ oopFoo: 我不是要測這點,是寫軟體是很多面的,刷題真的太侷限,中 10/04 05:55
→ oopFoo: 小企業要考慮自己的需求,適合大公司的常常不適合小企業 10/04 05:57
推 mysister: 這個包養網正妹好多 是真的嗎 10/04 05:57