JavaRush /จาวาบล็อก /Random-TH /คอฟฟี่เบรค #49 ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น เตรียม...

คอฟฟี่เบรค #49 ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น เตรียมตัวสัมภาษณ์อย่างไร

เผยแพร่ในกลุ่ม

ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น

ที่มา: ปานกลาง บางครั้งในเวลาว่างฉันก็เดินไปรอบๆ ที่เก็บ GitHub เมื่อฉันเริ่มเรียนรู้โปรแกรม เครื่องมือ หรือยูทิลิตี้ใหม่ๆ ฉันพยายามที่จะเห็นการใช้งานจริง เมื่อต้องการทำเช่นนี้ ฉันดูโค้ดของพวกเขา: ช่วยให้เข้าใจว่าทุกอย่างทำงานอย่างไร มีโมดูลใดบ้างและการขึ้นต่อกันภายนอก การดื่มด่ำกับเทคโนโลยีให้ความรู้สึกที่เหลือเชื่อและช่วยให้คุณได้รับความรู้ใหม่ คอฟฟี่เบรค #49  ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น  วิธีเตรียมตัวสำหรับการสัมภาษณ์ – 1ในบทความของฉัน ฉันอยากจะแบ่งปันตัวอย่างโค้ดที่น่าประทับใจที่สุดที่ฉันเจอขณะท่องไปตาม Repositories

โปรแกรมควบคุมอพอลโล 11

Apollo 11 เป็นยานอวกาศที่พาผู้คนไปดวงจันทร์ คอมพิวเตอร์ควบคุมออนบอร์ด (AGC) ควบคุมการดำเนินการบินด้วยหน่วยความจำกายภาพเพียง 4 กิโลไบต์ ซอฟต์แวร์ AGC ซึ่งเขียนด้วยภาษาแอสเซมบลี ถูกจัดเก็บไว้ในหน่วยความจำแบบอ่านอย่างเดียวพิเศษ (หน่วยความจำแบบเชือก) เมื่อหลายปีก่อน มีการโพสต์สำเนาเอกสารที่ สแกนของซอร์สโค้ดนี้บนอินเทอร์เน็ต จากนั้นมีคนเขียนโมดูลหลายโมดูลลงใน ไฟล์ข้อความและอัปโหลดไปยังที่เก็บ GitHub คอฟฟี่เบรค #49  ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น  วิธีเตรียมตัวสำหรับการสัมภาษณ์ – 2ทีมวิศวกรอพอลโล 11 ทำงานอย่างหนักเพื่อให้ได้ผลลัพธ์อันน่าทึ่งนี้ พวกเขาเขียนโค้ดจำนวนมากในภาษาแอสเซมบลี แม้ว่าการเขียนโปรแกรมในทศวรรษ 1960 จะยากกว่าในปัจจุบันมากก็ตาม ในเวลานั้นภาษาโปรแกรมมีระดับนามธรรมที่ต่ำกว่า นอกจากนี้ เนื่องจากฮาร์ดแวร์ใช้พลังงานต่ำ นักพัฒนาจึงต้องเขียนโค้ดที่ได้รับการปรับปรุงให้เหมาะสมที่สุด

Quake III อารีน่า

