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

看板Soft_Job (軟體人)作者 (迅雷不及掩耳盜鈴)時間1月前 (), 1月前編輯推噓24(251117)
留言143則, 30人參與, 1月前最新討論串19/23 (看更多)
: 推 strlen: 哪有什麼不能左右?智力測驗都立法不準考了 鬧一鬧以後白 10/05 11:28 : → strlen: 板題也是智力測驗的一種 也立法除非職務有需求不然不準考 10/05 11:28 : → strlen: 也是很合理的啊?我跟你說喇99.99%的程式職缺根本就都用不 10/05 11:29 : → strlen: 到那些拉機白板題 在現實中一點用處都沒有 10/05 11:29 : → strlen: 沒用的東西大家拼命刷 用力刷 這他X的跟古代考八股文有87% 10/05 11:29 : → strlen: 像 這不就是智力測驗的變形而已?腦殘公司才會在那邊通通 10/05 11:30 : → strlen: 考白板 就只是便宜行事而已 10/05 11:30 現實生活中也不少人用不到微積分,你看 看有多少大專院校科系把它列為基礎必修 科目? 我也同意絕大多數的白板面試考題,你在 現實開發場景中幾乎遇不到一模一樣的題 目。但不代表他背後考核的東西,沒有測 驗的價值,也不代表他背後考核的東西, 在現實開發場景中沒有用處。這個我想之 前有版友分享過了: Re: [討論] 軟體工作真的有需要刷題嗎? https://hhp.li/BDCnO 所以舉「99.99%的程式職缺根本就用不到 那些拉基白板題」做為反對白板面試的篩 選機制,說真的有點好笑;我想這可能也 是很多反對刷題仔的一些誤區: (1) 題目要刷夠多? 實際上不是,題目可能背後考的是同一個 思想,有些人練習的題目數量是別人的十 分之一,但卻花心思從中看出了「套路」 可以取一反三寫出其他題。在 Educative 上面有一門很知名的課程有總結這些所謂 的刷題套路(pattern): Grokking the Coding Interview : Patterns for Coding Questions https://hhp.li/8cucv (2) 面試上遇到題目就是要給出最佳解? 實際上可以說是,也可以說不是。有些題 目考核的是你的熟悉度,這種可能就是面 試官希望你能夠一上來就拿出一個複雜度 低的解法;但有些題目考核的是你的溝通 能力與思考過程,這種不用一上來就端出 最佳解,而是一步步在互動過程中完善解 答,甚至有時候你即使這題沒有 AC 也能 拿到比那些背誦給出 AC 的人更高的分數 。 (所以即使你刷過一題,可以直接給出最 佳解,有時候藏拙裝笨會比直接端出最佳 解更好。) 大廠的不同關卡通常會有給定的時間限制 ,可能會預設說這關要出幾題 easy、幾 題 medium、幾題 hard。如果今天預設這 一關要測 2 easy, 1 medium 結果你的時 間只答出 1 easy 那就掰了;如果今天預 設要測 2 hard,結果你直接給最佳解, 省略那些溝通過程,只能出更多 hard。 有些東西是要有一些「感覺」的,要能夠 猜出對方想要測驗什麼,這其實不論刷不 刷題都很重要。 (3) 白板面試測驗到底好不好? 說真的就是「見仁見智」,如同上一篇說 的,他可能只是面試多個關卡中的其中一 個環節;有些大廠還是會考,有些大廠則 有其他選才機制。 我認為他有存在的必要,而且的確是滿適 合作為篩選機制,其中: > 如果給出對方沒見過的題目,能夠考察 對方對於文義的理解,還有能不能在題目 敘述完畢後,額外再來問我一些沒提到的 限制條件或是資料狀況? 舉個比較淺顯易懂的例子,今天題目中有 個操作是需要排序,對方會不會注意原始 資料是不是已經基本有序?會不會問有沒 有記憶體的限制要做額外處理? > 能不能適當地把題目要實作的內容,選 擇適當的資料結構,把問題「抽象化」, 有了適當的資料結構再來設計演算法? 最簡單的就是同樣都是線性結構,可以使 用 Linked List 儲存也可以用 Array 儲 存,為什麼要選其中一個?是根據哪個考 量?為什麼? > 實作過程中有沒有考慮邊界條件,提前 不符合就返回,避免冗贅的計算或是處理 了本身題目就不會進來的條件。 有位教師經常舉因為程式錯誤導致飛機失 事的例子,來說明工程師的重要性。練習 的過程中,會不由自主地去想到這些,當 然這也包含在前面兩點中,有沒有空值? 有沒有負數?有沒有重複值?是不是整數 值? > 有沒有良好的開發習慣?命名習慣?單 元測試? 會不會出現神奇的 a, aa, b, dd 變數名 稱?會不會適當地將操作封裝成函數? 後者的習慣讓我在實際開發上有不小的收 穫,一來是除錯時方便定位,二來是會對 程式更有一種掌控感。中國大陸有一名臉 書離職的員工跑去開了所謂的刷題課,雖 然課程內容我不覺得有多好,但他最一開 始有個導論介紹他怎麼寫題目,收穫算是 頗豐。 他提到他曾經的主管,會在釐清問題之後 先寫下過程中要實作的函數,而不是全部 都寫完邏輯之後再拆分成函數。這種「自 頂向下」的開發方式,會有一種提綱挈領 的用處。 (而且這種習慣,搭配 GitHub Copilot 面對實務中那種常見的 CRUD 寫起來根本 超級無腦……) --- 對了,在 Educative 上還有一門課,介 紹那些「真實世界的例子」: Decode the Coding Interview in Java : Real-World Examples https://hhp.li/HpG0D 不一定要買課程,但可以直接看看目錄, 想想看這些「真實世界的問題」,你會怎 麼解?是不是真的刷題對於這些問題沒有 任何幫助? --- 除了刷題之外,坊間也流傳不少所謂的面 經(面試經驗)和解答,前陣子我一名學 弟跑來問我,順便問問我題目要怎麼回答 比較好。我看了他分享給我的文章之後, 直接跟他說這種文章少看,你可以看題目 自己整理答案消化,但不要拿他的解答去 回答。為什麼呢?其中有一題是這樣的: > Python2 和 Python3 有什麼差異? 絕大多數的解答,會跟你提到那個輸入還 有輸出的差異 input(), print() 難道這個問題想要考察的就只有這樣嗎? 我跟他講說,如果我是面試官,問出這題 之後,想要知道的是: (1) 對方知不知道這兩個版本有差? (2) 對方知不知道改進了什麼?為什麼? (3) 對方知不知道在開發上有什麼影響? (4) [延伸] 為什麼不少系統內建 2.7? (5) [延伸] 要怎麼處理版本差異? 我想聽到的不會是 print 加不加括號這 件事,而是他能不能跟我說一個是函數、 一個是陳述式,為什麼?有什麼差別?我 想知道更進一步的回答,是 import 改成 以絕對路徑處理,還有預設編碼從 ASCII 換成了 UTF8 編碼,還有這兩個版本在處 理表示文字序列的類型時,在 bytes 和 str 的操作上需要考慮什麼? 而不是網路上看了題目,回答那種解答, 那才叫八股。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.109.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1664946084.A.661.html

