แจกฟรี 20 Coding Problem Patterns สำหรับ Software Developer

แจกฟรี 20 Coding Problem Patterns สำหรับ Software Developer

HOME › แจกฟรี 20 Coding Problem Pat...

ในฐานะ Software Developer คุณมักต้องเจอคำถามด้าน Technical แทบจะทุกครั้งในการสัมภาษณ์งาน ดังนั้น Software Developer ทุกคนคงหนีไม่พ้นที่ต้องฝึกฝน Coding Problem Patterns ก่อนการสัมภาษณ์ บทความนี้จึงรวบรวมไว้ให้คุณแล้ว กับ แจกฟรี 20 Coding Problem Patterns สำหรับ Software Developer ซึ่งมีอยู่แล้วใน LeetCode เรามาดูกันเลยว่ามีอะไรบ้าง

ใครก็ตามที่เตรียมตัวสำหรับ Coding Interviews ย่อมรู้จัก LeetCode เป็นอย่างดี อาจเรียกได้ว่าเป็นพื้นที่รวบรวม Coding Interview Questions บนออนไลน์ที่มีขนาดใหญ่ที่สุดเลยก็ว่าได้ เรามาดูกันก่อนว่าคนส่วนใหญ่มักประสบปัญหาอะไรเมื่อใช้ LeetCode

ปัญหาของ LeetCode

ใน LeetCode มีมากกว่า 2,000 Problems ที่ให้คุณได้ฝึกฝน ซึ่งปัญหาที่ใหญ่ที่สุดของ LeetCode คือ มันได้รวบรวม Coding Problems ไว้เยอะมาก แต่ไม่ได้ถูกจัดเรียงเป็นหมวดหมู่อย่างเต็มรูปแบบ ทำให้คนส่วนใหญ่ไม่รู้ว่าจะเริ่มต้นจากตรงไหนหรือควร Focus ตรงส่วนไหนก่อนดี

มันคงดีกว่า ถ้ามีกระบวนการบางอย่างที่สามารถแนะนำและสอน Algorithmic Techniques ที่เพียงพอที่จะทำให้คุณมั่นใจในการสัมภาษณ์ ซึ่งคุณคงไม่อยากฝึกทำโจทย์ตั้ง 500 กว่าข้อแบบไม่มีแนวทาง จริงไหม?

ทางออก ของปัญหา

เทคนิคหนึ่งที่คนส่วนใหญ่มักใช้ ก็คือ การฝึกแก้ปัญหาที่อยู่ใน Data Structure ลักษณะหรือไปในทางที่คล้าย ๆ กัน เช่น เน้นคำถามที่เกี่ยวข้องกับ Arrays จากนั้นก็เป็น LinkedList, HashMap, Heap, Tree หรือ Trie เป็นต้น แม้ว่าสิ่งนี้ อาจจะมีอยู่แล้วในบางองค์กร แต่ก็ยังไม่เหมือนกันซะทั้งหมดทีเดียว เช่น มีคำถามมากมายที่สามารถแก้ไขได้ โดยใช้ HashMaps แต่ยังไงแล้วก็ต้องใช้ Algorithmic Techniques ที่แตกต่างกัน

มันจะดีกว่า ถ้าคุณได้ทำ Question เหล่านั้นซึ่งไม่ใช่แค่ คุณจะได้ฝึกแก้ปัญหาที่อยู่ใน Data Structure ลักษณะเดียวกัน แต่ยังรวมถึง Algorithmic Techniques ที่คล้ายคลึงกันอีกด้วย

และสิ่งที่เจ๋งที่สุด คือ Problem-Solving Patterns อย่าง Sliding WindowFast and Slow PointersTopological Sort เป็นต้น การฝึกในรูปแบบ Patterns ข้างต้นเหล่านี้ จะช่วยให้คุณสามารถพัฒนาความสามารถในการ 'จับคู่ปัญหาใหม่กับปัญหาที่เคยเจอหรือลองทำมาแล้ว' สิ่งนี้ไม่เพียงแต่จะทำให้การเตียมพร้อมสำหรับ Coding-Interview นั้นน่าสนุกขึ้น แต่ยังช่วยฝึกฝนคุณให้จัดความคิดเป็นระบบระเบียบมากขึ้นอีกด้วย

Coding Patterns ช่วยเพิ่ม " ความสามารถในการจับคู่ ปัญหาใหม่กับปัญหาี่เคยเจอหรือลองทำมาแล้ว’ "

Coding Patterns

ในบทความนี้ได้รวบรวม Coding Problem Patterns ประมาณ 20 รูปแบบ ซึ่งเชื่อว่าสามารถช่วยให้ทุกคนได้เรียนรู้ Algorithmic Techniques และสามารถรู้สึกถึงความแตกต่างได้จริง ๆ สำหรับ Coding Interviews ในครั้งต่อไปของคุณ และเมื่อคุณคุ้นเคยกับ Patterns เหล่านี้แล้ว คุณจะสามารถแก้ปัญหาได้มากและหลากหลายขึ้น เรามาดู 20 Coding Problem Patterns ที่ได้ทำการรวบรวมมาให้คุณแล้ว:

  1. Sliding Window
  2. Islands (Matrix Traversal)
  3. Two Pointers
  4. Fast & Slow Pointers
  5. Merge Intervals
  6. Cyclic Sort
  7. In-place Reversal of a LinkedList
  8. Tree Breadth-First Search
  9. Tree Depth First Search
  10. Two Heaps
  11. Subsets
  12. Modified Binary Search
  13. Bitwise XOR
  14. Top ‘K’ Elements
  15. K-way Merge
  16. Topological Sort
  17. 0/1 Knapsack
  18. Fibonacci Numbers
  19. Palindromic Subsequence
  20. Longest Common Substring

Coding Patterns