Quake III Arena เป็นวิดีโอเกมยิงมุมมองบุคคลที่หนึ่งที่สร้างโดย id Software เกมดังกล่าวปรากฏในช่วงทศวรรษ 1990 ซึ่งเป็นช่วงที่อุตสาหกรรมเกม 3D เพิ่งเริ่มต้น เอ็นจิ้นเกม id Tech 3 ถูกนำมาใช้เพื่อการพัฒนา เช่นเดียวกับในกรณีของโปรแกรม Apollo 11 lunar เนื่องจากข้อจำกัดด้านทรัพยากรฮาร์ดแวร์ โค้ดสำหรับการเรนเดอร์กราฟิกจึงได้รับการปรับให้เหมาะสมอย่างมาก การคำนวณการเขียนโปรแกรมเกมจำนวนมากต้องใช้แนวคิดของการทำให้เวกเตอร์เป็นมาตรฐาน ซึ่งจำเป็นต้องคำนวณรากที่สองผกผัน เนื่องจากนักพัฒนาจำเป็นต้องเลือกอัลกอริธึมที่มีประสิทธิภาพสูงสุดสำหรับคอมพิวเตอร์กราฟิก Quake III Arena จึงใช้วิธีที่ชาญฉลาดในการคำนวณรากที่สองผกผันอย่างรวดเร็วโดยใช้การคำนวณระดับบิต คอฟฟี่เบรค #49  ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น  วิธีเตรียมตัวสำหรับการสัมภาษณ์ - 3ระดับของการเพิ่มประสิทธิภาพในโค้ดบางส่วนที่คุณเห็น และอันที่จริงในโค้ดทั้งหมดที่ใช้ในการสร้างเกมในปี 1990 นั้นน่าทึ่งมาก ปัจจุบัน นักพัฒนาวิดีโอเกมมักไม่ทำการคำนวณในระดับนี้ เนื่องจากมีฟังก์ชันหลายอย่างที่ดำเนินการในระดับเอ็นจิ้นเกม

คอลเลกชันคอมไพเลอร์ GNU

ภาษาโปรแกรม C เรียกได้ว่าเป็นบิดาแห่งการเขียนโปรแกรมยุคใหม่เพราะมีความใกล้เคียงกับฮาร์ดแวร์มาก แต่ในขณะเดียวกันก็นำเสนอนามธรรมในระดับดีที่มนุษย์สามารถเข้าใจได้ คอมไพเลอร์ GNU C เป็นคอมไพเลอร์บูตสแตรป นั่นคือมันถูกเขียนด้วยภาษา C โดยใช้แนวคิดของคอมไพเลอร์คลี่คลาย ในโค้ด GNU Compiler Collection บน GitHub ฉันพบไฟล์ต้นฉบับ C ที่ยาวที่สุดเท่าที่ฉันเคยเห็นมา (อาจมีไฟล์ที่ยาวกว่านี้ แต่นี่คือไฟล์ที่ฉันพบ)คอฟฟี่เบรค #49  ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น  วิธีเตรียมตัวสำหรับการสัมภาษณ์ - 4

โครเมียม

เบราว์เซอร์ยอดนิยม เช่น Google Chrome, Microsoft Edge และ Opera อิงตามโครงการโอเพ่นซอร์ส Chromium โปรเจ็กต์นี้มีการพึ่งพาสองส่วนหลัก: เอ็นจิ้น Blink (ทางแยกของไลบรารี WebCore จากทีม Webkit) และเอ็นจิ้น V8 JavaScript ที่พัฒนาโดยทีมงานโครงการ Chromium แน่นอนว่าโค้ดของ Chromium นั้นค่อนข้างกว้างขวางและมีโมดูลของ บุคคลที่สามมากมาย เช่นgRPCและSkia แต่นักพัฒนา Chromium ก็สามารถจัดโครงสร้างส่วนประกอบเหล่านี้ได้อย่างสมบูรณ์แบบ Codebase แยกตรรกะฟังก์ชันภายในออกจากตรรกะส่วนต่อประสานกับผู้ใช้อย่างชาญฉลาด สิ่งนี้ทำให้มั่นใจได้ว่าจะได้รับการสนับสนุนที่ดีสำหรับทั้งโครงการ คอฟฟี่เบรค #49  ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น  วิธีเตรียมตัวสำหรับการสัมภาษณ์ - 5นอกจากนี้ รหัสโปรเจ็กต์ยังมีซอร์สโค้ดสำหรับแอปพลิเคชัน Chromium Android และ iOS การจัดโครงสร้างแอปพลิเคชันข้ามแพลตฟอร์มที่ปรับขนาดได้สูงอาจเป็นเรื่องท้าทาย อย่างไรก็ตาม Chromium มีการแยกโค้ดที่น่าประทับใจอย่างแท้จริงใน Linux, Windows และ Mac

กิ๊ก

