Re: [討論] 技術總監有可能不懂BFS嗎??
看到這個可以聊一下big O notation,很多人在面試的時候可能會回答/或聽到面試官說「big O notation是一個評估演算法效能的方式」
…..其實並不是的哦~
big O notation在數學上是用來描述一個函數的參數在趨近於特定值或無限時的行為表達方式。在computer science領域則是在看「當input size趨於無限時,函數行為為何」的「分類方式」,和效能沒有直接關係。
舉個例子,例如今天有解同一個問題的兩個演算法,一個分析出來其時間複雜度為10^100*x,另一個分析出來時間複雜度是10^(-100)*x^1.1。則前者的big O notation為O(x),後者為O(x^1.1),明顯前者更加,但在實務上,當然大家應該會選擇後者的演算法。因此big O notation基本上是一個在分析層面的工具更多一些,在效能評比上可以當作理論分析用,但不是全部,實際開發時還是要透過benchmark才能得到最正確的結論。
因此,不管你是面試官或面試者,只要你聽到有人說big O notation是能拿評估演算法效能的,勇敢嗆回去吧XDDDD
※ 引述《LinuxKernel (Linus Torvalds)》之銘言:
: 剛看到這個 YT 影片,不喜勿點
: https://www.youtube.com/watch?v=BkszA-MvjXA
: 在地上滾的工程師 aka Nic aka 工程技術總監
: 合拍了一個 coding interview 影片
: 一開始還想說應該是反串吧
: 但看到最後怎麼好像又不是??
: 軟體業的工程技術總監有可能分不清楚 BFS vs. DFS 或是 stack vs. queue 嗎??
--
Sent from nPTT on my iPhone 11 Pro
--
n要夠大比級數才有意義,不然常數的影響也要考慮進去
不同的scale下效能不一定一樣,實際跑Benchmark較為穩當
嗆回去不知道會不會適得其反?
他是用來評估演算法用來解決大型問題的可能性,也可以用來
評估當今天計算資源改善時,能夠獲得多少價值的模型;用你
的說法嗆回去,對方會覺得你導果為因吧?就是因為今天一段
程式,面對不同規模的資料量,以及跑在不同機器上所需要的
處理時間不同,才需要用他來分析呀…
你沒看懂我說的吧,我沒說範例那邊有問題,除此之外還有更
多可以納入討論的東西,如常數項、被忽略掉的內循環,還有
資料本身狀態等;你可以說他不代表實際執行的狀況優劣,但
他的確是用來評估跟分析演算法性能的數學模型...
建議你勇敢寄信去嗆 Steven Skiena
它確實可以做基礎效能評估啊,太鑽牛角尖只會適得其反
就一句 scale 的問題還能說這麼長一篇也不簡單就是了
唉 可以吧,我的錯,就拿big O去評估效能唄
我上面的敘述,第四第五則推文是 Robert Sedgewick 書裡寫
的,上面截圖是 The Alogrithm Design Manual 的內容,文章
內容部分沒錯呀,但你說要嗆面試官的那條敘述是對的吧
教科書中都有提到這件事,而 Anany Levitin 有說在多數狀況
下,被乘的常數影響沒有這麼顯著。
硬要琢磨理論感覺有點像在強詞奪理 實務上也不太會有
常數項差這麼多的演算法吧
爆
首Po剛看到這個 YT 影片,不喜勿點 在地上滾的工程師 aka Nic aka 工程技術總監 合拍了一個 coding interview 影片 一開始還想說應該是反串吧21
想問是不是我們程式猴子們都喜歡互相diss呀... YT們拍片基本上都有劇本吧 而且Terry一直以來拍片風格都北爛北爛的 卻一堆留言在說這怎可能是演的 這也太廢24
大概是這樣評估啦 年薪50萬以下的通常不太在意技術 年薪50-100萬的通常會很重視技術 年薪100萬-150萬的會覺得技術才是王道 年薪150萬-300萬的會覺得有比技術更重要的東西6
來單純技術討論一下好了 其實 Visit 也不用限制一定要用 HashMap/HashSet 做 Leetcode 上很多題目的 nodes tag 都是連續的數字或英文字母 這個時候用一般的 Array 效能就會比 HashMap/HashSet 好非常多: 1. 不需動態分配記憶體(感謝一樓提醒)15
Big O就像前面某版友推文的比喻 就算不是加減乘除 也是九九乘法表等級 這能忘? 阿茲海默了嗎? 不要隨便亂類比成技術 什麼500萬+ 哪個人 說出名字X
欸不是 就寫個大概而已 你怎麼這麼認真 又不是說是絕對的 你是不是100萬-150萬?20
我沒看影片 純就標題其實BFS DFS有時候真的會搞錯 之前面試某小公司 就遇到一題用BFS解 但面試官叫我講解演算法 就一時頭昏說這是DFS 還有其他關都一些大大小小的錯誤
爆
[面試] 2021跳槽面試: Google/Linkedin/Oracle左思右想,身在科技業還是該承擔起分享面試經驗的責任 以下簡短介紹拿到面試途徑, 面試難易度評價及心得 跳槽職位介於SDE mid ~ senior level ------------------------------- Google (Offer)98
[請益] (ByteDance 面試) 兩種不同寫法的複雜度分析事情是這樣的,今天下午面了 ByteDance 2023 的缺 (Algorithm Engineer) 考了 leetcode 3. Longest Substring Without Repeating Characters () 我的解法:20
[情報] AMD的big Navi要延期:9月對戰安培沒戲了NVIDIA的RTX 30系列安培遊戲卡9月份上市應該沒多少懸念了,AMD這邊的big Navi顯卡一 直很受關注 最近傳聞稱其效能比RTX 2080 Ti高出50%,值得期待,但是發佈日期就不那麼明朗了,9 月份對戰安培顯卡應該沒戲。 今年的臺北電腦展先是延期到9月中旬,接著又取消,不過很多廠商依然計畫在9月中旬發26
[請益] 如何準備Google SWE Interview: C++本魯一直都在用C(user space, driver), 自我感覺是蠻有信心的 但是, 對C++只有到能看code去debug其他module的基礎, 還沒有從頭到尾寫過一個完整的複雜的C++程式. Google hiring specialist也許看上我過去的某些經歷: multimedia, networking24
Re: [新聞] Meta與Google正悄悄裁員自己只有兩年經驗,分享一下自己看法。 刷題對於懂語法,但對資料結構沒那麼熟的人來說幫助還是很大。這年大概陸陸續續刷了 500題,對各種資料結構操作的複雜度熟了很多,也更快的能分析如何優化,有什麼 tradeoff。前公司在做圖論相關演算法,dijkstra, prim, bfs, dfs, dynamic programming等都很常使用,刷題更是有直接的幫助。題庫網的測資其實都蠻齊全,也有20
Re: [討論] 刷leetcode的語言選擇最近剛好有在指導一些學生練習,可以來回應一下這個問題 一般最常見語言有三個:C, JAVA, Python 也是最容易找到範例 code 的三個語言 各有不同優點,可以看你的狀況選擇 首先,如果未來有一天14
[心得] 新鮮人面試心得各位大大好,前陣子面試期間從版上得到了許多有關面試的資訊, 因此決定在面試告一個段落後,將面試心得回饋於版上。 因為是首次發文,排版或格式上有誤,還請多多包涵。 ===================================================== 背景:國立後段科大,本科系,碩畢。5
Re: [問卦] 演算法,一次考15章節怎麼唸啊南無阿彌陀佛。 其實演算法課本的15章,未必會真的很難纏,因為演算法的東西常常是掌握一個巧妙的 觀察或技巧,剩下什麼都迎刃而解的,而且各個主題幾乎獨立,可以分開讀。 幹嘛要證明的部份:其實演算法這個領域本來就是純做定理證明喔~例如這領域的頂尖 期刊TALG、Algorithmica等,和頂尖會議如SODA等,都是純做定理證明,非頂尖的其實X
[問卦] 杜奕瑾是不是可以用AI成為下一個硬杜神童印度神童 - 阿南德曾因預言全球將陷入瘟疫災情而舉世聞名,在YouTube上傳了無數影片不時提醒世人,聲明自己是用吠陀占星術 大數據 Big Data 分析預測未來,是一個歷史悠久的統計學 那麼創世神是不是跟阿南德 Copy 一下 Dataset,找找看哪組模型演算法最準,調一下參數就可以成為下一個歹丸神童惹? 人家阿南德還是自己人腦慢慢算,用AI算一定又快又準 這樣唐揚雞、站微腫都一定會被比下去,成為下一屆國師指日可待!! 藝名我想好了X
[問卦] 修完演算法 還是算不到學妹的心意怎麼小弟我修完演算法 學會怎麼分析和證明複雜度 可是套用在學妹上卻不管用 怎麼樣都算不出學妹的心意? --