ผลของ ReSharper ในการสัมภาษณ์การเข้ารหัส [ปิด]


18

ทุกคนที่ใช้ R # หรือ CodeRush จะรู้ว่าคุณสามารถรวบรวมโครงสร้างอย่างง่าย (และสร้างโครงสร้างที่ซับซ้อน) ด้วยการใช้แป้นพิมพ์ลัดง่ายๆได้อย่างไร อย่างไรก็ตามปลั๊กอินสำหรับผลิตภาพเหล่านี้ทำให้เกิดการประเมินความสามารถที่ผิดพลาดในระหว่างการสัมภาษณ์หรือไม่?

ส่วนหนึ่งของการเป็นนักเขียนโค้ดที่มีประสิทธิผล (และสร้างความประทับใจแรกที่ดีในการสัมภาษณ์) คือการเขียนโค้ดที่ดี - รวดเร็ว

ถ้าฉันมีผู้สมัครสองคน:

  1. ไม่ใช้ปลั๊กอิน เธอคิดเกี่ยวกับปัญหานั่งลงที่หุ้น IDE ที่พีซีสัมภาษณ์ที่ดูเหมือนว่าเธอและพิมพ์รหัสในหนึ่งหรือสองนาทีตามปกติ เสร็จสิ้น ผ่าน

  2. ใช้ปลั๊กอิน เขาคิดเกี่ยวกับปัญหานั่งลงที่หุ้น IDE ที่พีซีสัมภาษณ์และตระหนักว่า "fe + tab" จะไม่เขียนวนรอบ foreach อีกต่อไปโดยอัตโนมัติและทางลัดทั้งหมดจะหายไป จากนั้นเขาก็กระเด้งไปมารอบ ๆ แป้นพิมพ์กดปุ่มฮ็อตคีย์ปกติแล้วเปิดหน้าต่างแปลก ๆ ออกมา ใช้เวลา 3 นาทีในการเขียนสิ่งที่ปกติจะใช้เวลา 30 วินาที เสร็จสิ้น ดูเหมือนว่าพวกเขาไม่รู้จักทางรอบ IDE บางครั้ง ต้องใหม่กับ IDE นี้และดังนั้นจึงไม่ได้มีประสบการณ์กับมันมากหรืออาจจะเป็นภาษา ผ่าน แต่มีเครื่องหมาย 'meh' ข้างชื่อ

จากประสบการณ์ของคุณคุณจะจัดการกับปลั๊กอินอย่างไรในระหว่างการสัมภาษณ์ในฐานะผู้สัมภาษณ์หรือผู้ให้สัมภาษณ์? อะไรคือวิธีปฏิบัติที่ดีที่สุดในการได้รับสิ่งที่ผู้สมัครรู้ อาจมีผู้สมัครที่ไม่เข้าใจรหัสและใช้ R # เป็น crutch นอกจากนี้ยังอาจมีผู้สมัครที่รู้รหัสเข้าและออกและใช้ R # เพราะเป็นเพียงธรรมดาเร็วกว่าแม่แบบ VS หรือ Eclipse เป็นการดีที่สุดที่จะไม่ใช้ IDE เลย? ให้พวกเขานำพีซีมาเองหรือ อื่น ๆ ?


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

ถ้าฉันต้องเขียนโค้ดตัวอย่างใน IDE มาตรฐานมันจะเต็มไปด้วย:wเครื่องหมายสุ่มทุกที่
LindaJeanne

คำตอบ:


31

ฉันเป็นผู้สมัคร 2 ในการให้สัมภาษณ์เมื่อเร็ว ๆ นี้ ฉันได้รับการติดตั้งวานิลลาของ IDE บนพีซีที่มีแป้นพิมพ์ที่ไม่ได้มาตรฐานและกรอบการทดสอบที่ไม่คุ้นเคยและฉันถูกขอให้เขียนแอพ Fizz-Buzz ง่ายๆด้วยการทดสอบหน่วย ฉันปุยมัน ฉันต้องดูเหมือน noob ที่สมบูรณ์สะดุดในความมืดพยายามแฮ็คโค้ด ไม่จำเป็นต้องบอกว่าฉันไม่ได้เสนอตำแหน่ง

