ไปสัมภาษณ์งานมาล่ะ

Monpriya Tammavong
1 min readJul 30, 2023

--

พอดีว่าเมื่อไม่นานมานี้ได้มีโอกาสสัมภาษณ์บริษัทนึงมา เป็นสัมภาษณ์รอบ System design แบบจริงจังครั้งที่ 2 ในชีวิต รอบแรกเป็นของบริษัทนึงในออสเตรเลียเมื่อประมาณ 2 ปีที่แล้ว ลืมความรู้สึกไปละ จำได้แค่ว่าเตรียมตัวเรื่อง API Design ไม่ดี ตอนนั้นไม่ได้เตรียมอะไรเลย ไปแบบเอ๋อๆ เลย แล้วมีถามเรื่องที่เกี่ยวกับ Socket แต่จำ concept ไม่ได้ ตอนนั้นก็ไม่ผ่าน ไปตามที่คิดไว้ แหะๆ

ตัดภาพมาที่ปัจจุบัน ครั้งนี้สัมภาษณ์ตำแหน่งเกี่ยวกับ CI มีสัมภาษณ์ 5 รอบ คุยกับ recruiter ก็ทั่วไป รอบต่อมาเป็น coding interview เป็นโจทย์ DFS แต่รอบที่อยากจะมาเล่าคือ รอบที่ 3 เป็น System design พอรู้ก็เครียดมาก แง้ เพราะไม่รู้เลยว่าเค้าจะถามอะไร ความรู้ที่มีอยู่พอไหม ก็เลยไปหาคอร์สใน udemy เรียน (ชวนกึ่งๆ บังคับพี่ตงเรียนด้วย ฮา) Mastering the System Design Interview เป็น course ที่ดีอยู่นา รีวิวสิ่งที่ควรรู้ แล้วก็มีโจทย์เป็น scenario มาให้ฝึก เป็น mock interview ชอบส่วนนี้มาก แต่สิ่งที่อยู่ใน conversation บางอันก็ยากมากที่จะไปถึงจุดนั้นได้ใน interview แต่ก็พอเป็น idea ก็ได้อยู่เลย ได้อยู่ที่แปลว่าได้ 55555 แล้วก็มีอีกอันนึงที่ดู คือคลิปนี้ 20 System Design Concepts Explained in 10 Minutes ของ Neetcode เรียบเรียงมาดีสุดๆ แล้วถ้าเรื่องไหนไม่มั่นใจ หรือคิดว่าเข้าใจได้ไม่ดีพอ เราก็เข้าไปหาอ่านเพิ่ม เย้

มาถึงวันสัมภาษณ์เป็นบริษัทยุโรปเลยสัมภาษณ์ตอนประมาณ 2 ทุ่ม ก็คือให้โจทย์มา เป็นการสร้าง project ที่เป็น app ของ บ แหละ แต่เป็นแบบ scale เล็กกว่า สิ่งที่รู้สึกว่าตัวเองทำได้ดีคือ มีการถามกลับ เพื่อเก็บ requirements ให้ได้มากที่สุด แล้วก็ตอน offer solution ให้ไป 3 อัน แล้วก็เปรียบเทียบ pros/cons ให้ด้วย แต่นั่นก็เป็นสิ่งที่ทำได้ไม่ดีเหมือนกัน แง้ เพราะตอนให้ pros/cons บอกได้ไม่ชัดพอ แบบอ้อมแอ้ม ฮือ ตอน design ต้องให้ interviewer hint บางอย่าง เพราะลืมไปสนิท เช่น เราบอกว่าจะใช้ queue รับ request จาก client แต่ลืมบอกว่าจาก client จะส่ง message มาที่ queue เรายังไง ก็เลยบอกไปว่า API แต่พอบอกว่า API ก็ดันลืมใส่ API Gateway อีกอย่างที่รู้สึกว่าทำได้ไม่ดีคือตรงส่วนของ CI ต้องให้ interviewer ถามว่า CI จะใส่อะไรไปบ้าง ก็คือเหมือนลืมว่าตัวเองสัมภาษณ์ตำแหน่งอะไร อย่างสุดท้ายที่รู้สึกว่าทำได้แย่ก็คือ มีหลายที่ที่บอกว่าเวลาสัมภาษณ์ให้ทำให้แบบคนสัมภาษณ์รู้สึกอยากทำงานกับเรา หรือทำให้เค้ารู้สึกว่าเราอยากทำงานกับเค้า แต่สัมครั้งนี้คือรู้สึกเลยว่า ทาง interviewer ไม่ค่อยอยากทำงานกับเราแน่ๆ แง พอหลังจากสัมภาษณ์แล้วมานั่งประเมินตัวเองตามที่บอกไปก็คิดว่าไม่น่าจะผ่าน แต่ก็เป็นบทเรียนที่ดีสำหรับสัมภาษณ์ System design ครั้งต่อไป

ที่เขียนไปข้างบนคือก่อนรู้ผล แต่วันที่ publish blog นี้ก็คือรู้ผลแล้วว่าไม่ได้ ซึ่งก็เสียใจนิดหน่อย แต่ก็เหมือนทำใจไปแล้ว เพราะเราประเมินตัวเองไปแล้ว สิ่งที่คิดว่าถ้ามีโอกาสแล้วอยากจะทำเพิ่มอยากไปอ่าน engineer blog ของ บ ที่จะสัมภาษณ์เพิ่ม แล้วก็ไปศึกษา best practice เพิ่ม หรือว่าฝึก design อะไรต่างๆ ที่เจอในแต่ละวันเล่น น่าจะทำให้ประหม่าน้อยลงมาก

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

--

--

Monpriya Tammavong

Developer Consultant at ThoughtWorks CPE29 E71 KU75 YWC16 ..want to be a programmer..