JavaRush /จาวาบล็อก /Random-TH /Java Middle ใน 2.5 เดือน
novago219
ระดับ

Java Middle ใน 2.5 เดือน

เผยแพร่ในกลุ่ม
สวัสดีผู้อ่านทุกคนที่คิดว่าภายใน 2.5 เดือนจากศูนย์คุณสามารถกลายเป็นคนกลางได้จริงๆ ฉันรีบทำให้คุณผิดหวัง - สิ่งนี้เป็นไปได้ก็ต่อเมื่อคุณทำงานหนักเพื่อตัวคุณเองเท่านั้น และฉันรู้ว่าทุกคนต้องการทุกสิ่งในคราวเดียว - ตอนนี้และไม่มีทางอื่น และวลีตั้งแต่เริ่มต้นใช้ได้กับฉันเฉพาะในสถานะตามเงื่อนไขบางอย่างเท่านั้น เพราะจริงๆ แล้วฉันไม่มีความรู้เกี่ยวกับ Java เป็นภาษาโปรแกรมเลย แต่ฉันยังรู้อยู่แล้วและสามารถทำอะไรบางอย่างได้ก่อนที่ฉันจะพบกับ JavaRush และบางทีฉันอยากจะเริ่มต้นเรื่องราวของฉันด้วยสิ่งนี้ เพราะว่าการเติบโตในอาชีพของฉันนั้นเป็นการผสมผสานระหว่างความรู้ ทักษะ และโชคที่ค่อนข้างแปลก ดังนั้น ฉันขอเสนอรายชื่อที่ทำให้ฉันได้เปรียบในการแข่งขันเหนือผู้อื่น และยังทำให้ฉันสามารถผ่าน JavaRush (จนถึงระดับ 34) ได้อย่างรวดเร็วและไม่ยากมากนัก (อย่างน้อยก็ไม่ทำให้ฉันประหลาดใจ) รายการนี้ประกอบด้วยองค์ความรู้ที่มหาวิทยาลัยมอบให้ผมและสิ่งที่ผมเองก็สนใจด้วย ฉันจะไม่แยกว่าทุกอย่างอยู่ที่ไหน และฉันจะไม่ตั้งชื่อมหาวิทยาลัยด้วย หากคุณต้องการ คุณควรเชี่ยวชาญความรู้ทั้งหมดนี้ด้วยตัวเองหากมหาวิทยาลัยของคุณไม่ได้สอน
  1. อัลกอริทึมและโครงสร้างข้อมูล:เส้นทางของฉันในทิศทางนี้เริ่มต้นด้วยการศึกษาหลักการของการสร้างอัลกอริทึม การอ่านหนังสือคลาสสิก (Knuth) และการศึกษาภาษาโปรแกรม Pascal และต่อด้วยภาษา C การใช้โครงสร้างข้อมูลทั้งหมดและการวิเคราะห์ ข้อดีและข้อเสียของแต่ละข้อ ฉันจะไม่พูดว่า นอกเหนือจากอย่างอื่นทั้งหมดแล้ว ฉันรู้วิธีทำงานกับ Turing Machines และ Markov Algorithms หรือไม่ ฉันได้พูดไปแล้ว แต่คุณสามารถเพิกเฉยต่อสิ่งนี้ได้ แม้ว่าในความคิดของฉัน แนวคิดของ เทปหน่วยความจำที่ไม่มีที่สิ้นสุดและการเคลื่อนไหวของตัวชี้ไปตามนั้นทำให้มีความคิดที่ถูกต้องที่สุดว่าคอมพิวเตอร์ทำงานจากภายในได้อย่างไร แต่นี่เป็นเพียงความเห็นที่ต่ำต้อยของฉัน
  2. สถาปัตยกรรมคอมพิวเตอร์และแอสเซมเบลอร์:เมื่อคุณตัดสินใจว่าคุณเข้าใจหลักการทำงานของคอมพิวเตอร์อย่างสมบูรณ์แล้ว ให้ลองเขียนโปรแกรมในระดับที่ต่ำมาก (ไม่เช่นนั้นคุณจะประทับใจกับความพึงพอใจของ Java ได้อย่างไร) และฉันก็พิจารณาตัวเลือกการศึกษาทั้งหมดเป็นการส่วนตัวด้วย , สอง, สามรีจิสเตอร์ และฉันก็รู้ว่าคุณต้องหลบอย่างไร ในเมื่อมีรีจิสเตอร์เพียงอันเดียว และโปรแกรมทำงานได้ (น่าประหลาดใจใช่ไหม?)
  3. คณิตศาสตร์แบบไม่ต่อเนื่อง:โดยธรรมชาติแล้วควบคู่ไปกับสิ่งที่กล่าวมาข้างต้นก็คุ้มค่าที่จะเรียนเรื่องนี้เนื่องจากจะให้ความเข้าใจที่สมบูรณ์เกี่ยวกับการคิดเชิงตรรกะและทฤษฎีของเครื่องจักรที่มีสถานะ จำกัด จะบอกคุณว่าภายในของโปรเซสเซอร์ถูกจัดเรียงอย่างไรและอย่างไร พวกมันถูกจัดอยู่ในวงจรรวม อย่าลืมว่าที่นี่มีการศึกษาทฤษฎีกราฟด้วยซึ่งจะไม่เกินความจำเป็น 100%
  4. คณิตศาสตร์ขั้นสูง:ฉันตัดสินใจเน้นวิชาคณิตศาสตร์อื่น ๆ ทั้งหมดในย่อหน้าเดียวเพื่อไม่ให้หัวของคุณเกะกะมากเกินไป นี่คือ: การวิเคราะห์ทางคณิตศาสตร์, ทฤษฎีความน่าจะเป็นและสถิติ, พีชคณิตเชิงเส้น - อย่างไรก็ตามสิ่งที่สำคัญมากถ้าคุณต้องการสร้างกราฟิกสามมิติ (ฉันรู้ว่าความฝันของทุกคนคือการเขียนเกมแม้ว่าคุณจะทำสิ่งนี้ด้วย ต้องเรียนวิชาสมการเชิงอนุพันธ์และวิธีการเชิงตัวเลข แต่ก็น้อยมาก) และด้านอื่นๆ
  5. สถาปัตยกรรมระบบปฏิบัติการ Linux:หลังจากที่คุณคุ้นเคยกับที่นี่แล้ว มัลติเธรดใน Java จะทำให้เกิดคำถามน้อยลง และปรากฎว่าคุณเคยได้ยินเทพนิยายเกี่ยวกับนักปรัชญาที่ไหนสักแห่งแล้ว
  6. OOP, ภาษา C++:เราเกือบจะไปถึงจุดสูงสุดของห่วงโซ่อาหารแล้ว ฉันจะไม่อธิบายรายละเอียดที่นี่ และจะไม่บอกว่าเหตุใดการนำ OOP ไปใช้ในภาษา C++ จึงน่าสนใจกว่ามาก
  7. นอกจากนี้:อีกสองสามอย่างที่ฉันรู้อยู่แล้วคือ: คอมพิวเตอร์กราฟิก (OpenGL, Unity 3D) และ C# (Core)