สิ่งที่ฉันเรียนรู้คือฉันพึ่งพาปลั๊กอินของตัวเองอย่างมาก พวกเขาไม่เพียงแค่พิมพ์รหัสเร็วขึ้นเท่านั้นพวกเขากำหนดรูปแบบการคิดรหัสและวิธีการเข้ารหัส ตัวอย่างเช่นฉันเคยคิดอย่างรอบคอบเกี่ยวกับชื่อตัวแปรเพราะอาจเป็นความเจ็บปวดที่จะเปลี่ยนแปลงหลังจากความจริง ในทางตรงกันข้ามฉันเพิ่งเดาได้ว่าฉันจะใช้ตัวแปรอย่างไรแฮ็คโค้ดบางอย่างให้ตัวแปรบอกฉันว่ามันคืออะไรจากนั้นกด Refactor-> เปลี่ยนชื่อเพื่อเรียกสิ่งที่เหมาะสมกว่า .

นี่ทำให้ฉันเป็นผู้สมัครที่มีความสามารถน้อยลงหรือไม่? ในบางวิธีฉันคิดว่ามันเป็นอย่างนั้น คนที่สามารถเขียนโค้ดใน Notepad และมีการคอมไพล์และทำงานอย่างถูกต้องมีข้อได้เปรียบเหนือคนอย่างฉันที่ต้องการความดีงาม IDE ทั้งหมดที่เขาจะได้รับ จากมุมมองนั้นฉันเข้าใจอย่างถ่องแท้ว่าทำไม บริษัท ใด ๆ จึงเลือกที่จะไม่จ้างหัวเครื่องมืออย่างฉัน

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

ที่น่าสนใจฉันได้สัมภาษณ์อีกสองสามสัปดาห์ที่ผ่านมา จากประสบการณ์ที่ผ่านมาฉันได้สอบถามเกี่ยวกับเครื่องมือเพิ่มเติมหรืองบประมาณเพิ่มเติมสำหรับการซื้อ การค้นพบว่ามีค่าให้ฉันอีกเหตุผลหนึ่งสำหรับการเปิดลงไป (ค่อนข้างใจกว้าง) เสนอที่พวกเขาทำกับฉัน

ดังนั้นเพื่อถอดความ Groucho " ฉันจะไม่เข้าร่วม บริษัท ที่จะมีคนอย่างฉันเป็นพนักงาน "

ไม่เว้นแต่พวกเขาจะให้ฉันใช้ ReSharper อยู่ดี


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

BTW มันจะต้องดีที่จะสามารถลดข้อเสนอที่น่าสนใจในภาวะเศรษฐกิจปัจจุบัน
Robert Harvey

12

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

ps ตัวอย่างเช่นคิดว่า Vim (หรือ Emacs) - คุณต้องการใช้โดยไม่มีการตั้งค่าปลั๊กอิน ฯลฯ


+1 นอกจากนี้หากงานเขียนโค้ดของคุณเป็นเพียงการตรวจสอบว่าพวกเขารู้เกี่ยวกับ foreach ฉันถามว่ามันมีประโยชน์จริง ๆ (แม้กระทั่งบางอย่างเช่น FizzBuzz กำลังดูมากกว่านั้น) ฉันกำลังพูดคุยกับใครบางคนจากชุมชน Java และเขาบอกว่าคุณสามารถบอกได้ว่าใครเป็น. coders สุทธิที่ดีเพราะพวกเขาใช้ Resharper ไม่แน่ใจว่าถูกต้อง 100% - แต่คุณได้คะแนน ...
FinnNk

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

8

ฉันขอยืนยันว่าเครื่องมืออย่าง ReSharper ทำให้ผู้สมัครของคุณดีขึ้นกว่าเดิม

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

coder ที่ดีต้องเข้าใจโครงสร้างพื้นฐาน แต่ไม่ต้องพิมพ์ด้วยตนเองขี้เกียจชนิดที่ดีช่วยให้เครื่องมือทำงาน bunt grunt และประหยัดเวลามากขึ้นแทนที่จะใช้เวลาคิดถึงปัญหา สิ่งนี้ทำให้นักพัฒนาซอฟต์แวร์โดยรวมดีขึ้น

ฉันให้เหตุผลโดยระบุว่าหากขั้นตอนการสัมภาษณ์นั้นเป็นที่นิยมและมีดมีด


1

