看板 Soft_Job 關於我們 聯絡資訊
先上人權。證明一下我可以刷"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.cc), 來自: 36.224.208.159 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1664687076.A.043.html
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
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
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
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
EricTCartman: 慢找 真要講大家都有能力讀論文、實作 也沒必要拿 10/02 15:14
EricTCartman: "年紀"來嗆人小朋友吧XD 10/02 15:14
Yeah,這點是我錯
Gaogaigar: 因為這只顯示你沒有意識所謂刷題有多跟現實無關 慢 10/02 17:17
Gaogaigar: 慢研究一個計 10/02 17:17
Gaogaigar: 算幾何問題還能翻閱資料跟準備突然在短時間內解開 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
worcdlo: 有題目不會寫 10/03 11:57
worcdlo: 而且約有30%談不上輕鬆完成,需要想比較久甚至嘗試很多 10/03 12:02
worcdlo: 錯誤 10/03 12:02
面試不會像比賽那麼趕,也可討論,就算有小錯,正常面試官都會給過。而且其實我是暗示,出來做事,不像刷題有標準答案,有能力抓錯也很重要。偏重刷題的面試,沒有測這點。 ※ 編輯: oopFoo (101.137.249.187 臺灣), 10/03/2022 20:47:25
knme: 學習算法也是在認識他的功能及極限 10/03 21:59
viper9709: 推這篇 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