JavaRush เกี่ยวอะไรกับมัน?
ย้อนกลับไปเมื่อเดือนกันยายนปีที่แล้ว ฉันพบกับ JavaRush เลื่อนดูไปสองสามระดับและล้มเลิกไป เนื่องจากฉันหางานได้ง่ายหลังจากเรียนจบมหาวิทยาลัย (ไม่ใช่ในฐานะโปรแกรมเมอร์ แต่เป็นในด้านไอที บางที บางคนสามารถเดาได้ว่ามันจะเป็นอะไร?) แต่ในไม่ช้าฉันก็ค้นพบว่าฉันไม่สนใจสิ่งนี้เลย ในอีกสองสามเดือนฉันก็เกือบจะถึงจุดสูงสุดและตระหนักว่าไม่มีประโยชน์ที่จะพัฒนาที่นี่แม้ว่าฝ่ายบริหารของ บริษัท จะเสนอทางเลือกที่เกือบจะสนุกสนาน (รวมถึง DevOps) ซึ่งฉันปฏิเสธ ในเวลาเดียวกัน ฉันกำลังเตรียมนักเรียนสำหรับโอลิมปิกในสาขาวิทยาการคอมพิวเตอร์ (ฉันลืมพูดถึง - ฉันชอบรายการกีฬามาก) และหลังจากออกจากงานหลักฉันก็ไปที่นั่นอย่างหัวทิ่ม มีความสุขกับทุกอย่างอยู่ประมาณ 4-5 เดือน จนเบื่อกับสิ่งนี้เหมือนกัน มีการถามคำถามซ้ำ ครอบคลุมหัวข้อทั้งหมด และนั่นคือตอนที่ฉันจำ JavaRush ได้ ในฐานะผู้มีเหตุผล (โลภ) ฉันได้ผ่าน 10 ระดับเริ่มต้นจากปกหนึ่งไปยังอีกปกหนึ่งก่อน จากนั้นจึงมองต่อไปอีก (ดูเหมือนว่าระดับ 15 ก็เพียงพอแล้ว) ฉันตระหนักว่านี่ค่อนข้างน่าสนใจและเป็นไปตามลักษณะทั่วไปของฉัน - ฉันเพิ่งทำมัน ในช่วงเวลาว่างใดก็ได้ คุณมีเวลาเหลืออีก 5 นาทีไหม? เยี่ยมเลย ฉันจะเพิ่มตรรกะของวิธีการนี้ ทั้งหมด: ฉันซื้อการสมัครสมาชิกรายเดือนสองครั้ง ในเดือนแรกฉันเปลี่ยนจากระดับ 10 เป็น 28 และในเดือนที่สองที่ไม่สมบูรณ์ (ประมาณ 15 วัน) ฉันเปลี่ยนจากระดับ 28 เป็น 34 ตามลำดับคือเดือนเมษายนถึงกลางเดือนพฤษภาคมนั่นคือใช้เวลา 1.5 เดือน (คำนวณด้วยตัวเองเป็นรูเบิล) ฉันจะไม่บอกคุณว่าต้องทำอย่างไรและไม่ควรทำอย่างไร - มีการพูดถึงเรื่องนี้มากมายแล้ว
การจ้างงาน
ประมาณระดับ 30 ฉันดูตำแหน่งงานว่างในเมืองของฉัน และตัดสินใจว่าจะไม่เร่งรีบและไม่ส่งเรซูเม่ให้ทุกคน แต่ให้เลือกบริษัทที่ต้องการโดยเฉพาะ เตรียมตัวให้พร้อม จากนั้นจึงส่งลายลักษณ์อักษรของฉันไปที่แผนกทรัพยากรบุคคลเท่านั้น ฉันยังวาดลายเส้นอย่างระมัดระวังและมันก็ออกมาดีมาก ฉันได้รับเชิญให้เข้าร่วมการสัมภาษณ์อย่างรวดเร็ว และฉันก็ผ่านการสัมภาษณ์อย่างมั่นใจ (อย่างน้อยก็ในส่วนที่เกี่ยวข้องกับ Java Core) ฉันจะไม่อธิบายว่าคำถามคืออะไร ปัญหาเริ่มต้นขึ้นเมื่อพวกเขาถามฉันว่า Spring ทำงานอย่างไร และฉันรู้ว่าฉันรู้จักเทคโนโลยี Enterprise บ้างไหม อันที่จริงฉันบอกว่าฉันไม่รู้ แต่ด้วยระดับดังกล่าว - รับประกันรุ่นจูเนียร์ (คุณจะไม่กระโดดสูงขึ้น) แต่ฉันก็ยังกระโดดและที่นี่อาจเป็นส่วนที่น่าสนใจที่สุดเริ่มต้นขึ้น โดยทั่วไปเมื่ออธิบายเงื่อนไขให้ฉันฟัง (2 เดือน - ช่วงทดลองงาน, ตำแหน่ง - รุ่นน้องและช่วงเงินเดือน) ฉันรู้ว่าฉันไม่ชอบพวกเขาจริงๆ แต่บอกว่าฉันตกลงและถามว่าฉันจะเริ่มทำงานในภายหลังได้หรือไม่ เป็นแรงบันดาลใจเพราะฉันต้องทำงานปัจจุบันให้เสร็จก่อนที่จะมาร่วมงานกับบริษัทใหม่ ดังนั้นฉันจึงให้เวลาตัวเองเกือบหนึ่งเดือนในการเตรียมตัว ฉันมีนัดสัมภาษณ์เมื่อต้นเดือนพฤษภาคม และเริ่มงานวันที่ 23 โดยธรรมชาติแล้ว ฉันศึกษาข้อกำหนดอีกครั้ง พบว่าใช้เทคโนโลยีใดบ้าง (Java EE 6) และเตรียมพร้อมสำหรับการทำงาน
กลางหรือไม่กลาง?
ฉันเริ่มทำงานและพบว่าพวกเขารับสมัครรุ่นน้องประมาณ 5 คน ซึ่งแน่นอนว่าฉันโดดเด่น แต่ก็ไม่มากนัก ก่อนอื่น ฉันได้พบกับหัวหน้างานทันที สังเกตว่าเขาสูบบุหรี่และเริ่มออกไปสูบบุหรี่กับเขา (และฉันไม่สูบบุหรี่เลย) มีโปรแกรมเมอร์อีกคนอยู่กับเราด้วย ฉันจะเล่าให้คุณฟังเกี่ยวกับเขาทีหลัง โดยทั่วไปในขณะที่สูบบุหรี่ (3-4 ครั้งต่อวัน) ฉันได้พูดคุยกับผู้จัดการ พูดคุยรายละเอียดเพิ่มเติมเกี่ยวกับความสำเร็จของฉัน กล่าวถึงความรู้ของฉันแบบไม่เป็นทางการ (มันคงจะมีประโยชน์) และโดยทั่วไปก็ได้รับความมั่นใจอย่างดีที่สุด สามารถ. บาร์บีคิวและเบียร์เมื่อสิ้นสุดสัปดาห์แรกช่วยให้ความสัมพันธ์ดีขึ้น ซึ่งฉันจัดขึ้น ฉันอยู่ในออฟฟิศทำงานถึง 23.00 น. (วันทำงานถึง 18.30 น.) จนกระทั่งเจ้าหน้าที่รักษาความปลอดภัยไล่ฉันออกไป บางครั้ง CEO และ CTO ของบริษัทอยู่กับฉันในสำนักงาน ซึ่งฉันก็ติดต่อด้วย เราทานอาหารเย็นด้วยกันและออกจากออฟฟิศด้วยกัน (CTO ถึงกับเรียกรถกลับบ้านให้ฉันด้วย แต่ฉันปฏิเสธอย่างสุภาพ) ดังนั้น ประการแรก ฉันสร้างความสัมพันธ์ที่ดีกับหัวหน้างานของฉัน และประการที่สอง ฉันแสดงให้ผู้บริหารระดับสูงเห็นว่าฉันจะทำงานให้เสร็จและจากนั้นก็กลับบ้านเท่านั้น โดยธรรมชาติแล้วทั้งหมดนี้ไม่ได้ทำให้ฉันเป็นคนกลาง แล้วมันทำอะไร? ฉันขอเตือนคุณว่าก่อนการสัมภาษณ์ฉันไม่รู้จัก Framework ใดเลย (ยกเว้น JUnit) นี่คือจุดที่คุ้มค่าที่จะกลับไปหาโปรแกรมเมอร์ที่ฉันกล่าวถึงข้างต้น เขาเป็นโปรแกรมเมอร์ที่ทรงพลังมากด้วยประสบการณ์ 20 ปี ซึ่งทำงานเป็นเวลา 5 ปีในมอสโกว ประมาณ 7 ปีในอเมริกา (ในฐานะหัวหน้าสถาปนิกโครงการ) และที่อื่น ๆ อีกมากมาย รวมถึงโครงการของรัฐบาลที่มีความสำคัญเป็นพิเศษ (ฉันเรียนรู้ทั้งหมดนี้ขณะสูบบุหรี่ กับเขา). ดังนั้นโปรแกรมเมอร์รายนี้จึงได้รับมอบหมายงานที่จริงจังมากและเขาจึงตัดสินใจรับฉันเป็นผู้ช่วย หลังจากที่เขาได้รับมอบหมายงานนี้ ปรากฎว่าเขาจำเป็นเร่งด่วนที่จะเดินทางออกนอกประเทศ และเขาไม่สามารถทำงานต่อไปได้ เขาเขียนเฟรมเวิร์กของแอปพลิเคชันและปล่อยให้ฉันรับผิดชอบ โดยบอกว่าเขาจะคอยติดตามดูจากระยะไกล ช่วงเวลานี้เองที่ช่วยให้ฉันกลายเป็นคนกลางและจบช่วงทดลองงานไม่ใช่ใน 2 เดือน แต่เป็นเดือนเดียวและมีสิทธิ์ได้รับเงินเดือนที่จริงจังมากขึ้น เนื่องจากโปรแกรมเมอร์รายนี้ไม่สามารถตรวจสอบจากระยะไกลได้ และโปรเจ็กต์นี้จึงเป็นหน้าที่ของฉันเท่านั้น ฉันสำเร็จได้ภายในหนึ่งเดือน ซึ่งฉันได้รับตำแหน่งและโอกาสที่จะสมัครเพื่อรับเงินเดือนที่สูงขึ้น
คุณธรรมคืออะไร?
คุณสามารถพูดได้ว่าฉันโชคดีที่ได้เรียนที่พวกเขาให้ความรู้ทั้งหมดนี้แก่ฉัน (แต่โปรดทราบว่าฉันเพิ่งใช้มันเพื่อพูดถึงผู้บังคับบัญชาของฉัน) สถานการณ์นั้นทำให้โครงการดังกล่าวตกอยู่บนไหล่ของฉัน และ JavaRush ต้องทำอะไร จะทำอย่างไรกับมัน ดูเหมือน ? ฉันขอเตือนคุณอีกครั้งว่าก่อน JavaRush ระดับความสามารถ Java ของฉันคือ 0 - แค่นั้นแหละ ประการที่สอง เมื่อคุณแก้ไขปัญหาในการพยายามครั้งที่ 52 มีบางอย่างติดอยู่ในใจของคุณ - ฉันมีความสามารถพิเศษในเรื่องข้อยกเว้น การตรวจสอบ ฯลฯ ซึ่งเป็นข้อได้เปรียบในการแข่งขันเหนือผู้อื่นด้วย และโดยทั่วไป - คุณเริ่มเข้าใจ JavaCore อย่างละเอียดถี่ถ้วน ( ซึ่งยืนยันใบรับรอง OCA ซึ่งฉันผ่านด้วยค่าใช้จ่ายของบริษัทและได้คะแนน 94%) และหากไม่มีสิ่งนี้ ฉันก็ไม่เห็นประเด็นในการก้าวต่อไปมากนัก สัปดาห์หน้า ฉันได้รับมอบหมายให้ทำโครงการใหม่ตั้งแต่เริ่มต้น ซึ่งฉันจะเป็นผู้นำเอง (รวมถึงการออกแบบฐานข้อมูล การเลือกเทคโนโลยี และการสรรหาทีม) นอกจากนี้ฉันจะสัมภาษณ์และทบทวนความคืบหน้าของรุ่นจูเนียร์เพื่อดูว่าคุ้มค่าหรือไม่ ฉันอยากจะบอกว่าในเรื่องเหล่านี้ ฉันได้รับความช่วยเหลือไม่เพียงแต่จากความรู้ข้อเท็จจริงเท่านั้น แต่ยังรวมถึงความสามารถในการสื่อสารกับทีม นำเสนอตัวเองต่อฝ่ายบริหารได้ดี ความสามารถในการสร้างความประทับใจ และข้อพิสูจน์ว่าฉันจะได้เห็นทุกสิ่งทุกอย่างผ่าน ตอนจบ. ขอบคุณสำหรับความสนใจของคุณฉันหวังว่าทุกคนจะมีความเพียรและใส่ใจในรายละเอียดมากขึ้น
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION