#1 tech recruiter in thailand

บทเรียน ที่ได้รับจากการฝึกแก้โจทย์ 300+ Problems บน LeetCode

See the original English version of this article here 

300 Leetcode Problems Here Is What I Learnt

แน่นอนว่า Programmer และ Developer ทุกคนรู้จัก LeetCode และส่วนใหญ่ก็จะไปฝึกทักษะการเขียน Code การแก้ไขปัญหาบน LeetCode ซึ่งบทความนี้เป็นจะมาบอกเคล็ดลับในการฝึกแก้โจทย์ บน LeetCode โดยคุณ Devendu, Software Engineering ที่ Amdocs กับ บทเรียน ที่ได้รับจากการฝึกแก้โจทย์ 300+ Problems บน LeetCode มาดูกันเลย!

300 Leetcode Problems

ในที่สุดคุณ Devendu ก็ได้แก้ไขโจทย์ 300+ Problems ใน LeetCode ได้สำเร็จ

ต่อไปนี้เป็นหัวข้อที่คุณ Devendu ได้ทำและจำนวนคำถามในแต่ละข้อ

ส่วนที่ 1: Intermediate และ Advanced Topics

Intermediate and Advanced Topics Leetcode

ส่วนที่ 2: Fundamental Topics

Fundamental Topics Leetcode

สำหรับการเรียนรู้และเข้าใจ Data Structures และ Algorithms นั้น ความสม่ำเสมอถือเป็นกุญแจสำคัญ ในการพัฒนาทักษะของคุณ โดยการฝึกฝนและแก้ไขปัญหาอย่างต่อเนื่อง คุณจะค่อย ๆ คุ้นเคยกับรูปแบบและเทคนิคมากขึ้น ความคุ้นเคยนี้ช่วยให้คุณแก้ไขปัญหาใหม่ ๆ ด้วยความมั่นใจและมีประสิทธิภาพมากขึ้น เมื่อเวลาผ่านไป

Leetcode Consistent

แนวทางในการเรียนรู้ คือ การหลีกเลี่ยงคำถามที่คุณคุ้นเคยอยู่แล้วหรือรู้วิธีแก้ไข เป็นการท้าทายตัวเองให้จัดการกับปัญหาที่ยากขึ้น แนวทางนี้จะช่วยขยายชุดทักษะของคุณและเพิ่มความเข้าใจในเทคนิคการแก้ปัญหาต่างๆ ให้ลึกซึ้งยิ่งขึ้น และยังช่วยป้องกันไม่ให้คุณรู้สึกพึงพอใจหรือพึ่งพาโซลูชันที่คุ้นเคยมากเกินไป ซึ่งอาจจำกัดการเติบโตของคุณในระยะยาว

นอกจากจะช่วยพัฒนาทักษะของคุณแล้ว ยังเป็นการเตรียมตัวสำหรับการสัมภาษณ์ในบริษัทที่คุณปรารถนาจะเข้าร่วมได้อีกด้วย ซึ่งการเรียนรู้แนวคิดและเทคนิคการแก้ปัญหาเหล่านี้ คุณจะเพิ่มโอกาสในการประสบความสำเร็จในกระบวนการคัดเลือกในอุตสาหกรรมเทคโนโลยี

กุญแจสำคัญในการเรียนรู้

1. โฟกัสไปที่หัวข้อขั้นสูง (Advanced Topics)

โฟกัสไปที่หัวข้อเหล่านี้ เช่น Dynamic Programming ,Binary Search, Graphs ,Trees และ Priority Queue เนื่องจากหัวข้อเหล่านี้ถูกถามบ่อยมากในการสัมภาษณ์งาน ซึ่งเป็นหัวข้อพื้นฐานและมักจะต้องใช้เวลาและความพยายามอย่างมากในการเรียนรู้ เนื่องจากมีความซับซ้อน

2. อย่าเปรียบเทียบเส้นทางการเรียนรู้ของคุณกับคนอื่น

สิ่งสำคัญคือ ต้องไม่เปรียบเทียบเส้นทางการเรียนรู้ของคุณกับคนอื่น เส้นทางของแต่ละคนในการเรียนรู้ Data Structures และ Algorithms นั้นมีเอกลักษณ์เฉพาะตัว ซึ่งมีปัจจัยต่าง ๆ เช่น ความรู้เดิม รูปแบบการเรียนรู้ และสถานการณ์ส่วนบุคคล การเปรียบเทียบตัวเองกับผู้อื่นอาจเป็นผลเสีย นำไปสู่ความรู้สึกไม่เพียงพอหรือท้อแท้