ทุกวันนี้ ทุกทีมใช้ Git เพื่อจัดการเวอร์ชันโค้ด ระบบควบคุมเวอร์ชันนี้ได้รับการพัฒนาโดย Linus Torvalds (ผู้สร้างเคอร์เนล GNU/Linux OS) ฐานโค้ด Git ประกอบด้วยซอร์สโค้ด Gitk Gitk เป็นแอปพลิเคชัน GUI ที่ให้การนำทางด้วยภาพผ่านการคอมมิต หากต้องการดูว่า Commit สองรายการแตกต่างกันอย่างไร คุณสามารถใช้คำสั่งต่อไปนี้:
$ git diff <commit hash> <commit hash>
แต่เนื่องจาก Gitk เป็นเครื่องมือแบบภาพ เราจึงสามารถเห็นความแตกต่างได้เร็วกว่ามาก คอฟฟี่เบรค #49  ตัวอย่างโค้ดที่นักพัฒนาทุกคนควรเห็น  เตรียมตัวอย่างไรในการสัมภาษณ์ – 6ซอร์สโค้ด Gitk ทั้งหมดรวมอยู่ในไฟล์ . รหัสนี้เขียนในภาษาสคริปต์ Tcl โดยใช้ชุดเครื่องมือ Tk UI ซึ่งเป็นส่วนขยายของ Tcl การรวมแอปพลิเคชัน GUI ทั้งหมดให้เป็นไฟล์เดียวถือเป็นงานที่ยาก

Developer จะเตรียมตัวสัมภาษณ์งานได้อย่างไร?

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

ศึกษาตำแหน่งเพื่อให้แน่ใจว่าตำแหน่งนี้เหมาะกับคุณ

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

พยายามติดตามแนวโน้มอาชีพของคุณอยู่เสมอ

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

ระหว่างการสัมภาษณ์ต่อหน้าหรือวิดีโอคอล: พยายามทำตัวให้ดูดีและผ่อนคลาย

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

ใช้เวลาของคุณ

ก่อนการสัมภาษณ์ คุณต้องเตรียมตัว ศึกษาหัวข้อต่างๆ ฝึกฝนอัลกอริทึมและการแก้ปัญหา และเตรียมสุนทรพจน์ กระบวนการเหล่านี้บางส่วนมีความยาวและใช้เวลานาน ดังนั้นให้แน่ใจว่าคุณมีข้อได้เปรียบที่นี่

ฝึกฝน

ขึ้นอยู่กับประสบการณ์ของคุณ แต่คำแนะนำของฉันคือ หากคุณต้องเขียน Code ในการสัมภาษณ์ โปรดเขียนให้ถูกต้อง ในการทำเช่นนี้ คุณต้องเรียนรู้วิธีล้างและตรวจสอบโค้ด ซึ่งจะช่วยให้คุณจัดระเบียบใหม่หรือปรับปรุงฟังก์ชันบางอย่างได้

สาธิตประสบการณ์ของคุณในการสัมภาษณ์แบบตัวต่อตัวหรือในรูปแบบโค้ด

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

นอนหลับให้เพียงพอหนึ่งวันก่อนการสัมภาษณ์

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

เชื่อถือคำตอบของคุณ

อย่าสงสัยในตัวเอง ไม่เคย.

ในระหว่างการสัมภาษณ์ คุณต้องแสดงความปลอดภัยและความมั่นใจให้กับทุกคน

หากคุณไม่มีทักษะนี้ คุณอาจต้องฝึกฝนมัน ความมั่นใจคือการที่คุณตอบว่า “ฉันไม่รู้คำตอบ แต่ฉันสามารถค้นหาและตอบทีหลังได้” ตัวเลือกคำตอบนี้แสดงถึงความปลอดภัยและความมั่นใจ

วิเคราะห์การสัมภาษณ์

การสัมภาษณ์แต่ละครั้งจะแตกต่างกัน แต่ทุกคนก็มีลักษณะบางอย่างที่คล้ายคลึงกัน ดังนั้น หลังจากการสัมภาษณ์ คุณควรไตร่ตรองว่าอะไรผ่านไปด้วยดีหรือแย่สำหรับคุณ การสัมภาษณ์เป็นช่วงเวลาที่ดีในการมองตัวเองจากภายนอก จุดแข็งและจุดอ่อนของคุณ
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION