DEV Community

Cover image for โจทย์ 7 ข้อที่ต้องทำได้ ก่อนสมัครงาน Software Engineer

โจทย์ 7 ข้อที่ต้องทำได้ ก่อนสมัครงาน Software Engineer

สมัครงาน Software Engineer เขาสัมภาษณ์อะไรกันบ้าง พี่นายช่างขอเลือกโจทย์มาให้ดูเล่นเป็นแนวทาง

ข้อ 1 ค่ามากสุดในอาเรย์

โด่งดังจากโพสต์ในสมาคมโปรแกรมเมอร์ไทย

ถ้าเขียน for-loop กับ if เป็น ก็น่าจะทำข้อนี้ได้แล้วนะ

ตัวอย่างอินพุต

[6, 1, -50, 200, 7, 9, -13, 20]

ผลลัพธ์

200

ข้อ 2 ฟิซบัซ (Fizz Buzz)

โจทย์สำหรับสัมภาษณ์ programmer ในต่างประเทศ ว่ากันว่าสามารถกรองผู้สมัครที่เขียนโปรแกรมไม่เป็นออกไปได้ถึง 99.5%! โม้รึเปล่าเนี่ย

โจทย์ต้องการให้พิมพ์เลข 1-100 แต่ถ้าเลขตัวไหนหารสามลงตัว ให้พิมพ์ "Fizz" ถ้าตัวเลขตัวไหนหารห้าลงตัวให้พิมพ์ "Buzz" ถ้าหารสามก็ลงตัวหารห้าก็ลงตัว ให้พิมพ์ "FizzBuzz"

อาจจะดูเหมือนง่าย แต่อาจจะไม่ง่ายอย่างที่คิด! ตกม้าตายกันมาเยอะแล้ว

ผลลัพธ์

1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16, ...

ข้อ 3 ตรวจสอบพาลินโดรม

อีกหนึ่งในโจทย์คลาสสิค

พาลินโดรม (Palindrome) คือข้อความที่อ่านจากหน้าไปหลังหรือหลังไปหน้าแล้วยังเป็นข้อความเดิม เช่น tacocat, tenet (หนังใหม่ของ Nolan ที่เล่นกับ concept นี้), ยาย, กนก

โจทย์ต้องการให้เราพิมพ์ True ถ้าข้อความที่รับเข้าไปเป็น พาลินโดรม และ False ถ้าไม่ใช่

ตัวอย่างอินพุต

tacocat

ผลลัพธ์

True

ข้อ 4 ชื่อซ้ำกันจากสองรายชื่อ

ให้รายชื่อมาสองรายการ เป็น อาเรย์สองตัว หาชื่อที่ซ้ำกันออกมา

ตัวอย่างอินพุต

[alice, bob, trudy, jack]
[janet, alice, james, jack]

ผลลัพธ์

[alice, jack]

ข้อ 5 จำนวนฟีโบนัชชี

คือจำนวนที่อยู่ในลำดับ

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, ..

ถ้าใครมองความสัมพันธ์ออก จำนวนถัดไปคือจำนวนก่อนหน้าสองตัวบวกกัน

โจทย์จะบอกลำดับตัวเลขที่ต้องการ และโปรแกรมต้องตอบว่าจำนวนฟีโบนัชชีตัวนั้นมีค่าเท่าไหร่

ถ้าใครเขียนเสร็จเร็ว ลองใส่อินพุตเป็นตัวเลขเยอะๆเข้าไปด้วย!

ตัวอย่างอินพุต

12

ผลลัพธ์

144

ข้อ 6 ผลบวกของตัวเลขสองตัวในอาเรย์

ให้อาเรย์ของตัวเลขมาหนึ่งตัว และผลบวกที่ต้องการ ให้ตอบว่าสามารถหาตัวเลขสองตัวที่บวกกันแล้วได้ผลเท่าที่ต้องการหรือไม่

ตัวอย่างอินพุต

[1, 5, 13, 2, 7, 6]
11

ผลลัพธ์

True

(เพราะ 5 + 6 == 13)

อาจจะดูเหมือนง่าย แต่ทำให้ถูกต้องและเร็ว ได้หลายวิธีเลยทีเดียว

ข้อ 7 คำที่ปรากฎบ่อยที่สุดในบทความ

ให้ string ของบทความภาษาอังกฤษมา และให้หาคำที่ปรากฎบ่อยที่สุด (โดยไม่สนใจตัว lower/uppercase และเครื่องหมายวรรคตอน)

ตัวอย่างอินพุต

This sentence has five words. Here are five more words. Five-word sentences are fine. But several together become monotonous.

ผลลัพธ์

five

ยินดีด้วย!

ถ้าทำได้ทั้งหมดนี้ ขอแสดงความยินดีด้วย เพราะไปสมัครงานที่ไหนก็คงสมัครผ่านโดยไม่ยากแล้ว ติดข้อไหนทวีตมาคุยกับพี่ได้ แต่ไม่ต้องเอาโจทย์ยากๆมาถามเพราะพี่ทำไม่เป็น

Alt Text

Top comments (0)