Re: [討論] 我就問,刷題強者的實務表現?
先上人權。證明一下我可以刷"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 不爽寫了。
: 當然這樣的狀況不只一間公司,
: 我就不指名道姓了
: 大概是被刷題進去的人佔到主管位,
: 所以也就信刷題這一套。
: 但我的疑問是,刷題進去的人,
: 到底產出如何? 只會寫那些數學題型類似的演算法,
: 對於實作沒有足夠經驗,到底可以做出什麼啊?
: 有沒有人跟刷題派合作過? 真的刷題高分等於強嗎?
--
確實 中小企業找會呼叫函式庫的就好
我是覺得這個主題蠻有趣的,但想證明解題能力為何不直接
報rating就好,你做過什麼跟能不能寫hard關聯在?
我看第一句還以為是要報自己的IOI/ACM/codeforce成績呢
,原來又是個自豪調包俠
別鬧了這根本跟刷題兩回事 當不了什麼人權
?
居然要解釋GJK是一個"HARD" problem?現在小朋友是太厲害?
還是不會思考?真實世界的難題沒有考試重要?
刷題派已經刷到不懂問題的難易了嗎?雖然是隔行如隔山,但
computational geometry是一個難的科目,應該知道吧
我的想法跟原PO差不多,台灣軟體大部分沒有開發演算法,
所以對大部分求職者而言刷題沒有意義;如果要精進自己、挑
戰大廠,刷題才有價值。
大家火氣沒必要那麼大 只是講的東西不同
一般認為"有能力刷hard"大概是cf div2四五題都沒問
題的水準 題目的range就大不少
OP要講的是他能夠處理現實世界相當於hard的問題 吧
雖然我點進來也在想 rating成績在哪就是了@@
比賽是兩小時內要寫完 不是像工作或個人研究可以慢
慢找 真要講大家都有能力讀論文、實作 也沒必要拿
"年紀"來嗆人小朋友吧XD
Yeah,這點是我錯
因為這只顯示你沒有意識所謂刷題有多跟現實無關 慢
慢研究一個計
算幾何問題還能翻閱資料跟準備突然在短時間內解開
一個冷僻的腦筋
急轉彎題目 你現在理解差異了嗎?
cf div2 可以4~5題比可以刷hard高一個檔次吧
div2 4~5題是可以很輕鬆刷完全部 hard 的程度吧XD
我div2通常寫四題,在LC完賽率大概只有90%而已,還是偶
有題目不會寫
而且約有30%談不上輕鬆完成,需要想比較久甚至嘗試很多
錯誤
面試不會像比賽那麼趕,也可討論,就算有小錯,正常面試官都會給過。而且其實我是暗示,出來做事,不像刷題有標準答案,有能力抓錯也很重要。偏重刷題的面試,沒有測這點。
※ 編輯: oopFoo (101.137.249.187 臺灣), 10/03/2022 20:47:25學習算法也是在認識他的功能及極限
推這篇
問題是你想測這一點,面試時間有限的情況下你要怎麼做
到? 小公司時間很多就算了,大公司幾千幾萬份申請要
怎麼玩這招?
我不是要測這點,是寫軟體是很多面的,刷題真的太侷限,中
小企業要考慮自己的需求,適合大公司的常常不適合小企業
4
我是真的覺得 刷題這種東西還是很看領域 現在工作是做cloud infrastructure network 一年 沒真的用過什麼困難演算法 頂多實作bitmap tree binary tree linked list這種程度而? 更常用到的是對kernel的理解 能不能對runtime process做效能分析去改善自己的程式(譬 如cache miss) 對multi thread lock或sync的取捨 對network的理解度(不是只是知道tc15
我曾經被某個在上海的Google HR主管勾搭過問說要不要台灣的L6機會 深入了解了一下就拒絕了, 拒絕之後就聊了聊天吧 聊到刷題這件事, 他說, 基本上, 所有層級的Google面試流程都是要刷題的 無論你是L6, L7 (L8或以上我不知道呀) 我說: 你這根本狗屁吧?真的有L6能力的技術主管平常忙都忙死了, 誰還和你練刷題?27
我親身經驗,刷題非常有用 347 top k frequent elements 23 merge k sorted lists 56 merge intervals 一些基本的工具如 recursion , tree , map , deque ,比較稍微難的像line sweep , biwise12
其實很簡單 那些大公司(FAANG等等)他們在意的是減少 false positive 也就是不小心找到廢的人 畢竟工程師很貴 他們不在意因為考演算法題 不小心刷掉其實很強但只是不會寫題的(或是自稱) 畢竟公司那麼有名 不怕找不到人7
刷題強 實務經驗強 -> 內卷勝利者到哪都能找到好工作 最多抱怨一下"Algorithm 101的 東西還要考"? 刷題強 實務經驗弱 -> 通常很喜歡現在風氣,人手一本cracking coding interview。只 要準備leetcode就能進大廠拿高薪。把刷題當作求職準備,就像面試要穿西裝一樣,沒 什麼可抱怨的。4
其實考那些演算法小題目原本是很有鑑別力 但自從Leetcode這種面試題庫網站網站出來後 就從智力測驗變成記憶力測驗 當初這種考試是希望找到臨場想就能15分鐘想出最佳演算法 實作全無失誤 也考慮所有邊際輸入的真強者24
現實生活中也不少人用不到微積分,你看 看有多少大專院校科系把它列為基礎必修 科目? 我也同意絕大多數的白板面試考題,你在 現實開發場景中幾乎遇不到一模一樣的題7
看了大家吵成這樣那要不要全部都考? 例如: 第一輪:線上考試 LC medium 兩題 90分鐘 第二輪:主管面試談經驗 第三輪:考實做 例如工作內容是backend那就直接給CSV然後要做出一個server端 第四輪:考systems design17
我不曉得怎樣叫做實務好啦 但我自認家父應該是不錯的 從30年前ATM 時代到現在Ethernet/2G~4G的L2L3 network protocol 幾乎常見的每一個都會 實作也可以自己做出可上市的產品 20多年前也裸去過矽谷待過半年(家族問題就回來了)20
說到這個我想到一件事,我有個朋友高中時 期成績很棒,還拿過國際地理奧林匹亞競賽 的獎牌。 然而這個競賽和其他國際奧林匹亞科學競賽 有些不同,不同點在於:
爆
Re: [閒聊] 前風俗娘一直在我YT首頁我跟你講,如果你自動播放的下一首有疑似印度人的歌曲 千萬不要讓他播 我上次去上個廁所,我的YT就只自動播放一下 就那麼一下 我的首頁就充滿了印度人的歌曲跟推薦歌單爆
Re: [問卦] 杜奕瑾:烏俄戰爭駐批踢踢內應的也沒閒著抓到 那就去檢調舉報啊 反滲透法吃乾飯的嗎? 今天檢察官可以因為懷疑松鼠鳥是被人丟到高壓電塔上的 而動用公部門力量全面徹查86
[心得] 最完整!演算法學習路線圖(2021 統整版)Top 5 架構圖44
[討論] 我就問,刷題強者的實務表現?最近一次面到刷題的公司...感覺已經走火入魔了, 考試考到難的程度,比 Google 還難 去年就面過一次,當時考題 Easy ~ Medium 隔了一年還在找人,人資看我資歷主動邀我面試, 卻考得更難...有真心要找可以解決問題的人嗎?15
[心得] 最完整!演算法學習路線圖(2021 統整版)Top 5 架構圖10
Re: [討論] 我就問,刷題強者的實務表現?各位同仁大家好,小弟是人稱慣老闆的阿肥 阿肥我非常贊同刷題這件事 已有很多賢達文章回覆,但多為受雇方或求職者的角度, 阿肥趁此以另一方的角度來闡述刷題這件事 不只要刷題,而且要7
[問卦] 有人覺得Youtube的演算法很爛嗎?youtube主要是用興趣演算法去找你喜歡看的影片 像是你看的A領域的影片 他就會繼續推A領域相關的影片給你看 那如果A領域的東西你都看得差不多 或是看膩了7
Re: [討論] 我就問,刷題強者的實務表現?不知道您是面試什麼產業、什麼規模的公司、什麼職位 我建議還是講的具體一點,大家比較有討論空間 : 我就不指名道姓了 : 大概是被刷題進去的人佔到主管位, 就我經驗大部分公司,你去面主管位置的職缺X
[問卦] 先有演算法 還是先有資料結構常見的資料結構有 堆疊(Stack)佇列(Queue)陣列(Array)連結串列(Linked List) 樹(Tree)圖(Graph)堆積(Heap)雜湊表(Hash table) 在一段程式的設計 先有考慮演算法? 還是先考慮資料結構?