วิศวกรรมซอฟต์แวร์และโปรแกรม
วิธี ฝึก หัด การ ใช้ ยา ใน สภาพ แวด ล้อม ที่ มี เวลา นาน
Table of Contents
จง ตั้ง เป้า หมาย ที่ ชัดเจน และ จํากัด เวลา
ก่อนจะเริ่มใช้วาระการเขียนแบบเวลาใด ๆ ให้นิยามที่เจาะจงไว้ คือเป้าหมายที่วัดได้ แทนการเน้นที่คลุมเครือเช่น "อัลกอริทึมปฏิบัติ" ทําลายมันลง: แก้ปัญหาสามอย่างของลําดับขนาดปานกลางภายใน 25 นาที หรือสร้างปัญหาโปรแกรมแบบไม่ตายตัวภายใน 40 นาที
สิ่งสําคัญพอๆ กัน คือ การกําหนดเวลาที่เข้มงวด วิศวกรที่มุ่งมั่นหลายท่านล้มเหลวในการตั้งค่าที่ตั้งไว้ ไม่ใช่เพราะว่าไม่สามารถแก้ปัญหาได้ แต่เพราะใช้เวลาในการแก้ปัญหารายละเอียดที่ไม่จําเป็น ใช้ตัวจับเวลากับปัญหาแต่ละปัญหา และปฏิบัติต่อมันให้เป็นเส้นตายที่ลําบาก เมื่อเวลาผ่านไป วินัยนี้ ฝึกสมองของคุณให้ลดพลังงานจิตได้อย่างมีประสิทธิภาพ ตัวอย่างเช่น ถ้าคุณพบว่าตัวเองติดมากกว่า 10 นาที ในทางเดียว
เลือก สิ่ง แวด ล้อม ที่ เหมาะ กับ การ ฝึก อบรม
การตั้งค่าทางกายภาพและดิจิทัลของคุณ จะมีผลโดยตรงต่อการทํางานของคุณ การตั้งค่าการทดสอบจริงโดยมีมิมิค อย่างใกล้ชิด โดยให้พื้นที่การทํางานสะอาดมีระเบียบเล็กน้อย แจ้งเตือนการโทร, ปิดแท็บที่ไม่เกี่ยวกัน, และปิดแท็บ SL หรืออีเมล หากคุณฝึกเล่นที่บ้าน ให้ลองใช้หูฟังเสียงรบกวน หรือเสียงรบกวนสีขาว
เลือกแพลตฟอร์มการเข้ารหัสที่นําเสนอการสร้างตัวจับเวลาและป้อนข้อมูลแบบสดๆ [FLT: 0] LeetCode ] HALKRank ให้เวลาแข่งขันและล้อเลียนการวิกิ่ ที่จําลองการประเมินจริงอย่างใกล้ตัว โปรแกรม [FLT: 4] Croads [FT] [FTT] times [FT] times [FTIFFT: times [5 times] เป็นกุญแจทดสอบจริง: no page, no passic, no passic, concogar, scoreication, score, scoreication, scoreication, score (helpute.
การ ปฏิบัติ กับ ปัญหา ที่ แท้ จริง
เริ่มด้วยปัญหาที่ตรงกับระดับทักษะของคุณในปัจจุบัน หากคุณกําลังเตรียมตัวเข้าสัมภาษณ์ทางเทคนิค (เช่น CHARENG) โฟกัสไปที่หัวข้อที่ถามบ่อยที่สุด: อาร์เรย์, สายเอ็น, แผนที่ต้นไม้, กราฟ, โปรแกรม, และอีกครั้ง หลีกเลี่ยงการกระโดดไปสู่ปัญหาที่หนักเกินไป; อาจทําลายความมั่นใจและเสียเวลาได้ แต่ก็จะยิ่งยากขึ้นเรื่อย ๆ
เมื่อเลือกปัญหา ให้จัดลําดับความซับซ้อนของความคิดและอัลกอริทึม การหลีกเลี่ยงปัญหาเล็ก ๆ ที่แก้ได้ภายในสองนาที ปัญหาการฝึกซ้อมที่ดี ควรบังคับให้คุณชั่งน้ําหนักการค้าระหว่างความซับซ้อนเวลา ความซับซ้อน และความน่าอ่าน ตัวอย่างเช่น ปัญหาที่ขอให้คุณหาเส้นย่อยที่ยาวที่สุด โดยไม่ต้องซ้ําตัวอักษรสามารถแก้ได้โดยใช้วิธี O(n) การเข้าใกล้หน้าต่างแบบเลื่อนได้ แต่วิธีการแก้ปัญหา On2) แบบไร้เดียงสานั้น จะล้มเหลวภายใต้ข้อจํากัดของเวลา
ใช้ อดีต และ การ ทดสอบ ที่ ทํา ให้ เข้าใจ ผิด
ไม่มีสิ่งใดที่เตรียมให้คุณ เช่น จําลองการจําลองเต็ม ๆ ของการสอบจริง ๆ หลายแพลตฟอร์มให้ปัญหาก่อนการแข่งขัน หรือ ห้องพักสัมภาษณ์แบบล้อเลียน ตั้งค่าตัวจับเวลาสําหรับระยะเวลาที่แน่นอนของการทดสอบเป้าหมายของคุณ และเติมเต็มปัญหาทั้งหมดโดยไม่ต้องพัก หลังการสอบเสร็จ ทบทวนทุกคําตอบ -- ทั้งถูกต้องและไม่ถูกต้อง
ฉัน คิด ถึง ปัญหา ที่ ฉัน พูด ไหม?
กลยุทธ์ การ จัด การ เรื่อง เวลา
การจัดการเวลาที่มีประสิทธิภาพเกินเพียงแค่การตั้งเวลา จงเรียนการลดเวลาของคุณลงอย่างชาญฉลาดภายในปัญหาเดียว กฎทั่วไปที่ใช้ในการสัมภาษณ์แบบเข้ารหัส คือ กฎ 5 นาทีแรกในการเข้าใจปัญหาและวางแผนระดับความสูง เมื่อคุณมีแผนการที่ชัดเจน 15-20 นาทีแล้ว เก็บ 5-10 นาทีสุดท้ายสําหรับการทดสอบและถอดรหัส ถ้าคุณตีปลายตาย อย่ากลัวที่จะทําลายการเข้าใกล้ของคุณ และเริ่มต้นใหม่ --
จัด ลําดับ ปัญหา โดย ความ ยาก ลําบาก
ในการทดสอบหลาย ๆ ครั้ง โดยเพิ่มเวลาให้กับนักแฮกเกอร์ หรือนักเขียนโปรแกรมที่แข่งขัน ได้อย่างรวดเร็ว สแกนปัญหาทั้งหมดได้อย่างง่ายที่สุด
ใช้ “2 ⁇ Pass" เทคนิค
การ หา วิธี แก้ แบบ ลัด วงจร แบบ อัตโนมัติ เป็น วิธี หนึ่ง ที่ ใช้ ได้ ผล จริง ใน การ หา คํา ตอบ
การ เตรียม จิตใจ และ การ จัด การ กับ ความ กดดัน
การ ทํา อย่าง นี้ จะ ช่วย ให้ คุณ มี ความ มั่น ใจ มาก ขึ้น และ ช่วย ให้ คุณ มี ความ มั่น ใจ มาก ขึ้น
เทคนิค อีก อย่าง หนึ่ง คือ เลียน แบบ แรง กดดัน ที่ ถูก ต้อง โดย ฝึก ใช้ แรง กดดัน ภาย นอก เช่น ให้ เพื่อน ดู รหัส หรือ ใช้ เว็บ แคม เพื่อ บันทึก ตัว เอง.
พัฒนา พิธี ก่อน การ
สร้างพิธีกรรมที่สอดคล้องกันก่อนทุกวาระ: ทบทวนคําแนะนําที่รวดเร็วสองสามข้อ, ฟังเพลงประกอบ, หรือแก้ปัญหาเล็กน้อยของความอบอุ่น
ทบทวน และ สะท้อน ให้ เห็น อย่าง ลึก ซึ้ง
สําหรับ ปัญหา แต่ ละ ข้อ ให้ ข้อ สังเกต:
- ฉันติดที่ไหนเนี่ย
- ฉันลองวิธีไหนก่อน มันเหมาะไหม
- ผมทําผิดไวยากรณ์ไปหรือเปล่า?
- ฉันจัดการกรณีขอบ (การใส่ข้อมูลที่ว่างเปล่า, จํานวนมาก ฯลฯ หรือเปล่า?
- ฉันใช้เวลามากแค่ไหนในการดีบั๊ก vs. เขียนโปรแกรมใหม่?
ใช้ตารางคํานวณหรือบันทึกประจําวัน เพื่อติดตามตัวแมกซ์เหล่านี้เมื่อเวลาผ่านไป หลังจาก 10-20 วาระงาน รูปแบบจะปรากฎขึ้น ตัวอย่างเช่น คุณอาจจะพบว่า คุณสูญเสีย 5 นาทีอย่างต่อเนื่อง เนื่องจากชื่อตัวแปรยากจน หรือมักลืมจัดการกับการป้อนข้อมูลว่าง ๆ การตั้งค่าที่อ่อนแอเหล่านี้โดยเฉพาะในบล็อกฝึกต่อไป
เรียน จาก วิธี แก้ และ การ ปรึกษา หารือ อย่าง เป็น ทาง การ
หลัง จาก แก้ ปัญหา แล้ว ลอง เปรียบ เทียบ วิธี แก้ ของ คุณ กับ วิธี แก้ ของ ทาง การ และ วิธี แก้ ปัญหา ของ ชุมชน ที่ มี การ เขียน แบบ การ เขียน แบบ อัลกอริทึม และ วิธี แก้ ปัญหา ถ้า คุณ ไม่ รู้ คุณ ก็ จะ เรียน รู้ วิธี การ นี้ โดย แยก ตัว อยู่ ต่าง หาก ก่อน จะ มา เรียน ครั้ง หน้า การ เรียน แบบ นี้ จะ ทํา ให้ คุณ มี โอกาส เรียน รู้ ได้ เร็ว ขึ้น
จง รักษา ความ สมดุล และ ค่อย ๆ เพิ่ม ความ ยุ่ง ยาก ให้ มาก ขึ้น
ความจุมากกว่าความรุนแรง การใช้เวลา 30 กก. ระยะเวลาซ้อม 5 วันต่อสัปดาห์ จะส่งผลดีกว่าการวิ่งมาราธอน 4 ชั่วโมงในวันหยุด กําหนดเวลาของคุณในแต่ละวัน เพื่อสร้างนิสัย ใช้ปฏิทินหรือการติดอันดับตามตาราง เพื่อระงับความรับผิด
เมื่อคุณรู้สึกสบาย ก็ยิ่งมีความท้าทายเพิ่มขึ้นเรื่อย ๆ เวลานั้นสั้นลงต่อปัญหาครั้งละครั้ง ย้ายจากปัญหาที่ง่ายเป็นสื่อที่ลําบาก นําเสนอหัวข้อใหม่ๆ ที่คุณไม่คุ้นเคย เพิ่มเงื่อนไขเช่น “ไม่ใช้ไลบรารีภายนอก" หรือ “รหัสในภาษาที่คุณแทบจะไม่ใช้" การใช้เกินขนาดนี้จะทําให้สมองของคุณปรับตัวและป้องกันการเคลื่อนที่ได้
แม่แบบรหัสและสนิปต์ของ Levicive
ในสภาพแวดล้อมที่มีเวลามากขึ้น ทุกครั้งก็นับได้ สร้างไลบรารีจิตแบบโค้ดที่สามารถใช้ได้ เช่น ต้นแบบการค้นหาแบบไบนารี, University, University, Projectment, plackerpoper, traversal, และกราฟ BFS/DFS เมื่อคุณเริ่มสร้างปัญหาขึ้น คุณสามารถเขียนโครงสร้างได้ทันทีโดยไม่ต้องเรียกดูอีกครั้ง ได้ฟรีการคิดอย่างรอบคอบนี้ จะช่วยแก้ปัญหาเฉพาะด้านที่พิเศษของปัญหา
ส่วนอื่น ๆ ของ IDE และเครื่องมือแก้ไขออนไลน์ จะอนุญาตให้คุณเก็บแฟ้ม agnetpet ส่วนตัวไว้ ในขณะที่การทดสอบหลายครั้งห้ามทรัพยากรภายนอก โดยจะอนุญาตให้ใช้ต้นแบบโดยหัวใจได้ โปรดฝึกพิมพ์รูปแบบเหล่านี้ได้อย่างรวดเร็วในระหว่างการอุ่นเครื่องเพื่อให้มันกลายเป็นหน่วยความจําของกล้ามเนื้อ
การ วัด ความ จํา
จง ใช้ ข้อมูล จาก การ ฝึก อบรม เพื่อ ระบุ ข้อ อ่อนแอ.
- เวลาใช้อักขระรหัสตัวแรก (ความเร็วในการวางแผน)
- เวลาที่จะส่งข้อมูลที่ถูกต้องครั้งแรก (ความเร็วการหมุน)
- จํานวนของความพยายามล้มเหลว (มีประสิทธิภาพในการลบข้อมูล)
- การดีบั๊กเวลาล้มเหลว
Plants เช่น [FLT: 0] International [FLT: 1) มักจะให้เวลา ⁇ perbolums ats (FT: 0) ใช้ความเข้าใจเหล่านี้ในการจัดลําดับความสําคัญ ตัวอย่างเช่น ถ้าเวลาในการดีบั๊กของคุณสูง จงฝึกการเขียนโค้ดที่สะอาด และใช้ข้อความหรือบันทึกการบันทึกการวางแผงควบคุมของคุณสั้นลง หากเวลาของคุณสูง ให้ใช้เวลาในการอ่านและระบุรูปแบบทันที
คําสุดท้ายใน Mastery Timed Campy
การ ทํา เครื่องหมาย สําหรับ ความ ดัน ที่ อยู่ ใน เวลา ไม่ ใช่ ความ สามารถ แต่ เป็น ทักษะ ที่ สร้าง มา โดย การ ฝึก อย่าง จงใจ ตั้ง เป้า หมาย ที่ ชัดเจน จําลอง สภาพ แวด ล้อม จริง ๆ จัด เวลา ของ คุณ ใน หลาย ระดับ และ สะท้อน ให้ เห็น อย่าง ชัดเจน ใน แต่ ละ ช่วง เวลา เมื่อ เวลา ผ่าน ไป ความ เร็ว และ ความ แม่นยํา ของ คุณ จะ ดี ขึ้น และ นาฬิกา จะ เป็น พันธมิตร กัน แทน ที่ จะ เป็น ศัตรู
สําหรับทรัพยากรเพิ่มเติม สืบค้น [FLT: 0] ลงมติรายการสัมภาษณ์ Craft Course [FLT: 1) โดย FreeCodeCamp และ BigFronten (FLT:3) สําหรับปัญหาพิเศษที่เกิดขึ้นในหน้า 3 ให้พยายามผลักดันข้อจํากัดต่าง ๆ ของคุณต่อไป และคุณจะประสบความสําเร็จในสถานการณ์การถอดรหัสที่รอเวลา