JavaRush /จาวาบล็อก /Random-TH /การแสดงผาดโผนในการสัมภาษณ์ทางเทคนิค: ฉันเข้ามาร่วมงานกับ ...

การแสดงผาดโผนในการสัมภาษณ์ทางเทคนิค: ฉันเข้ามาร่วมงานกับ Google, Microsoft และอื่นๆ อีกมากมายได้อย่างไร

เผยแพร่ในกลุ่ม
การแปลและการดัดแปลงบทความAce Your Technical Interview: What Got Me Into Google, Microsoft และอื่นๆในชุมชนสตาร์ทอัพบนสื่อ ไม้ลอยในการสัมภาษณ์ทางเทคนิค: ฉันเข้าสู่ Google, Microsoft และอีกมากมายได้อย่างไร - 1ก่อนการสัมภาษณ์ฝึกงานครั้งแรก ฉันไม่รู้ว่าจะมีการถามคำถามทางเทคนิคด้วย ฉันคิดว่าคงมีคำถาม "บอกฉันเกี่ยวกับตัวคุณ" มากมายรอฉันอยู่ อย่างไรก็ตาม ฉันก็ไม่ได้เตรียมตัวมาอย่างเหมาะสมสำหรับพวกเขาเช่นกัน ฉันใช้เวลาสองชั่วโมงที่ศูนย์แนะแนวอาชีพเพื่อขอคำแนะนำอันมีค่าจากทุกคน และอีกสองชั่วโมงที่บ้านเพื่อซักถามคำตอบสำหรับคำถามต่างๆ แต่เมื่อฉันมาสัมภาษณ์ ผู้สัมภาษณ์ไม่ได้ถามถึงจุดแข็งและจุดอ่อนของฉัน แต่ฉันกลับได้รับมาร์กเกอร์และบอกให้ไปที่กระดาน และฉันไม่คิดว่าพวกเขาจะตรวจสอบทักษะทางเทคนิคของฉันก่อนด้วยซ้ำ! สิ่งนี้ทำให้ฉันประหลาดใจ ฉันไม่รู้ว่าจะตอบคำถามอย่างไรให้ถูกต้อง และไม่กี่ชั่วโมงต่อมา ฉันก็ได้รับอีเมลปฏิเสธอย่างสุภาพ โชคดีหลังจากเหตุการณ์นี้ ฉันได้รับการสัมภาษณ์ที่ประสบความสำเร็จมากมาย ฉันเคยไปสัมภาษณ์ทางเทคนิคมาแล้วห้าสิบครั้งและเตรียมเพื่อนหลายคนให้พร้อม แนวทางของฉันดูเหมือนจะได้ผลค่อนข้างดี เนื่องจากช่วยให้ฉันและคนอื่นๆ ประสบความสำเร็จในการสัมภาษณ์ที่บริษัทต่างๆ เช่น Google, Microsoft, Apple, Amazon ฯลฯ ฉันอยากจะช่วยเหลือทุกคนเป็นการส่วนตัว แต่มีเวลาไม่เพียงพอสำหรับเรื่องนี้ สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือแบ่งปันคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการสัมภาษณ์ทางเทคนิค ฉันเรียนรู้สิ่งที่ทำได้และไม่สามารถทำได้ในสถานการณ์เช่นนี้ผ่านการลองผิดลองถูก ต่อไปนี้เป็นเคล็ดลับที่เป็นประโยชน์จากฉันซึ่งฉันได้รวบรวมจากการฝึกฝนมาหลายปี

1. อย่ากระโดดเข้าสู่การสัมภาษณ์จำลอง

ผู้คนมักจะแนะนำให้ทำการสัมภาษณ์จำลองให้ได้มากที่สุด—และพวกเขาก็ถูกต้อง แต่หากคุณไม่เตรียมตัว การสัมภาษณ์จำลองอาจไม่ได้ผล เป็นการข่มขู่ และอาจถึงขั้นขวัญเสียได้ ฉันสามารถบอกคุณได้จากประสบการณ์: ถ้าฉันสัมภาษณ์คนที่ไม่ได้เตรียมตัวมาเลยในการปฏิบัติ ในที่สุดพวกเขาก็รู้สึกท้อแท้เพราะพวกเขา "ลอย" ในคำถามและตอบได้ไม่ดีนัก ใช้เวลาเตรียมตัวให้ดียิ่งขึ้นและทำความเข้าใจว่าการสัมภาษณ์ทางเทคนิคเป็นอย่างไร นี่เป็นตัวอย่างที่ดีของการสัมภาษณ์จำลองที่ Google:

2. ทักษะการสื่อสาร > ระดับการฝึกอบรมด้านเทคนิค

