มอคอินเทอร์วิว Java Developer: วิธีฝึกซ้อมสำหรับตำแหน่ง Java
โดย Aaron Cao · อัปเดตเมื่อ

มอคอินเทอร์วิวสำหรับ Java Developer ควรฝึกพูดออกเสียงสามเรื่อง ได้แก่ คำถามพื้นฐานภาษาและ JVM ที่คุณอธิบายได้โดยไม่ต้องดูโน้ต โจทย์เขียนโค้ดด้วยภาษา Java ในตัวแก้ไขข้อความธรรมดา และการพูดคุยเรื่อง backend เกี่ยวกับ Spring ฐานข้อมูล และ concurrency ให้ประเมินทั้งคำอธิบายและโค้ด
มอคอินเทอร์วิว Java Developer ควรมีอะไรบ้าง
สร้างมอคอินเทอร์วิวโดยอิงจากรอบต่าง ๆ ที่กระบวนการสัมภาษณ์ Java มักมี:
- พื้นฐานภาษา สัญญาของ
equals()และhashCode(), immutability, checked exception กับ unchecked exception, และ generics ที่มี type erasure - Collections และ concurrency
HashMapทำงานภายในอย่างไร ควรใช้ConcurrentHashMapเมื่อไหร่ lock กับsynchronizedต่างกันอย่างไร thread pool และCompletableFuture - JVM heap กับ stack, garbage collection ทำงานอย่างไร และคุณจะหา memory leak ได้อย่างไร
- การเขียนโค้ดด้วย Java โจทย์อัลกอริทึมหรือโจทย์ออกแบบเล็ก ๆ ใน shared editor
- การออกแบบ backend บริการ REST ด้วย Spring Boot, transaction, และ query ที่ช้าเพราะรูปแบบการโหลดของ JPA
- Behavioral ปัญหาบนโปรดักชันที่คุณรับผิดชอบและความเห็นต่างเชิงเทคนิค
รายการคำถามอยู่ในหน้าคำถามสัมภาษณ์เขียนโค้ด Javaและคำถามสัมภาษณ์ Spring Boot มอคอินเทอร์วิวคือแผนการฝึกซ้อม: พูดคำตอบเหล่านี้ออกเสียง จับเวลา และรับมือกับคำถามตาม
จะทำรอบเขียนโค้ดโดยไม่มี IDE ได้อย่างไร
นักพัฒนา Java ส่วนใหญ่เขียนโค้ดทั้งวันใน IntelliJ IDEA หรือ Eclipse จึงเป็นเรื่องสมเหตุสมผลที่จะกังวลเกี่ยวกับรอบที่ใช้ shared editor ธรรมดา หัวข้อนี้อธิบายวิธีฝึกซ้อมสำหรับรอบนั้น วิธีแก้คือฝึกภายใต้เงื่อนไขเดียวกัน: ไม่มี autocomplete ไม่มีคำแนะนำจาก compiler และพูดไปด้วยพิมพ์ไปด้วย
- เขียน class, method signature และ import ด้วยมือก่อนเขียน logic
- เลือก collection อย่างตั้งใจและอธิบายเหตุผล เช่นใช้
ArrayDequeแทนLinkedListสำหรับ queue - จัดการค่า null, input ว่าง และ overflow ออกเสียงก่อนที่ผู้สัมภาษณ์จะถาม
- ไล่ตัวอย่างเล็ก ๆ หนึ่งตัวผ่านโค้ดด้วยมือ แล้วบอก time complexity และ space complexity
- ค่อยวางโค้ดลงใน IDE ทีหลังเพื่อดูว่าส่วนไหนที่คอมไพล์ไม่ผ่าน
เมื่อไม่มีคู่ฝึกซ้อม เครื่องมือมอคอินเทอร์วิวสามารถรับหน้าที่ส่วนที่ต้องพูด โดยตั้งคำถามตามเรซูเม่และตำแหน่งงานเป้าหมายของคุณ และถามต่อจากคำตอบของคุณ
จะฝึกพูดคุยเรื่อง JVM และ concurrency ได้อย่างไร
วิศวกร backend คนหนึ่งที่มีประสบการณ์ Spring หลายปี กำลังเตรียมตัวสำหรับทีม payments ถูกถามในมอคอินเทอร์วิวว่าเธอจะหาสาเหตุที่หน่วยความจำของบริการเพิ่มขึ้นเรื่อย ๆ ได้อย่างไร คำตอบแรกของเธอคือเพิ่มขนาด heap เมื่อทบทวนใหม่ เธอปรับคำตอบให้เป็นลำดับขั้นตอน: ยืนยันการเพิ่มขึ้นจาก metric และ log ของ garbage collection, เก็บ heap dump, หา object ที่ครองสัดส่วนมากที่สุด, ตามรอยไปจนถึง cache ที่ไม่มีการ evict แล้วจึงแก้ไขและเฝ้าดูหน่วยความจำหลัง deploy ในมอคครั้งถัดไป คู่ของเธอเปลี่ยนเป็น counter ที่สูญเสียการอัปเดตเมื่อมีโหลดสูง และเธออธิบายว่าทำไม AtomicLong หรือ lock จึงแก้ปัญหานี้ได้ และแต่ละวิธีมีต้นทุนอย่างไร
ฝึกเรื่องเหล่านี้ในรูปแบบเรื่องเล่าที่มีขั้นตอน ไม่ใช่นิยาม ผู้สัมภาษณ์จะถามต่อจากสิ่งที่คุณพูด ดังนั้นทุกคำตอบควรนำไปสู่จุดที่คุณสามารถเจาะลึกต่อได้
ควรเก็บฟีดแบ็กแบบไหน และ SubcueAI เหมาะกับตรงไหน
หลังมอคแต่ละครั้ง ตรวจสอบว่าคุณอธิบาย trade-off แทนที่จะแค่ระบุชื่อ API หรือไม่ โค้ดของคุณคอมไพล์ผ่านตั้งแต่วางครั้งแรกหรือไม่ คุณทดสอบ edge case โดยไม่ต้องมีใครบอกหรือไม่ และคำตอบด้านการออกแบบของคุณพูดถึง transaction, การจัดการความล้มเหลว และวิธีที่คุณจะสังเกตการณ์บริการหรือไม่ คู่มือฝึกซ้อมสำหรับตำแหน่งอื่น ๆ อยู่ในฮับมอคอินเทอร์วิว
ในการสัมภาษณ์วิดีโอจริง SubcueAI ถอดเสียงคำพูดของผู้สัมภาษณ์และร่างประเด็นคำตอบแบบมีโครงสร้างไว้ใน overlay ในเครื่อง จากแอปเดสก์ท็อปบน macOS หรือ Windows หรือส่วนขยายเบราว์เซอร์ใน Chrome หรือ Edge โดยไม่มีบอทเข้าร่วมการโทรเลย เหมาะกับรอบที่เป็นการพูดคุย ส่วนรอบเขียนโค้ดใน shared editor หรือผ่านการแชร์หน้าจอนั้นมองเห็นได้ทั้งหมด การประเมินแบบมีผู้คุมสอบอยู่นอกขอบเขต และงาน take-home ก็เป็นงานของคุณเองล้วน ๆ
คำถามที่พบบ่อย
หัวข้อ Java แบบไหนที่พบบ่อยที่สุดในการสัมภาษณ์ developer
การสัมภาษณ์ Java ให้ใช้ IntelliJ IDEA ได้ไหม
จะฝึกโจทย์เขียนโค้ด Java คนเดียวได้อย่างไร
SubcueAI ช่วยระหว่างรอบเขียนโค้ด Java สดได้ไหม
คำถามที่เกี่ยวข้อง
- จะทำมอคอินเตอร์วิวสำหรับตำแหน่ง Frontend Developer ได้อย่างไร?
- จะฝึกซ้อมสำหรับการสัมภาษณ์ DevOps ด้วยการสัมภาษณ์จำลองได้อย่างไร
- จะเตรียมตัวสัมภาษณ์งานมาร์เก็ตติ้งด้วยม็อกอินเตอร์วิวได้อย่างไร?
- ฝึกซ้อมสัมภาษณ์จำลองฝ่ายบริการลูกค้าอย่างไร
- จะฝึกสัมภาษณ์งานสายขายด้วยการสัมภาษณ์จำลองได้อย่างไร
- ฉันจะฝึกสัมภาษณ์งานพยาบาลด้วยการสัมภาษณ์จำลองได้อย่างไร?