3. ใช้เวลา 10 เดือนในการแก้โจทย์ปัญหา 300 ข้อ บน LeetCode

คุณ Devendu ใช้เวลานานกว่า 10 เดือนในการแก้โจทย์ปัญหา 300 ข้อ บน LeetCode พร้อมกับทำงานประจำไปด้วย สำหรับบางคนอาจใช้เวลาเพียงแค่ครึ่งหนึ่ง แต่คุณ Devendu ก็บอกว่าไม่เป็นไร มันเป็นเส้นทางการเรียนรู้ผมเอง “สิ่งที่สำคัญที่สุดคือ ความก้าวหน้าของคุณ ไม่ว่าจะต้องใช้เวลานานเท่าใดก็ตาม”

4. ลองอย่างน้อย 30 นาที สำหรับ โจทย์ปัญหาระดับปานกลาง

แนวทางปฏิบัติในการแก้ไขโจทย์ปัญหา ที่มีความยากระดับปานกลางบน LeetCode แนะนำให้อุทิศเวลาอย่างน้อย 30 นาทีในการแก้ปัญหา โดยให้เวลาตัวคุณเองได้สำรวจกลยุทธ์และแนวทางแก้ไขต่าง ๆ หากคุณสามารถทำได้ภายในกรอบเวลานี้ คุณสามารถแก้ไขปัญหาต่อไปได้ แต่หากคุณติดอยู่และไม่มีการพัฒนาใด ๆ คุณสามารถหาคำแนะนำเพิ่มเติมได้ การเปิดรับคำแนะนำหรือข้อมูลเชิงลึกจากผู้อื่นจะทำให้คุณสามารถขยายความเข้าใจและเอาชนะอุปสรรคได้อย่างมีประสิทธิภาพมากขึ้น

ดังนั้น พยายามทำให้ดีที่สุดเท่าที่จะทำได้ภายใน 30 นาที แต่หลังจากนั้นอย่าลังเลที่จะมองหาคำแนะนำเพิ่มเติม

5. มีแรงจูงใจในการเป็นสิ่งที่ดีที่สุด (To be the best)

อีกหนึ่งสิ่งที่สำคัญคือ การมีแรงจูงใจที่แข็งแกร่งในการเป็นเลิศ ในเส้นทางการเรียนรู้ Data Structures และ Algorithms การมุ่งมั่นที่จะเป็น “สิ่งที่ดีที่สุด” แม้ว่าจะต้องเผชิญกับความท้าทาย แรงจูงใจนี้ทำหน้าที่เป็นแรงผลักดันที่ขับเคลื่อนคุณไปข้างหน้า (แม้ว่าคุณจะอยู่ใน Comfort zone ของคุณพร้อมกับเงินเดือนที่เหมาะสมแล้วก็ตาม) คุณจะรักษาความรู้สึกของจุดมุ่งหมายและความมุ่งมั่นที่ผลักดันให้คุณปรับปรุงและเอาชนะความล้มเหลวอย่างต่อเนื่อง

ดังนั้น ความคิดนี้ช่วยให้คุณสามารถอดทนผ่านช่วงเวลาที่ยากลำบาก และยังมุ่งมั่นต่อเป้าหมายของคุณ ทำให้คุณก้าวข้ามขีดจำกัดและเข้าถึงศักยภาพสูงสุดของคุณได้

6. วินัยและความสม่ำเสมอ

การนำการเรียนรู้ Data Structures และ Algorithms รวมเข้ากับกิจวัตรประจำวันของคุณ มันอาจไม่ได้กลายเป็นส่วนหนึ่งของชีวิตเหมือนการกิน การดื่ม การนอนหลับ หรือกิจวัตรอื่น ๆ ซึ่งในตอนแรกอาจดูเหมือนเป็นงานซะด้วยซ้ำ แต่หากคุณค่อย ๆ ทำไป ทุกวัน ๆ มันจะเกิดขึ้นเองตามธรรมชาติ และจะกลายเป็นส่วนหนึ่งของชีวิตของคุณ

และทั้งหมดนี้ก็คือ บทเรียน ที่ได้รับจากการฝึกแก้โจทย์ 300+ Problems บน LeetCode

เมื่อ หางาน IT ให้ ISM Technology Recruitment เป็นอีกหนึ่งตัวช่วย เพื่อให้คุณได้ “ชีวิตการทำงานในแบบที่คุณต้องการ” เพียงส่ง Resume มาที่นี่

ISM เชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ ได้เปิดทำการมาแล้วกว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย

Source: https://medium.com/

Related Articles

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

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

en