นั่นเป็นหนึ่งในเหตุผลที่ฉันขอให้คนเขียนโค้ดที่ไวท์บอร์ดไม่ใช่ใน IDE มันเป็นระดับที่สนามเด็กเล่น และผู้คนมักพูดว่า "โอ้ที่รักผู้ดูแลจัดการเรื่องนี้ให้ฉันตามปกติ" เฮ็คสนิปเพตสร้างขึ้นเพื่อจัดการกับลูปและอย่างนั้นซึ่งไวท์บอร์ดไม่สามารถให้คุณได้ ในกรณีที่พูดอะไรบางอย่างเช่น "ฉันหวังว่าเครื่องหมายวรรคตอนจะอยู่ที่นั่นฉันเป็น R # guy" อาจเป็นสิ่งที่คุณต้องการป้องกันไม่ให้ฉันจับประเด็นไวยากรณ์บางอย่างกับคุณ

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


ฉันเข้าใจอย่างถ่องแท้ว่าทำไมคุณถึงต้องการทำสิ่งที่เป็นไวท์บอร์ดทั้งหมด - ฉันจินตนาการว่ามันทำให้ผู้สมัครที่น่าสงสารมากมายออกมา - แต่มันก็จะกำจัดพรสวรรค์ที่ยอดเยี่ยมเช่นกัน แน่นอนว่านั่นไม่จำเป็นต้องเป็นปัญหาตราบใดที่คุณมีกระดานไวท์บอร์ดที่ดี
Kramii Reinstate Monica

2
@ Kramii: คุณรู้ว่าพรสวรรค์ "ดี" ควรจะสามารถอธิบายตัวเองและรหัสของพวกเขาด้วยไวท์บอร์ด ดังนั้นฉันจึงไม่สามารถมองเห็นได้ว่าทำไมมันจะกำจัดพวกเขาออก
Spoike

1

Great question BTW - ฉันเคยไตร่ตรองเรื่องนี้บ่อยครั้ง

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

มันชอบที่จะไถพรวนดินด้วยรถไถ - ดีถ้าคุณเป็นคนทำสวน แต่ไม่สามารถช่วยเหลือได้ในฐานะเกษตรกรอุตสาหกรรมในเศรษฐกิจที่มีการแข่งขัน

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

ความจริงก็คือเครื่องมือจะดีขึ้นเรื่อย ๆ ถูกกว่าและถูกกว่าทุกปีและไม่มีเหตุผลว่าทำไมคุณควรสมมติว่าคุณไม่มีตัวตน และเครื่องมือที่ยอดเยี่ยมในการทำสิ่งที่ซ้ำ ๆ ด้วยคุณภาพระดับสูง - ซึ่งหมายความว่าเราสามารถมุ่งเน้นไปที่พลังอันเต็มเปี่ยมของสติปัญญา homo-sapien ของเราในส่วนที่ยาก (และน่าสนใจ)

ReSharper เป็นส่วนเสริมของ Visual Studio บริษัท ปัจจุบันของฉันไม่มี ReSharper เมื่อฉันถูกสัมภาษณ์ - แต่ฉันก็เป็นผู้สอนศาสนาเกี่ยวกับเรื่องนี้ในการสัมภาษณ์ของฉันว่าพวกเขาซื้อสำเนามาให้ฉันเมื่อฉันยอมรับตำแหน่งเช่นเดียวกับผู้พัฒนาที่สัมภาษณ์ฉัน ขณะนี้กำลังเปิดตัวทั่วทั้ง บริษัท เครื่องมือที่ดีจ่ายให้ตนเองในเวลาไม่นาน

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


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

@moz - เห็นด้วยอย่างยิ่งที่คุณควรบอกนายจ้างว่าพวกเขาจะไม่ได้รับประโยชน์สูงสุดจากคุณโดยไม่ต้องลงทุนในเครื่องมือ ฉันจะไปอีกขั้นหนึ่งเพื่อให้พวกเขามุ่งมั่นที่จะได้รับเครื่องมือที่เหมาะสม มันอาจจะไม่สนุกสำหรับพวกเขาถ้าพวกเขาไม่ทำ ทุกครั้งที่คุณปรับโครงสร้างบางสิ่งด้วยตนเองคุณจะต้องสาปแช่งพวกเขาโดยไม่ให้ความสำคัญกับเวลาของคุณ การทำงานที่ปานกลางอาจส่งผลกระทบต่อรายได้ของคุณในอนาคต เป็นเรื่องที่น่าสนใจหากคุณทำการเขียนโปรแกรมคู่ใด ๆ หากนักพัฒนาทั้งสองมีการกำหนดค่าทางลัดที่แตกต่างกัน ฉันพยายามรักษามาตรฐานให้มากที่สุดเท่าที่จะทำได้
sheikhjabootie
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.