หลายๆ คนเตรียมตัวสำหรับการสัมภาษณ์ทางเทคนิคโดยใช้เวลาหลายชั่วโมงบนเว็บไซต์อย่าง LeetCode และ Hackerrank สิ่งเหล่านี้เป็นแพลตฟอร์มที่ยอดเยี่ยมสำหรับการฝึกฝน แต่ทางที่ดีที่สุดคือหาเวลาพักสักเล็กน้อยก่อนที่คุณจะเสียเวลาไปแก้ไขปัญหาที่คุณคิดว่าจะต้องเผชิญในการสัมภาษณ์อย่างไม่ตั้งใจ นี่เป็นแนวทางที่ไม่ได้ผล: ในการสัมภาษณ์คุณจะพบคำถามอย่างน้อยหนึ่งข้อที่คุณไม่เคยเห็นมาก่อน เพื่อนของฉันบางคนมีโปรแกรมเมอร์ที่แข็งแกร่งกว่าฉัน และฉันมักจะแปลกใจว่าทำไมฉันถึงผ่านการทดสอบภูมิหลังทางเทคนิค ในขณะที่พวกเขา (บางครั้ง) ไม่ผ่านการทดสอบ ความแตกต่างที่ใหญ่ที่สุดระหว่างเราอาจเป็นเพราะฉันใช้เวลาส่วนใหญ่ในการฝึกฝนทักษะการสื่อสาร อย่างจริงจัง: การรู้วิธีการแก้ปัญหางานด้านเทคนิค 100 อันดับแรกจะไม่ช่วยอะไรหากคุณไม่สามารถอธิบายตรรกะในการแก้ปัญหาของคุณได้อย่างชัดเจน การเรียนรู้การกำหนดความคิดเป็นสิ่งสำคัญมาก ในตอนแรก ทั้งหมดนี้อาจดูยาก อึดอัด และผิดธรรมชาติ แต่การฝึกฝนก็ช่วยได้ สิ่งสำคัญคือต้องรักษาพื้นฐานด้านเทคนิคให้ทันสมัยอยู่เสมอ แต่การพัฒนาทักษะในการสื่อสารอาจมีความสำคัญมากกว่านั้นอีก หากคุณมีเวลาจำกัดก่อนการสัมภาษณ์ที่กำลังจะมาถึง คุณควรมุ่งเน้นไปที่การสื่อสารมากกว่าการพยายามทบทวนเนื้อหาที่คุณใช้เวลาศึกษาด้านวิทยาการคอมพิวเตอร์เป็นเวลาสองปีโดยใช้เวลาสองวัน ก่อนการสัมภาษณ์ทางเทคนิคครั้งถัดไป ลองเรียนรู้สิ่งนี้:

2.1 เรียนรู้ที่จะถามคำถามที่ชัดเจน

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

2.2 เรียนรู้ที่จะแสดงความคิด

เมื่อคุณถามคำถามที่ชัดเจนทั้งหมดแล้ว และรู้แน่ชัดว่าคุณต้องการอะไรในการแก้ปัญหา ก็ถึงเวลาเรียนรู้วิธีสื่อสารสาระสำคัญของโซลูชันของคุณอย่างเหมาะสม หากคุณเริ่มเขียนโค้ดโดยไม่อธิบายว่าเหตุใดคุณจึงทำไปพร้อมกัน จะเป็นเรื่องยากสำหรับผู้สัมภาษณ์ที่จะทราบว่าคุณถูกหรือผิด คุณจะไม่ได้รับคะแนนสำหรับสิ่งนี้ ไม่ต้องพูดถึงความจริงที่ว่าคุณอาจเขียนวิธีแก้ปัญหาที่ผิด เมื่อคุณอธิบายเหตุผลเบื้องหลังการตัดสินใจของคุณ ผู้สัมภาษณ์สามารถชี้แนะคุณไปในทิศทางที่ถูกต้องหากคุณออกนอกเส้นทางเล็กน้อย ก่อนที่จะเขียนโค้ดใดๆ ให้ลองทำดังนี้:
  • บอกคู่สนทนาของคุณเกี่ยวกับวิธีแก้ปัญหาที่เป็นไปได้ของคุณ - คุณจะสามารถแก้ปัญหาแบบ "เผชิญหน้า" ได้หรือไม่และเป็นไปได้หรือจะปรับปรุงให้ดีขึ้นได้หรือไม่?
  • อธิบายโซลูชันของคุณทีละขั้นตอนพร้อมตัวอย่างเพื่อดูว่าโซลูชันควรทำงานอย่างไร
  • แบ่งวิธีแก้ปัญหาออกเป็นหลายขั้นตอนและเขียนรหัสเทียมหรือ “โครงกระดูก” เพื่อให้ผู้สัมภาษณ์เข้าใจกระบวนการคิดของคุณ
  • ทดสอบโซลูชันของคุณด้วยเคส Edge ต่างๆ เพื่อดูว่าคุณได้ครอบคลุมทุกอย่างแล้วหรือไม่ ถามความคิดเห็นของผู้สัมภาษณ์