10/05 13:06, 1月前 , 1F
既然幫助這麼大,那如果FANG不考刷題,你還會刷嗎?
10/05 13:06, 1F
你這問題有點好笑,在 LeetCode 還沒流 行的時候,那時候就不少人會寫 UVa OJ 作為練習了……除了 LeetCode 之外,還 有很多適合練習的地方;比如對 TDD 應 該或多或少聽過 Coding Dojo/Kata 這個 詞,這也是一種練習還有磨練自己開發能 力的方式,你也可以去 Codewars 上面練 習呀。 除此之外,你如果覺得 LeetCode 千篇一 律很無聊,有些有趣的東西呀: > Advent of Code 從 2015 開始,每年十二月的時候一天一 題直到 25 題完成剛好過聖誕節。自己在 網路上搜一下不少老外都有在玩,有的還 會給自己下一些規則,比如每一天都用不 同的程式語言。 > Euler Project 同時練習開發還有鍛鍊數學思考,裡面的 難度跨幅有點大,討論區裡面很多大佬( LeetCode 的討論區也很棒啦)

10/05 13:10, 1月前 , 2F
1樓有不少實務經驗 我想問為什麼大同電鍋煮的米飯比電子
10/05 13:10, 2F

10/05 13:10, 1月前 , 3F
鍋好吃?我在美國不能沒有大同電鍋 想了解
10/05 13:10, 3F

