LẦN ĐẦU TIÊN GIẢI ĐƯỢC BÀI KHÓ - MỪNG HẾT LỚN CẢ NHÀ OYYY HUHUHUHU
Chả là mấy bữa nay mị ngày ngày cày bừa leetcode luyện thi code cho mấy cái phỏng vấn technical whiteboarding các thứ sắp tới. Mị mới học đàng hoàng cỡ tầm tuần nay, mới bắt đầu lân la khởi động từ tháng trước. Trước khi bắt tay vào luyện thi thì trình cấu trúc dữ liệu & thuật toán của mị là con số 0.1, nghĩa là nghe tên thấy quen quen chứ chả biết mô tê áp dụng làm gì. Sau ít thời gian bôi trơn, vẫn thấy mù mịt trăm ngả, tới mức trước khi vô phỏng vấn Amazon, tới những bài leetcode loại easy mị còn hên xui ko chắc sẽ luôn giải được, còn bài nào giải được thì cũng trày vi tróc vẩy fail test cases chục lần mới xong. Nói chung là khổ nhắm gà nhắm.
Dạo tuần nay mị có tiến bộ hơn 1 chút, đã có thể giải bài easy mướt hơn và bài medium một cách brute force ngây thơ hơn. Nhưng như mị đã kể chuyện với mấy bạn, giải bài là 1 chuyện, nhưng chuyện quan trọng hơn là phải think out loud cho người phỏng vấn hiểu cách tiếp cận vấn đề của mình. Còn mị thì giải được hay ko cũng toàn trày trật mãi, đầu óc thì tứ tung, nên nói ra cũng chả câu nào dễ hiểu cho người ta theo luôn. Mị nhận thấy vấn đề này nhức nhối quá, cả đêm qua trằn trọc ko biết làm sao để vượt qua, luyện tập một cách có ý thức cho mau tiến bộ, chứ ko thể cắm đầu giải đề rồi cầu may ra thi sẽ trúng bài đã gặp được. Làm kiểu đó thì có giải ngàn bài cũng ko thấy yên tâm.
Khi không biết câu trả lời cho vấn đề khúc mắc thì chúng mình làm gì? Mình google chứ gì nữa haha. Và mặt trời chân lý đã chiếu rọi qua tim mị khi mị đọc được phương pháp PEDAC trong link này https://medium.com/…/solving-coding-problems-with-pedac-291…. Thế là mị lao vào tập trình bày suy nghĩ theo lối này ngay, và trái ngọt đã rụng ngay lập tức! Lần đầu tiên mị đã giải được bài loại hard trên leetcode và chỉ fail 7 test cases sau lần chạy đầu tiên. Thêm vài lần sửa nhỏ nữa là trúng hết 36/36 test cases luôn. Tất cả nhờ một phương pháp học đúng!
Mị biết code mị viết còn tùm lum, whiteboard thì ẩu tả, runtime còn chậm chưa tối ưu, nhưng mà mị mừng hết lớn vì lần đầu tiên có thể tự mò tới La Mã bằng 2 tay 2 chân huhu. Mị muốn viết vài dòng này, kỉ niệm ngày trọng đại với mị, từ con ko biết gì đã giải được 1 bài hard bằng chính sức lực huhu. Mong là các nuii's có thể được tiếp thêm sức lực chiến đấu với những môn khó nhằn của bản thân, như mị đang đấu với code nhé!
Mãi ieoooo. <3
#sundayfunday #whiteboardcoding #leetcodegrinding
同時也有14部Youtube影片,追蹤數超過2萬的網紅Untyped 對啊我是工程師,也在其Youtube影片中提到,LeetCode是所有軟體工程師找實習找工作都必用的平台,雖然大部分功能都是免費的,但天下沒有白吃的午餐,讓人好奇付費版 LeetCode Premium 到底有沒有用?今天讓使用過 LeetCode Premium 準備並通過 Google軟體工程師面試的我來分享一下我的使用感想! 影片中會告訴你...
leetcode 在 半路出家軟體工程師在矽谷 Facebook 八卦
聽說你最近在刷題- 軟體工程師的面試一定會遇到的資料結構及演算法關卡 (& 分享 LeetCode 折扣)
歐, 要澄清一下我現在沒有在刷題 (我這樣講絕對不是怕很多同事會看到我的文章 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 特別優惠讀者, 只要使用這個連結 (http://bit.ly/34UrjEe) 購買 Premium, 就能有 15% 優惠 (幾乎和一年一度的感恩節特價差不多了!)。
我目前聽到朋友準備面試基本上都會購買 LeetCode 的 Premium, Premium 最大的好處就是可以看到問題和公司的標註, 拿過去拒絕我 2 次的 Google 為例 (XD), LeetCode 就有 925 道題目被大家回報有在 Google 面試中看到 (925 道還是好多啊!@@), 當你正要 phone or onsite interview 的時候, 可以聚焦你要面試的公司練習、提高效率的話還是可以提高面試的表現的。 Premium 還有答題評斷比較快、LeetCode 官方解答、及依據公司有 Mock interviews 等其他功能, 但主要大家好像都還是為了 company tag 的功能而付費, 相信以大家拿到 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://brianhsublog.blogspot.com/2020/12/AlgorithmDataStructureLeetCode.html
leetcode 在 Facebook 八卦
Copilot là AI có thể viết code tốt hơn bạn?
Phát triển bởi OpenAI dựa trên nguồn dữ liệu code khổng lồ trên GitHub, Copilot có thể “đoán” bạn muốn viết gì và giúp bạn hoàn thành chương trình phần mềm đó.
Chương trình vẫn đang trong beta, nhưng mình có may mắn được invite đã được vài tuần. Đây là một video nhỏ mình ghi để cho thấy trình độ của Copilot với một số câu hỏi hay gặp khi trong quy trình phỏng vấn software engineering ở các công nghệ lớn.
Như bạn có thể thấy ở video này, những gợi ý của Copilot khá chính xác. Copilot nhanh chóng tìm phương án cho một số các câu hỏi trên Leetcode, từ dễ đến khó.
Bây giờ về nhà doạ trẻ con: con mà không học lập trình nhanh thì AI nó lập trình giỏi hơn con đấy.
Nhiều người sợ rằng nếu AI viết code giỏi quá, ngành lập trình sẽ trở thành lạc hậu và lập trình viên như mình sẽ thất nghiệp. Nhưng mình nghĩ tương lai đó còn khá xa vời. Ấn tượng của mình với Copilot là mặc dù nó rất tốt với những chương trình nhỏ gọn, mục đích rõ ràng như các câu hỏi phỏng vấn, khả năng của nó còn khá hạn hẹp ở các chương trình lớn hơn. Mình dùng Copilot vài hôm thì phải tắt bỏ nó, bởi những gợi ý của nó khiến mình rất mất tập trung.
Copilot sẽ không thay thế người lập trình, mà mình hy vọng nó có thể khiến cho việc lập trình trở nên dễ dàng hơn, giúp nhiều người có thể bắt đầu lập trình.
Bạn nghĩ sao về chương trình này?
leetcode 在 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.
凱心琳: 一個喜歡電腦科學邏輯推理,在科技圈努力為性別平等奮鬥的工程師。
![post-title](https://i.ytimg.com/vi/qYSOhTBmQLg/hqdefault.jpg)
leetcode 在 奮game王紫楓 Youtube 的評價
#軟體工程師
👍歡迎訂閱!! 🔔🔔按下小鈴鐺,就可以一有新影片就搶先看!
[軟體工程師雜談] 輕鬆搞懂演算法: 演算法概論與複雜度(BigO) |IT鐵人賽: 從零開始搞懂寫程式,資工系4年最重要的學科,資料結構,演算法,物件導向
IT鐵人賽網址:https://ithelp.ithome.com.tw/users/20128489/ironman/3093
程式新手學習發問區,問都給問!!: https://www.facebook.com/groups/914880435669061
紫楓FB專頁: https://www.facebook.com/tbpfs2/
紫楓blog: https://tbpfs1.blogspot.com/
斗內專線: https://pse.is/KUYMP
部分圖片來源: http://l.ovoy.click/vc97y
![post-title](https://i.ytimg.com/vi/iwCUOKhIhAA/hqdefault.jpg)
leetcode 在 奮game王紫楓 Youtube 的評價
#軟體工程師
👍歡迎訂閱!! 🔔🔔按下小鈴鐺,就可以一有新影片就搶先看!
[軟體工程師雜談] 輕鬆搞懂演算法:常用演算法策略:暴力法,貪婪法,分治法,回溯法,分支限界法 |IT鐵人賽: 從零開始搞懂寫程式,資料結構,演算法,物件導向
課程滿意度問卷調查:https://forms.gle/g478ZPC1nwX3AEBWA
0:00 常用演算法策略
2:07 暴力法 (Brute Force)
3:01 貪婪法 (greed algorithm)
6:21 分治法 (divide and conquer)
7:05 回溯法(backtracking)
11:02 分支限界法(branch and bound method)
IT鐵人賽網址:https://ithelp.ithome.com.tw/users/20128489/ironman/3093
程式新手學習發問區,問都給問!!: https://www.facebook.com/groups/914880435669061
紫楓FB專頁: https://www.facebook.com/tbpfs2/
紫楓blog: https://tbpfs1.blogspot.com/
斗內專線: https://pse.is/KUYMP
部分圖片來源: http://l.ovoy.click/vc97y
![post-title](https://i.ytimg.com/vi/iLK48YAXjio/hqdefault.jpg)
leetcode 在 Leetcode | Dcard 的八卦
聚會讀書會徵一起寫Leetcode、最近找工作的小夥伴(滿). (已經徵到足夠人,表單關閉,有緣再會),如題,大學要畢業了,想找一起努力、交換資訊的朋友,讀書會目前 ... ... <看更多>