#1 tech recruiter in thailand

6 Websites สำหรับฝึกฝน Algorithms และเรียนรู้ Programming

สำหรับคนที่ทำงานด้านไอที ไม่ว่าจะเป็น Programmer, Software Developer หรือ Software Engineer และไม่ว่าจะทำงานอยู่ในระดับใด Algorithms ดูจะเป็นสิ่งสำคัญอย่างมาก โดยบทความนี้คุณ Itchishiki Satoshi ได้มาแนะนำ 6 สุดยอด Websites สำหรับฝึกฝน Algorithms และเรียนรู้ Programming กัน

1. HackerRank

Website นี้ถือว่ามีชื่อเสียงอย่างมากในโลกของ Programming ตั้งแต่ระดับ Junior จนถึง Senior รวมทั้ง จาก Developer จนถึง Hiring Managers

Hackerrank มี Algorithms มากมายด้วยระดับความยากจากน้อยไปมาก รวมทั้งมี Algorithms และ Data Structures ทุกประเภท หรือแม้แต่ SQL ก็ตาม คุณจะสามารถเขียน Code, Run Code ได้ผ่าน Online โดยตรงแล้วดูผลลัพธ์ หรือสามารถตรวจสอบเพื่อดูว่าคนอื่น ๆ แก้ปัญหาต่าง ๆ เหล่านั้นกันได้อย่างไรบ้าง

อย่างตอนที่คุณ Satoshi สัมภาษณ์งาน ก็มีบริษัทส่วนหนึ่ง ที่ให้เขาเข้ามาทำ Tests (Algorithms + Multiple Choice + Essay) ที่ Website นี้ ดังนั้น คุณสามารถมาที่ Website นี้ เพื่อทำแบบฝึกหัดเพิ่มเติมและทำความคุ้นเคยกับมัน

2. TopCoder

TopCoder ถือเป็นหนึ่งใน สนามแข่งขันในรูปแบบ Online แห่งแรก ๆ สำหรับให้ Programmers เข้ามาแข่งขันกันได้ มันมี List ของแบบทดสอบด้าน Algorithms ซึ่งคุณสามารถทำผ่าน Online ด้วย Code Editor ของ Website อีกทั้งนี้ยังมี Single Round Matches ที่จัดให้แข่งขันกันในแต่ละเดือนในเวลาที่กำหนดไว้ ซึ่ง Coder สามารถแข่งขันกันเพื่อแก้ปัญหาต่าง ๆ โดยผู้ที่แก้ไขได้เร็วที่สุด ก็จะได้คะแนนสูงสุด

User TopCoder คือ Programmers ที่ฝีมือยอดเยี่ยมและมีส่วนร่วมในการแข่งขัน Programming อยู่เป็นประจำ คนที่มีอันดับสูงสุดจะเป็นเจ้าของ Blog ของตัวเองที่มีชื่อว่า “ALGORITHMS WEEKLY by PETR MITRICHEV” ซึ่งพวกเขาสามารถเขียนเกี่ยวกับการแข่งขันด้านต่าง ๆ ไม่ว่าจะเป็น Code, Algorithm, Math รวมทั้งสิ่งที่พวกเขาชื่นชอบ

3. Geekforgeeks

หากคุณเคยมีปัญหาในการทำ Algorithm หลังจากที่คุณมองหาวิธีแก้ปัญหาใน Google คุณคงเคยได้เห็น Page นี้มาบ้าง

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

4. Leetcode

Leetcode เป็นอีกหนึ่ง Website ยอดนิยมสำหรับการฝึกฝน Algorithm ด้วยจำนวนของปัญหาต่าง ๆ ด้าน Algorithm ที่มีอยู่มากมาย ก็ถือว่าไม่ได้ด้อยไปกว่า Hackerrank เลย โดยมีระดับความยากเป็น 3 ระดับหลัก ๆ คือ Easy / Medium / Hard (แม้แต่ปัญหาบางข้อที่อยู่ในระดับ Easy ก็มีความยากอยู่พอสมควร)

ตอนที่คุณ Satoshi ไปสัมภาษณ์งาน มักจะถูกถามเกี่ยวกับ Algorithm โดยเริ่มจากคำถามง่าย ๆ ก่อนเพื่อวัดความเข้าใจเบื้องต้น จากนั้นก็เริ่มยากขึ้นเพื่อประเมินความสามารถ ส่วนคำถามยาก ๆ นั้นถูกถามจากการสัมภาษณ์ที่ Facebook / Google

ที่ Leetcode ถือเป็น Website ที่ดีแห่งหนึ่ง เนื่องจากมันจะช่วยวัด Performance/Runtime Code ของคุณแล้วเทียบกับของคนอื่น ๆ เพื่อดูว่า Code ของคุณทำงานได้เร็วหรือช้า และคุณจะสามารถ Optimized มันได้หรือไม่

5. Daily Coding Problem

คุณ Satoshi ได้รู้จัก Website นี้ในขณะที่ดูช่อง Youtube ของ CS Dojo ซึ่งเคยทำงานที่ Google แต่ก็ลาออกจากที่นั่นเพื่อมาเป็น Youtuber

Website อาจแตกต่างจาก Website อื่น ๆ สักหน่อย ตรงที่ไม่มี List ของพวกแบบฝึกหัดต่าง ๆ แต่คุณสามารถป้อน Email ของคุณ จากนั้นทาง Website ก็จะส่ง 1 Algorithm ให้คุณได้ไปฝึกฝนเองในทุก ๆ วัน

แบบทดสอบของ Website นี้อยู่ในระดับ Easy/Medium ซึ่งมีบริษัทใหญ่ ๆ อย่าง Amazon/Google ที่ใช้มันในการสัมภาษณ์ผู้สมัครงาน และหากคุณซื้อ Premium Package คุณก็จะได้รับ Solutions ของปัญหาต่าง ๆ

6. Exercism.io

หาก Websites ที่ผ่านมามีการฝึก Algorithm แล้ว ที่ Exercism ก็เป็นอีก Website ที่ดีสำหรับใช้ในการเรียนรู้ด้าน Programming

มี Exercises มากมายใน Exercism แต่แบบฝึกหัดเหล่านี้ไม่ได้หนักไปทาง Algorithm แต่จะหนักไปทางการใช้ Programming Languages:

    • การใช้ If / Else, Loop
    • Date processing, string processing
    • Method Separation, Class Organization
    • วิธีจัดการกับ Errors, การเขียน Asynchronous Code

อย่างคุณ Satoshi เอง ก็ใช้ Website นี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ Golang และ Elixir

หากคุณเขียน Program มาระยะหนึ่งแล้ว และต้องการเรียนรู้ภาษาใหม่ ๆ เรียนรู้วิธีคิดแบบใหม่ ๆ ก็ขอแนะนำให้ไปที่ Exercism

ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

Source: https://levelup.gitconnected.com/

th