10/05 13:14, 1月前 , 4F
我很愛大同電鍋, 但日本電子鍋煮的飯比較好吃 (亂入
10/05 13:14, 4F

10/05 13:21, 1月前 , 5F
真的比較好吃嗎?有做過盲測?
10/05 13:21, 5F

10/05 13:45, 1月前 , 6F
這篇專業
10/05 13:45, 6F

10/05 14:29, 1月前 , 7F
10/05 14:29, 7F

10/05 14:32, 1月前 , 8F
10/05 14:32, 8F

10/05 14:38, 1月前 , 9F
認同這篇的觀點 反刷題仔很喜歡說面試官能力不夠才只
10/05 14:38, 9F

10/05 14:38, 1月前 , 10F
能考刷題 但很多面試官更在乎的是面試過程中溝通表達
10/05 14:38, 10F

10/05 14:38, 1月前 , 11F
還有思考的過程
10/05 14:38, 11F

10/05 14:41, 1月前 , 12F
做大同電鍋的人有刷題嗎==
10/05 14:41, 12F

10/05 14:50, 1月前 , 13F
微積分算是大學裡的加減乘除吧,列必修蠻合理的
10/05 14:50, 13F

10/05 14:51, 1月前 , 14F
你這是解題思維 現實是完成需求的思維 而且套路通常
10/05 14:51, 14F

10/05 14:52, 1月前 , 15F
不多 多數人都是寫的快堆屎山 大系統能不動就不動
10/05 14:52, 15F
你講這個自己都不覺得有趣嗎?現實裡那 些早早進去卡位的,是要找人進來寫更多 屎?還是希望新的東西不要那麼屎?還是 希望進來的人有能力可以清一下陳年硬屎 ? 都知道舊有系統是坨屎,不能挑一下人讓 這坨屎香一點?

10/05 14:54, 1月前 , 16F
我都會想怎麼做更好 XD
10/05 14:54, 16F
所以沒毛病啊,現實已經有很多屎,但不 想找人進來只會拉屎。用可以量化的方式 找人,合理吧?

10/05 15:00, 1月前 , 17F
現實是多數老屁股覺得這屎山很香 不要動 只有新的需
10/05 15:00, 17F

10/05 15:01, 1月前 , 18F
求才可能交給新來的人 重構機會不是很多 就算給你機
10/05 15:01, 18F

10/05 15:02, 1月前 , 19F
會重構還要被檢討 屎山都是可以搞人論kpi的
10/05 15:02, 19F
那個…你確定要這樣繼續說下去?會打到 很多反刷題仔的臉耶,意指那些實作仔寫 的不過就是屎山而已,沒什麼好吹噓的…

10/05 15:04, 1月前 , 20F
這也是內卷現象 大公司靠入職前一堆門檻擋人 小公司
10/05 15:04, 20F

10/05 15:04, 1月前 , 21F
靠一些說不清的標準擋人
10/05 15:04, 21F

10/05 15:06, 1月前 , 22F
當然應該有公司都有以上兩者 都可以理解 但如果遇到
10/05 15:06, 22F

10/05 15:07, 1月前 , 23F
了會很不爽就是 我相信他們可以做的更好 但是他們可
10/05 15:07, 23F

10/05 15:08, 1月前 , 24F
能見過一堆公司而且家裡有子女才整天搞這個的 我都
10/05 15:08, 24F

10/05 15:08, 1月前 , 25F
覺得要就要不要就不要 不需要再搞什麼優越
10/05 15:08, 25F
當然要有門檻啊,不然阿貓阿狗都進去喔 ?現在這種機制已經很和善了,真的要給 你門檻,先看你學歷再看你 GPA再看經歷 是不是同等級公司,那才叫做搞優越。

10/05 15:10, 1月前 , 26F
我沒說不需要有門檻...
10/05 15:10, 26F

10/05 15:14, 1月前 , 27F
我贊成的事應該讓不同標準門檻存在 具有多樣性
10/05 15:14, 27F

10/05 15:14, 1月前 , 28F
10/05 15:14, 28F

10/05 15:19, 1月前 , 29F
現在這一串討論一堆人意圖使自己擅長的獨大 你死我活
10/05 15:19, 29F

10/05 15:20, 1月前 , 30F
的節奏
10/05 15:20, 30F

10/05 15:31, 1月前 , 31F
而且如果大家都刷題 中小企業的情況會在大公司出現
10/05 15:31, 31F

10/05 15:32, 1月前 , 32F
因為人總是喜歡凸顯自己的高大上
10/05 15:32, 32F

10/05 16:24, 1月前 , 33F
笑死 刷個題講的像是什麼不得了的東西,還多樣性勒,
10/05 16:24, 33F

10/05 16:24, 1月前 , 34F
有底子的一般人隨便準備一個月就綽綽有餘了吧,又不是
10/05 16:24, 34F
還有 69 則推文
還有 7 段內文
10/05 23:02, 1月前 , 104F
大廠為啥要刷題 因為最快能認識你跟篩選人選 策略不同
10/05 23:02, 104F

10/05 23:02, 1月前 , 105F
你今天真的夠牛homebrew自己文章也寫了 他化學畢業
10/05 23:02, 105F

10/05 23:03, 1月前 , 106F
但他自認很會寫code 股歌的面試官也沒為難他 就出了道轉
10/05 23:03, 106F

10/05 23:03, 1月前 , 107F
樹 這超簡單的有認真準備面試的穩過 誰知道他還真不會
10/05 23:03, 107F

10/05 23:03, 1月前 , 108F
那面試官真tm雖小 想直接讓你pass你都能翻車
10/05 23:03, 108F

10/05 23:04, 1月前 , 109F
如果真的覺得刷題沒有用 可以去面試那種不用刷題的公司
10/05 23:04, 109F

10/05 23:04, 1月前 , 110F
PHP臭了嗎
10/05 23:04, 110F

10/05 23:04, 1月前 , 111F
為啥還來這邊吵呢 還是剛好大廠90%以上都要刷題打擊到你
10/05 23:04, 111F

10/05 23:05, 1月前 , 112F
們自尊心了? 考LEETCODE真的有這麼難嗎?
10/05 23:05, 112F

10/05 23:05, 1月前 , 113F
但凡大學有上過演算法課程的 認真點幾乎都能夠處理
10/05 23:05, 113F

10/05 23:05, 1月前 , 114F
戰電鍋戰起來!啊不是…戰刷題才是…
10/05 23:05, 114F

10/05 23:07, 1月前 , 115F

10/05 23:27, 1月前 , 116F
大同電鍋煮出來的米飯並不會比較好吃 但是因為你知道這一
10/05 23:27, 116F

10/05 23:28, 1月前 , 117F
點 所以你會特別在煮飯之前泡米泡個30分鐘 煮米的時候直
10/05 23:28, 117F

10/05 23:28, 1月前 , 118F
接用40-50度的水煮 煮完後還會放一會燜個5-10分鐘 做軟
10/05 23:28, 118F

10/05 23:29, 1月前 , 119F
體也一樣 你拿到一個好的code repo你可以隨便改改 別改壞
10/05 23:29, 119F

10/05 23:29, 1月前 , 120F
的情況下他依然很好 如果拿到一個壞的code repo 你就要
10/05 23:29, 120F

10/05 23:29, 1月前 , 121F
花更多心力去維護他以達到同樣的效果 好好維護說不定比好
10/05 23:29, 121F

10/05 23:30, 1月前 , 122F
code repo還好 生活實務跟軟體實務都是同一個概念 這沒
10/05 23:30, 122F

10/05 23:30, 1月前 , 123F
有標準答案 如果你對我的答案嗤之以鼻 那就是問實務經驗
10/05 23:30, 123F

10/05 23:30, 1月前 , 124F
並沒有用 只是某個號稱實務能力很重要的人卻沒有答案
10/05 23:30, 124F

10/05 23:44, 1月前 , 125F
然後問完大概又要戰面試這又不一定懂大同電鍋或煮飯 變成
10/05 23:44, 125F

10/05 23:44, 1月前 , 126F
要公司只問面試者會的實務經驗 然後又憑甚麼規定公司只
10/05 23:44, 126F

10/05 23:45, 1月前 , 127F
能問自己會的 面試者好大權力
10/05 23:45, 127F

10/05 23:49, 1月前 , 128F
然後又要戰公司工作內容又不包含煮飯 噗
10/05 23:49, 128F

10/05 23:51, 1月前 , 129F
所以最好問工作會用到然後面試者又懂得 比如安裝python
10/05 23:51, 129F

10/05 23:51, 1月前 , 130F
lib XD
10/05 23:51, 130F

10/05 23:53, 1月前 , 131F
原來大同電鍋煮飯不好吃?@@
10/05 23:53, 131F

10/06 01:07, 1月前 , 132F
10/06 01:07, 132F

10/06 06:50, 1月前 , 133F
都用動物牌電子鍋煮飯,大同我不太會用常有鍋巴
10/06 06:50, 133F

10/06 09:27, 1月前 , 134F
抱歉,我個人吃過最好吃的白飯要用砂鍋直火煮,但是難度
10/06 09:27, 134F

10/06 09:28, 1月前 , 135F
很高,我常常弄到翻車,但要是運氣好成功的話,那飯吃起來
10/06 09:28, 135F

10/06 09:29, 1月前 , 136F
無法形容的好吃.
10/06 09:29, 136F

10/06 09:31, 1月前 , 137F
另外想起,傳統香港煲仔飯煮飯的作法也是用砂鍋.但現在
10/06 09:31, 137F

10/06 09:31, 1月前 , 138F
香港的煲仔飯變質了.為了出餐快,飯都先煮七分熟,垃圾
10/06 09:31, 138F

10/06 14:14, 1月前 , 139F
朋友去面助工java缺考leetcode 進出之後都在寫vue
10/06 14:14, 139F

10/06 23:49, 1月前 , 140F
大同電鍋煮只是人為因素佔比較多而已,技術好的來煮一
10/06 23:49, 140F

10/06 23:49, 1月前 , 141F
樣好吃吧
10/06 23:49, 141F

10/07 09:21, 1月前 , 142F
就是 你連刷都不刷 那就不要進來了
10/07 09:21, 142F

10/08 19:02, 1月前 , 143F
python版本差異這段寫的不錯
10/08 19:02, 143F
文章代碼(AID): #1ZFG-aPX (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1ZFG-aPX (Soft_Job)