ในการฝึกฝน ให้ถามคำถามสัมภาษณ์ที่ได้ผลแล้วลองบอกคำตอบ (วิธีแก้ปัญหา) ที่ถูกต้องให้เพื่อนฟัง ถ้าคุณหาเพื่อนไม่ได้ ให้นำตุ๊กตาสัตว์หรือสิ่งของอื่นๆ มาฝึกกับมัน

3. พัฒนาความรู้และทักษะทางเทคนิคของคุณ

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

4. ฝึกฝน!

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

5. จะทำอย่างไรถ้าคุณ “จนตรอก” ระหว่างการสัมภาษณ์?

ทีนี้ลองจินตนาการว่าคุณได้เข้าสัมภาษณ์จริงและทันใดนั้นก็พบว่าคำถามนี้ทำให้คุณนิ่งงัน คุณไม่รู้ว่าจะต้องทำอะไรและจะแก้ไขปัญหาอย่างไร คุณอยากจะวิ่งออกจากห้องไปและไม่กลับมาอีก ฉันเข้าใจ - ฉันเคยอยู่ในสถานการณ์ที่ฉันยังฝันถึงในฝันร้าย แต่อย่ากังวล ความหวังทั้งหมดยังไม่สูญหาย สิ่งนี้เกิดขึ้นมากกว่าหนึ่งครั้งในระหว่างการสัมภาษณ์ แต่มักจะจบลงด้วยข้อเสนอ มันยาก มันทำให้คุณกังวล แต่อะไรๆ ก็เป็นไปได้ หยุดพักและคิด หายใจเข้า จัดลำดับความคิดของคุณ บางทีคุณอาจมี "เบาะแส" ทดสอบโซลูชันของคุณด้วยตัวอย่างง่ายๆ พยายามสร้างเวอร์ชันที่เรียบง่ายของวิธีแก้ปัญหาสำหรับปัญหาที่คล้ายกัน แต่ง่ายกว่าโดยให้ความสนใจกับการดำเนินการทีละขั้นตอน เช่น ถ้าต้องเรียงลำดับรายการต้องทำอย่างไร? คุณหาจำนวนที่น้อยที่สุดและวางไว้ที่จุดเริ่มต้น คุณจะใช้โซลูชันนี้ในโค้ดอย่างไร บอกเราเกี่ยวกับโซลูชันส่วนตัว หากไม่มีวิธีแก้ปัญหาที่สมบูรณ์ก็ไม่เป็นไร บอกผู้สัมภาษณ์เรื่องนี้แต่ปล่อยให้เขาคิดตามไปด้วย ความท้าทายนี้คล้ายกับสิ่งที่คุณเคยเจอหรือไม่? ดูเหมือนว่าคุณจะต้องใช้โครงสร้างข้อมูลเฉพาะเพื่อแก้ไขหรือไม่ แบ่งปันตรรกะที่แนะนำคุณ ซื่อสัตย์. หากคุณแน่ใจว่าคำถามที่คุณถูกถามนั้นมาจากความรู้ที่ไม่คุ้นเคย ให้บอกผู้สัมภาษณ์เกี่ยวกับเรื่องนี้ สมมติว่าคุณพร้อมที่จะมองหาวิธีแก้ปัญหา แต่คุณยังไม่มีทักษะที่จำเป็น ครั้งหนึ่งฉันถูกถามคำถามที่เกี่ยวข้องกับความปลอดภัยของเครือข่าย ตอนนั้นผมไม่มีการฝึกปฏิบัติในด้านนี้เลยจึงเล่าให้ผู้สัมภาษณ์ฟัง พวกเขาอธิบายให้ฉันฟังถึงพื้นฐานที่จำเป็นเพื่อที่ฉันจะได้รับมือกับงานนี้ได้ คุณจะได้รับการสัมภาษณ์จากคนจริง :) พวกเขาเข้าใจคุณเป็นอย่างดีเพราะพวกเขาเองก็เคยตกอยู่ในสถานการณ์ที่คล้ายคลึงกัน นี่คือเคล็ดลับทั้งหมดที่ฉันได้พัฒนาขึ้นจากการสัมภาษณ์หลายปี พวกเขาช่วยให้ฉันและเพื่อนๆ ก้าวเข้าสู่บริษัทชั้นนำ ขอให้โชคดีในการค้นหา!
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION