ref: https://medium.com/srivatsan-sridharan/cracking-the-engineering-manager-interview-faqs-94dcfdf38ef
這篇文章是作者分享關於 EM(Engineering Manager) 面試相關的討論文,作者先前已經分享過一系列關於 Engineering Manager 面試的一些經驗
有滿多網友表示之前系列文的分享讓他們有一個方向去準備這類型的面試,而成果也是非常的好。
因此作者寫了最後一篇來分享面試的一些心得與想法
包含下列主題,本文就針對幾個主題進行介紹,對於有興趣的讀者別忘了參閱全文
How important are the technical interviews in the EM interview loop?
Do I need to practice Leetcode to crack the coding rounds?
What if I don’t have relevant experiences to answer situational or experience based questions?
What if I’ve never had to let go of someone from my team?
How much detail should I go into when talking about a situation?
When asked about my weaknesses as a manager, what should I say?
How do I answer the question — what is your management philosophy?
What are some failure modes or traps to watch out for?
How important are the technical interviews in the EM interview loop?
1. 非常重要,雖然大部分情況下 EM 可能沒有太多寫程式的機會,但是沒有技術背景的人是要如何管理一群技術人?
2. 相對於單純寫 Code,技術架構的瞭解更為重要
3. 技術能力與領導經驗哪個更為重要還是要看公司,沒有一定答案,找工作的時後請先好好問一下 recruiter 這些小細節
Do I need to practice Leetcode to crack the coding rounds?
1. 具備 Leetcode medium 等級的能力即可,除非該公司期望 EC 職位的人也必須要從事 IC(Individual Contributor) 或是非常小心創的 Tech Head。不然大部分情況不會遇到太複雜的演算法題目
2. 更多的情況會是詢問如何使用一些基本的資料結構或是解決簡單的演算法問題
3. 主要是判斷你是否有能力將實際的問題轉換為程式碼,是否能夠讀懂,理解與除錯程式碼
4. 忘記 function/語法沒關係,畢竟會面是這個職位的近期程式寫的比較少是可預期的。最重要的還是思路,如何將問題的解法給描述出來
What if I don’t have relevant experiences to answer situational or experience based questions?
1. 這個是非常常見的問題,特別是剛踏入 EM 生涯道路的面試者,本來就很難有太多的範例與經驗去回答這些需要時間累積的問題。
2. 作者推薦誠實的告訴面試官自己這方面經驗不太多,然後可以針對這個範例去探討假如你未來遇到的話,你可能會怎麼面對之類的。
What if I’ve never had to let go of someone from my team?
1. 這是個非常常見的問題,但是就跟前述問題一樣,如果沒有這方面的經驗就誠實以對
2. 可以改從團隊中有人績效不太好為替代方式去探討,講述自己之前的管理哲學與處理方式
同時也有13部Youtube影片,追蹤數超過2萬的網紅Untyped 對啊我是工程師,也在其Youtube影片中提到,LeetCode是所有軟體工程師找實習找工作都必用的平台,雖然大部分功能都是免費的,但天下沒有白吃的午餐,讓人好奇付費版 LeetCode Premium 到底有沒有用?今天讓使用過 LeetCode Premium 準備並通過 Google軟體工程師面試的我來分享一下我的使用感想! 影片中會告訴你...
「演算法 coding」的推薦目錄:
- 關於演算法 coding 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於演算法 coding 在 半路出家軟體工程師在矽谷 Facebook 的最讚貼文
- 關於演算法 coding 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
- 關於演算法 coding 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
- 關於演算法 coding 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
- 關於演算法 coding 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
- 關於演算法 coding 在 [問題] 數據結構與演算法的學習與coding習慣雜問- 看板Python 的評價
- 關於演算法 coding 在 coding-interview-university/README-tw.md at main - GitHub 的評價
- 關於演算法 coding 在 LRU 演算法解說 - 石頭的coding之路 的評價
- 關於演算法 coding 在 Open AI Gym 簡介與Q learning 演算法實作!... - Facebook 的評價
- 關於演算法 coding 在 公開code或演算法哪裡找? - 研究所板 - Dcard 的評價
演算法 coding 在 半路出家軟體工程師在矽谷 Facebook 的最讚貼文
聽說你最近在刷題- 軟體工程師的面試一定會遇到的資料結構及演算法關卡 (& 分享 LeetCode 折扣)& LeetCode Premium 抽獎啦(2021- 9 月更新)
-----------------------------
2021年 9 月更新:
從 8 月開始,收到許多剛到美國唸書的讀者來信請求幫忙內推 2022 年暑假的實習工作,如果你還不知道的話, 請查看我另外一篇文章來了解內推網路:最有效得到面試的方式- 內部推薦: 尋找內推資源 & 歹晚郎互助網絡 (2021 年 8 月更新)。軟體工程師的面試關卡很多都是資料結構及演算法, 所以大家在準備實習也都不免俗的要刷題一下。 我許久沒有看 LeetCode, 發現現在 LeetCode 的功能越來越多, 還有像是學習資源文章及 study plan 的功能,把大家要準備面試的各種需求都越來越在他們網站上一站搞定。 今天除了再次分享去年寫的文章(還有折扣碼), 還要大大感謝 LeetCode 願意提供 3 個 7 天 Premium 會員試用來給予讀者, 讓大家面試前可以使用如公司 tag 的功能來做複習。 此外感謝大家一直以來的支持, 我也自掏腰包提供購買 3 個 1 個月的 Premium 會員試用來加碼, 再請大家做以下動作參加抽獎歐!
✅ 按讚並留言你希望用 LeetCode 達到什麼目標 (轉職、實習面試、換工作,可以寫一寫細節像是目標公司、職位等), 或是你過去使用 LeetCode 的心得、或者是自己未來職業目標等等, 也可以是找朋友來一起練習。
✅ 公開分享此篇文章的話多一次被抽中的機會
獎項: 共 6 個名額,3 個 7 天 Premium 試用會隨機抽出, 3 個 1 個月的 Premium 試用則用留言內容來挑選, 希望抽出給很需要、或是很有創意的留言, 哈!
活動期間到加州時間下週四 9/9 晚上 9 點截止。會直接於文中留言通知中獎,祝大家學習愉快、找實習、換工作都順利!
--------------------------
2020 年 12 月原文:
歐, 要澄清一下我現在沒有在刷題 (我這樣講絕對不是怕很多同事會看到我的文章 XD), 說實在的, 我覺得大家好像太過度強調 “刷”題的刷, 好像刷油漆似的要來回刷很多遍。 我過往看過許多刷幾百題、每題做 2、3、4 次以上的人分享他們的經驗, 我很佩服他們投入的時間及毅力, 但我自知做不到, 有小孩後更是難以做到刷一遍。 我自己找軟體工程師的工作的經驗, 2015 年上完 Coding Bootcamp 到找到工作, 大概做了 60 題左右的 LeetCode 問題, 2016 年底找工作比較認真, 大概完成了 100 題左右。 今天這篇文章想要分享一下我的演算法準備方式, 如果你想要找如何刷題的方式,或是覺得無法刷幾百題很多遍的人, 歡迎往下閱讀。
2015 年上完 Coding Bootcamp 後, 我陸續有一些電話面試, 每天可能會有 1~3 個電話面試, 所以在準備面試上, 要研究公司, 並且依照職缺來做面試的複習, 因為我是面試前端相關的職缺, 所以也有一部分的精力在前端的資料複習。 關於資料結構及演算法 (Data Structures & Algorithms) 的練習,我大概維持一天練習 1-2 題的步調。 2016 年底的面試, 因為還要上班, 所以基本上只有晚上有時間, 可能一天只能練習 1 題, 假日有比較多時間才可以多做幾題。
看到問題的時候, 我會先確保我了解題目的意思, 真正在面試的時候, 通常第一步也是和面試官確認我們自我的理解和面試官要問的是否一致, 不要花了時間才發現一開始的理解及假設是錯誤的。 我通常會立刻寫下題目給予的 input 有什麼、格式是什麼, desired output 又是什麼。
確認好 input & output 後, 我會思考題目可以用什麼類型的資料結構或是演算法來解。 通常在面試的時候, 我會和面試官說明我可能會先就一個大概可行的方式來做解答, 如果他/她覺得沒有什麼問題的話, 我再做後續的優化。 在我開始有一些思路後, 我會先寫下 pseudo code, 就是先用英文來說明我的解法會是怎麼樣。 每個步驟和面試官確認都沒有問題後, 我才會正式寫 code 。
當然有些時候不論怎麼想都寫不出來, 如果是自己練習的時候,我大概在 15 分鐘後會開始看一些討論, 嘗試學習別人的思路, 但如果再花 10 分鐘還是解不出來的話, 才會參考別人的解法。 我看完別人的答案後, 還是會用自己的 code 再實現一次。 如果面試中卡住的話, 則是要儘快和面試官討論, 我會把我的理解, 可能的解法方式和面試官說, 同時也說明我的情況可能哪裏不是很確定, 讓面試官在適當的時候可以給予我提示。 一般來說, 公司都是希望有順利的面試經驗, 面試官也都願意在溝通正常下給予協助。
自己練習寫完之後, 我會再寫出解法的空間及時間複雜度 (Space & Time Complexity) , 通常面試也會詢問這個部分, 所以自己每個練習也要歸納一下。 如果我發現我的解法時間可能不是太好, 我會再嘗試看不同人的討論, 研究更優化的解法, 並再自己寫出不一樣的解法。 有些比較棘手的問題我可能會寫 2、3 個解法比較彼此的優缺點。
在之前準備面試的時候, 我有準備一本筆記本, 每次寫完問題之後, 我會用筆寫下我在哪一天寫了哪一個問題, 並且用很精簡的方式總結問題及解法。 隔天要做下一題之前, 我會先看一下前一天的問題, 嘗試回想我是否可以再次在頭腦中想出大致的解法。 如果還是不行的話, 再看我自己的總結並做上記號, 隔天會再做一次同樣的步驟,直到我可以順利複習出解題的邏輯思路。
如果有和公司面試, 不論是電話還是 onsite, 面試完後我會再檢查我遇到的題目是否和我過去做過的題目類似, 如果有的話, 是否我的思路在面試中是清晰及正確的, 如果沒有的話, 我是否有利用對的觀念來解答。 面試結束後, 會花時間在盤點及複習, 從面試中的題目和過往的練習做統整。
你可以看到我的練習方式不是很強調快, 因為我希望我做完問題可以有很深的理解, 所以花很多時間在做整理、複習確認, 即使當下沒有那麼理解, 隔天回想又想不出的話, 我會再複習一次, 再隔一天做新題前也會再確認。 複習及思考的次數多了,真正把題目所想要考的觀念融會貫通, 畢竟面試很難真的遇到原題, 重點是我們對於資料結構及演算法的理解, 及遇到難題如何面對的應對的思考過程。
條條大路通羅馬, 每個人面試準備的方式都不太一樣, 以上就是我的資料結構及演算法的準備方式, 之前寫找工作的系列文章好像沒有特別提這塊, 所以特別再寫出來分享。當然我不是大神每次面試都可以收割 5 到 10 個以上 offer, 所以就請你自己斟酌評估你的學習方法,畢竟我們都要找到對自己最能接受、且有效率的方式來準備面試 。
我從 2015 、2016 年準備面試的時候, 有許多練習演算法的網站, 但到了今日, 好像 LeetCode 和練習演算法關係就如同 Google 和搜尋一樣, 大部分我聽到的準備面試的人都用 LeetCode 來做練習了! 剛好最近認識一位在 LeetCode 工作的朋友牽線, LeetCode 特別優惠讀者, 只要使用這個連結購買 Premium, 就能有 15% 優惠 (幾乎和一年一度的感恩節特價差不多了!)。
我目前聽到朋友準備面試基本上都會購買 LeetCode 的 Premium, Premium 最大的好處就是可以看到問題和公司的標註, 拿過去拒絕我 2 次的 Google 為例 (XD), LeetCode 就有 925 道題目被大家回報有在 Google 面試中看到 (2021 年已經變成 1014 道了! @@), 當你正要 phone or onsite interview 的時候, 可以聚焦你要面試的公司練習、提高效率的話還是可以提高面試的表現的。 Premium 還有答題評斷比較快、LeetCode 官方解答、及依據公司有 Mock interviews 等其他功能, 但主要大家好像都還是為了 company tag 的功能而付費, (2021 年 9 月更新, 最近又有如文章、影片的學習資源,還有像是 Study Plan 的功能, 看起來 LeetCode 要往大家學習、準備、一站式的服務來黏住使用者了!)
相信以大家拿到 offer 後的加薪, 會覺得這是個很好的投資!(什麼, 你說不一定會加薪, 那請你再閱讀一下我的談判文章來和公司談判加薪 "面試中談到錢怎麼辦? 問到你期望薪水如何接招?" 及"面試得到 Offer 薪水如何談? 三明治溝通法及最後簽約前的談判招式") 。
我當初有想說要直播訪問在 LeetCode 的朋友, 探討 LeetCode 最近幾年的快速發展、及如何幫助軟體工程師及公司行號, 可惜目前朋友還沒有意願, 如果大家有興趣的話, 請在文章留言, 讓她可以看到大家的意願加強她的動力和我們分享 (群眾多數暴力啊!)。
附上過去我寫的找工作系列文章:
1. 程式語言- 到底學哪個好?我想進Google,我沒學OOO,他們會接受我XXX語言背景嘛?
2. 簡介美國軟體工程師面試流程
3. 等待機緣- 我要如何被人資或獵人頭發現? 我要如何脫穎而出? LinkedIn重要嘛?
4. 主動出擊- 我要找工作了,現在美國都用什麼找工作?哪個網站平台能讓我有較多面試機會?
5. 軟體工程師面試準備- 面試要練習什麼? 找工作和練習的時間要如何平衡拿捏?
6. 被錄取了- 我該注意什麼,我可以談判要求多一點薪水、股票或假期嘛?
7. 矽谷找工作之常見問題 FAQ
8. 面試技巧及心得,如何有條理的說服面試官?
9. 英文履歷怎麼寫? 美國科技公司注重什麼?
10. 如何到美國科技公司工作?
11. 最有效得到面試的方式- 內部推薦: 尋找內推資源 & 歹晚郎互助網絡
12. 面試中談到錢怎麼辦? 問到你期望薪水如何接招?
13. 面試得到 Offer 薪水如何談? 三明治溝通法及最後簽約前的談判招式
2021 年, 如果你要找工作的話, 祝你轉換順利, 拿到許多理想的 offers! 如果你有什麼準備的技巧及心得, 也歡迎留言分享。
部落格原文:
https://bit.ly/3zNrluU
演算法 coding 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
ref: https://towardsdatascience.com/five-things-i-have-learned-after-solving-500-leetcode-questions-b794c152f7a1
本文是作者敘述自身解決 500 題 leetcode 後的一些想法
對於每個軟體工程師來說,基本上都有聽過 leetcode 這平台,也勢必理解刷題這個行為
Leetcode 中的題目五花八門,大部分都聚焦於資料結構與演算法類別,而這類型的刷題也變得愈來愈普遍廣泛,
不論公司規模與否,很多都會需要透過刷題來進行面試,然而這類型的行為的確也出現了不少討論的聲音
譬如面試者擅長 leetcode 但是這項能力卻沒有辦法反映到日常工作所需要的真正技能上。
不考慮到底 Leetcode 這類型的刷題行為到底好不好,作者列出五個自己刷題完畢後學到的一些心得
1) The importance of Data Structures & Algorithms
2) There is always someone more knowledgeable than you
3) An edge case can ruin your day
4) Hard work beats talent…
5) Planning is an essential part of software development
The importance of Data Structures & Algorithms
Leetcode 本身不是一個資料結構與演算法的教學平台,不過其本身的題目可以幫助你瞭解更多資料結構與演算法使用的場景與使用方式。
作者提到這類型的基本功應該是每個軟體工程師都要有的,特別舉例不久前一篇玩家修改 GTA V 裡面某些資料結構的處理方式,使得整個讀取速度提升70% 的範例來闡述為什麼
需要掌握好資料結構與演算法。
There is always someone more knowledgeable than you
Leetcode 的解題過程中,最大的特點永遠都是留言區,裡面總是會有各種神奇厲害的解法,甚至會出現比官方解答更漂亮的解答方式。
作者自述有很大半的時間其實都是再重新實作這些很棒的解法。
這經驗讓作者體會到,人外有人天外有天,永遠都有比你厲害的人,工作上要盡可能的向那些厲害的人討教與學習,他們花了很多時間與經驗得來的知識都是非常寶貴且難得的,能夠學會就盡量學會。
An edge case can ruin your day
作者認為 Leetcode 的題目都擁有豐富的測試資料,包含了各種極端案例,這也意味刷題的時候如果沒有考慮各種不同情境常常沒有辦法順利通過問題。
這種思考過程的訓練對作者帶來了實質上的幫助,工作上能夠用更嚴謹的思路去思考每個撰寫的程式,思考有沒有可能有任何遺漏的案例可以在寫程式的過程中就找出來。
Hard work beats talent…
這句話的全文是
Hard works beats talent when talent doesn't work hard.
就算本身不是天選之人,但是透過努力還是有機會在天選之人松懈怠惰之時展現出自己強大與良好的一面。
註: 我想於如果天選之人比你還努力...那就讓天選之人拯救世界吧,我們還是做些簡單的事情就好
Planning is an essential part of software development
從眾多練習與面試的過程中,作者瞭解到 Coding 其實只是解決問題的一小部分,而聽到問題瞬間就馬上開始寫程式非常有可能走冤枉路。
軟體開發過程充滿各種不確定性,很多時候面試時遇到的問題其實都是那種曖昧或是不夠完整的敘述,再沒有掌握問題的全貌前就貿然寫程式常常只會愈走愈糟。
此外,軟體開發除了撰寫程式外,還必須要針對解決方法進行分析,該方法帶來的優點都需要仔細思考,同時也要確保團隊內對於該方法有一致性的同意才可以開始往下去撰寫程式。
作者最後強調,這個概念是真實工作中最重要的一環,透過溝通去理解所有的需求,確保一切都有共識後才開始實作。
剩下有興趣的歡迎閱讀全文
演算法 coding 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
LeetCode是所有軟體工程師找實習找工作都必用的平台,雖然大部分功能都是免費的,但天下沒有白吃的午餐,讓人好奇付費版 LeetCode Premium 到底有沒有用?今天讓使用過 LeetCode Premium 準備並通過 Google軟體工程師面試的我來分享一下我的使用感想!
影片中會告訴你如何免費拿到各種付費功能~
然後還有我到底刷了幾題通過了Google面試哈哈!
這集會聊到...
💬 Overview 💬
💙 LeetCode Premium功能簡介 1:25
💙 我覺得好用的付費版功能 1:50
💙 我覺得沒用的付費版功能 4:00
💙 如何免費得到類似的付費功能 1:50 3:00
💙 結論:LeetCode Premium 到底值不值得?5:58
💙 誰適合買 LeetCode Premium?6:38
💙 我刷了多少題通過 Google 面試 7:57
📢 📣 📢 本頻道影片內容有輸出成 podcast 📢 📣 📢
可以在各大podcast平台搜尋「Untyped 對啊我是工程師」
請大家多多支持呀!!🙏🏻💁🏻♀️
#LeetCodePremium值得嗎 #力扣刷題進階功能免費用
一定要看到影片最後面並且在「YouTube影片下方」按讚留言訂閱分享唷!
【愛屋及烏】
YouTube 👉 https://www.youtube.com/c/Untyped對啊我是工程師
Podcast 👉 https://open.spotify.com/show/3L5GRMXmq1MRsliQt43oi2?si=3zgvfHlETeuGfp9rIvwTdw
Facebook 臉書粉專 👉 https://www.facebook.com/untyped/
Instagram 👉 https://www.instagram.com/untypedcoding/
合作邀約 👉 untypedcoding@gmail.com
-
Untyped 對啊我是工程師 - There are so many data types in the world of computer science, so are the people who write the code. We aim to UNTYPE the stereotype of engineers and of how coding is only for a certain type of people.
凱心琳: 一個喜歡電腦科學邏輯推理,在科技圈努力為性別平等奮鬥的工程師。
演算法 coding 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
拖了三個月的軟體工程師面試SOP在此獻上!把面試當作刷題的我,把面試經驗技巧,努力濃縮再濃縮,還是有15分鐘的精華,只要五步驟,面試照著做,保證你 ace the coding interview like a PRO (most of the time).
這集會聊到...
💬 Overview 💬
💙 什麼是 coding interview? 1:20
💙 面試必備 - 比履歷還重要的東西 3:44
💙 面試流程 1 - 聽問題問問題 4:15
💙 面試流程 2 - 如何分析問題 6:00
💙 面試流程 3 - 如何寫程式碼 8:45
💙 面試流程 4 - 測試程式碼 10:10
💙 面試流程 5 - 再問更多問題 12:08
💙 面試流程 0 - 寒暄問暖不囉唆 13:30
🙌🏻 面試好書推薦 🙌🏻
👍🏻 準備軟體工程師面試必備書
Cracking the Coding Interview 提升程式設計師的面試力 https://shp.ee/y7rbjqk
https://www.books.com.tw/products/0010881287
👍🏻 當畫家遇上演算法 看圖學演算法
Grokking Algorithms 白話演算法!培養程式設計的邏輯思考
https://shp.ee/k3jtmvg
👍🏻 置入生活中的演算法
Algorithms to Live By: The Computer Science of Human Decisions 決斷的演算:預測、分析與好決定的11堂邏輯課
https://shp.ee/rvvh89e
https://www.books.com.tw/products/0010761815
👍🏻 Logitech 羅技 MX Keys 無線鍵盤 https://shp.ee/ptt9wtm
👍🏻 Logitech 羅技 MX Master 3 無線藍牙滑鼠 https://shp.ee/pu9qtcc
👍🏻 Backbone 人體工學椅 https://shp.ee/fgi35c9
👍🏻 Tresanti 電動升降桌 https://shp.ee/9wmht7r
👍🏻 logitech 羅技 StreamCam https://shp.ee/fbvgbvc
👍🏻 RODE Lavalier GO 領夾式 小型麥克風 https://shp.ee/nx6w9vc
📢 📣 📢 本頻道影片內容有輸出成 podcast 📢 📣 📢
可以在各大podcast平台搜尋「Untyped 對啊我是工程師」
請大家多多支持呀!!🙏🏻💁🏻♀️
#面試SOP #工程師求職 #面試流程大剖析
一定要看到影片最後面並且在「YouTube影片下方」按讚留言訂閱分享唷!
【愛屋及烏】
YouTube 👉 https://www.youtube.com/c/Untyped對啊我是工程師
Podcast 👉 https://open.spotify.com/show/3L5GRMXmq1MRsliQt43oi2?si=3zgvfHlETeuGfp9rIvwTdw
Facebook 臉書粉專 👉 https://www.facebook.com/untyped/
Instagram 👉 https://www.instagram.com/untypedcoding/
合作邀約 👉 untypedcoding@gmail.com
-
Untyped 對啊我是工程師 - There are so many data types in the world of computer science, so are the people who write the code. We aim to UNTYPE the stereotype of engineers and of how coding is only for a certain type of people.
凱心琳: 一個喜歡電腦科學邏輯推理,在科技圈努力為性別平等奮鬥的工程師。
【Disclaimer 聲明】
Some links are affiliated.
上面有些連結是回饋連結,如果你透過這些連結購買商品,我可以得到一些小獎勵,但不會影響到你購買的價格,甚至會是更低的價格!謝謝你的支持💕
演算法 coding 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
常有觀眾問我有沒有推薦給程式設計初學者的軟體工程書籍,今天分享3本我自己很喜歡的電腦科學相關的書。但是,我是個非常懶得看書的人啊!!所以這三本書都是夠實用夠有趣,我才有辦法看,才會分享給你們。
這集會聊到...
Overview 💬
💙 準備軟體工程師面試必備書 2:19
Cracking the Coding Interview 提升程式設計師的面試力
🔗 蝦皮 中文: https://shp.ee/y7rbjqk
🔗 博客來 English : https://www.books.com.tw/exep/assp.php/untypedcoding/products/F013846860?utm_source=untypedcoding&utm_medium=ap-books&utm_content=recommend&utm_campaign=ap-202105
🔗 博客來 中文:
https://www.books.com.tw/exep/assp.php/untypedcoding/products/E050035291?utm_source=untypedcoding&utm_medium=ap-books&utm_content=recommend&utm_campaign=ap-202105
💙 當畫家遇上演算法 看圖學演算法 4:28
Grokking Algorithms 白話演算法!培養程式設計的邏輯思考
🔗 蝦皮 中文: https://shp.ee/k3jtmvg
🔗 博客來 English : https://www.books.com.tw/exep/assp.php/untypedcoding/products/F013567471?utm_source=untypedcoding&utm_medium=ap-books&utm_content=recommend&utm_campaign=ap-202105
🔗 博客來 中文:
https://www.books.com.tw/exep/assp.php/untypedcoding/products/0010887779?utm_source=untypedcoding&utm_medium=ap-books&utm_content=recommend&utm_campaign=ap-202105
💙 置入生活中的演算法 6:20
Algorithms to Live By: The Computer Science of Human Decisions 決斷的演算:預測、分析與好決定的11堂邏輯課
🔗 蝦皮 中文: https://shp.ee/rvvh89e
🔗 博客來 English : https://www.books.com.tw/exep/assp.php/untypedcoding/products/F013864481?utm_source=untypedcoding&utm_medium=ap-books&utm_content=recommend&utm_campaign=ap-202105
📢 📣 📢 本頻道影片內容有輸出成 podcast 📢 📣 📢
可以在各大podcast平台搜尋「Untyped 對啊我是工程師」
請大家多多支持呀!!🙏🏻💁🏻♀️
#書到用時方恨少 #演算法繪本 #ComputerScienceBooks
一定要看到影片最後面並且在「YouTube影片下方」按讚留言訂閱分享唷!
【愛屋及烏】
YouTube 👉 https://www.youtube.com/c/Untyped對啊我是工程師
Podcast 👉 https://open.spotify.com/show/3L5GRMXmq1MRsliQt43oi2?si=3zgvfHlETeuGfp9rIvwTdw
Facebook 臉書粉專 👉 https://www.facebook.com/untyped/
Instagram 👉 https://www.instagram.com/untypedcoding/
合作邀約 👉 untypedcoding@gmail.com
-
Untyped 對啊我是工程師 - There are so many data types in the world of computer science, so are the people who write the code. We aim to UNTYPE the stereotype of engineers and of how coding is only for a certain type of people.
凱心琳: 一個喜歡電腦科學邏輯推理,在科技圈努力為性別平等奮鬥的工程師。
【Disclaimer 聲明】
Some links are affiliated.
上面有些連結是回饋連結,如果你透過這些連結購買商品,我可以得到一些小獎勵,但不會影響到你購買的價格,甚至會是更低的價格!謝謝你的支持💕
【㊫ 電腦科學/軟體工程 學習資源 📖】
用Scala學習函式程式設計
https://bit.ly/2IF0Thv
Scala 函数式程式設計原理
https://bit.ly/3kBQXTb
平行程式設計
https://bit.ly/3pCeaZf
Android 應用程式開發 專項課程
https://bit.ly/3lGCUwW
普林斯頓大學 電腦科學 演算法 基礎理論
https://bit.ly/3nxomAh
Go 語言學起來
https://bit.ly/35AWhlv
Parallel, Concurrent, and Distributed Programming in Java 專項課程
https://bit.ly/2IGnlH4
Java 軟體工程基礎課程
https://bit.ly/3fa4gJi
全端開發 跨平台手機app 開發 完整課程
https://bit.ly/2UCGWum
從0-1學 Python 3
https://tinyurl.com/python-bootcamp-untyped
從0-1學 JavaScript
https://tinyurl.com/js-complete-untyped
演算法 coding 在 coding-interview-university/README-tw.md at main - GitHub 的推薦與評價
過去如果我需要寫一個排序演算法(Sorting Algorithm),那個code一定是個災難。我過去都用程式語言中內建的資料結構(Data Structure),對於資料結構裡面的實作方法跟原理我 ... ... <看更多>
演算法 coding 在 LRU 演算法解說 - 石頭的coding之路 的推薦與評價
前言資料結構跟演算法是程式設計師的內功,在中小型系統懂這兩樣東西效用可能有限,但在大型系統中熟不熟用資料結構跟演算法做出來的效益會天差地遠 ... ... <看更多>
演算法 coding 在 [問題] 數據結構與演算法的學習與coding習慣雜問- 看板Python 的推薦與評價
前言(廢話):
各位安安,
小弟之前有接觸過一咪咪autohotkey,因為最近找到了coding的樂趣,
開始透過youtube學習python,大概學到了用class建立對象與方法,
但一些很簡單的內置函數也都是看到別人用,才會知道有這東西。
在學習的過程中,我知道了leetcode這玩意,並在解題思路的幫助下,解出了第一題。
但到了第二題才發現,leetcode的入場門票是需要會數據結構與演算法,
這是我發文的主要原因。
以下問題:
1.數據結構與演算法資源推薦(中文偏好)
目前自己找到的資源,要嘛跟講得天書一樣難,
要嘛聽懂的卻又沒有code給我看實際到底長怎樣,有點難過
2.加强基礎的練習資源推薦
幫助手冊能教我如何使用,但如何運用或許就要透過刷題來學習了,
我知道leetcode和zerojudege,前者還不是我目前能面對的,
後者我也正在刷,只是想知道除了這些還有沒有其他推薦。
不限於刷題資源,教學文章、影片也可以(我覺得可以挑戰一下英文)
3.如何避免迴圈内的迴圈(for中for的改寫)
有時候會在for循環中再加入for循環,如果是一個兩個看起來還好,
但如果多起來的話,感覺邏輯上就會變得難釐清。
如果以下面的code來説的話),要如何避開或改善這個問題。
4.其他改善(同樣的code)
這部分像是註解、變數命名等等,因為沒參與過別人的開源項目,
也不知道怎麼做才是對其他開發人員友善,但又想早點培養習慣,
想來想去好像獻醜是最直接有效的改善方法,
如果在能力範圍內做得不夠好的話,希望各位能夠提點一下。
問完了,謝謝各位
這部分是code:
# 給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標
值 target 的那 兩個 整數,並返回它們的數組下標。
# 你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素在答案裡不能重複出
現。
# 你可以按任意順序返回答案。
class Solution:
def twoSum(self, nums: list[int], target: int) -> list[int]:
"""
功能:
從列表中找尋二者之和與目標值相同的數,返回他們在列表中的位置
------------
參數:
nums:
數字所在的列表
target:
目標值
------------
變數:
numsLen:
列表nums的長度: len(nums)
num1Locat:
num1的位置: in range(numsLen)
num1:
第一個找到的數: nums[num1Locat]
num2Locat:
num2的位置: in range(num1Locat + 1, numsLen)
num2:
第二個找到的數: nums[num2Locat]
------------
返回值:
result:
結果: [num1Locat, num2Locat]
"""
numsLen = len(nums)
for num1Locat in range(numsLen):
num1 = nums[num1Locat]
for num2Locat in range(num1Locat + 1, numsLen):
num2 = nums[num2Locat]
if num1 + num2 == target:
result = [num1Locat, num2Locat]
return result
# testNums = [1, 3, 6, 7, 8, 11]
# testTarget = 19
# test = Solution()
# testResult = test.twoSum(testNums, testTarget)
# print(testResult)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.246.44.39 (澳門)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1632659900.A.BCA.html
層的語言學習,我會好好考慮的
※ 編輯: souhang (60.246.44.39 澳門), 09/26/2021 22:37:06
※ 編輯: souhang (60.246.44.39 澳門), 09/26/2021 22:40:30
... <看更多>