เตรียมตัวสัมภาษณ์ที่ Google อย่างไรให้ล้มเหลว สองครั้ง

เตรียมตัวสัมภาษณ์ที่ Google อย่างไรให้ล้มเหลว สองครั้ง

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

วิธีการที่จะเริ่มต้นทั้งหมด

เย็นวันหนึ่งในฤดูหนาวของประเทศไซปรัส จู่ๆ ฉันก็เกิดความคิดขึ้นมาว่าความรู้ของฉันเกี่ยวกับวิทยาการคอมพิวเตอร์คลาสสิกยังห่างไกลจากค่าเฉลี่ยมากนัก และจำเป็นต้องทำอะไรบางอย่างเกี่ยวกับเรื่องนี้ หากมีใครยังไม่ได้อ่านว่าทำไมตอนเย็นถึงเป็นไซปรัสและหนาวคุณสามารถหาคำตอบได้ ที่นี่. หลังจากคิดอยู่พักหนึ่ง ก็ตัดสินใจเริ่มต้นด้วยการเรียนหลักสูตรออนไลน์เกี่ยวกับอัลกอริทึมและโครงสร้างข้อมูล จากอดีตเพื่อนร่วมงานคนหนึ่งของฉัน ฉันได้ยินเกี่ยวกับหลักสูตรของ Robert Sedgewick ใน Coursera หลักสูตรประกอบด้วยสองส่วน (ส่วนหนึ่งของ 1 и ส่วนหนึ่งของ 2). หากลิงก์เปลี่ยนกะทันหัน คุณสามารถ Google ชื่อผู้แต่งได้ตลอดเวลา แต่ละส่วนใช้เวลา 6 สัปดาห์ มีการบรรยายในช่วงต้นสัปดาห์ และระหว่างสัปดาห์คุณยังต้องทำแบบฝึกหัดอยู่ ส่วนแรกของหลักสูตรครอบคลุมถึงโครงสร้างข้อมูลพื้นฐาน ประเภทพื้นฐานของการเรียงลำดับ และความซับซ้อนของอัลกอริทึม ส่วนที่สองมีขั้นสูงกว่าอยู่แล้ว โดยเริ่มจากกราฟและปิดท้ายด้วยอย่างเช่น Linear Programming และ Intractability หลังจากคิดถึงเรื่องทั้งหมดข้างต้นแล้ว ฉันก็สรุปได้ว่านี่คือสิ่งที่ฉันต้องการจริงๆ อย่างไรก็ตาม ผู้อ่านที่อยากรู้อยากเห็นอาจถามว่า Google เกี่ยวอะไรกับมัน? และแน่นอนว่าจนถึงขณะนี้เขาไม่มีส่วนเกี่ยวข้องกับเรื่องนี้เลย แต่ฉันต้องการเป้าหมายเนื่องจากการเรียน 12 สัปดาห์ในตอนเย็นโดยไม่มีเป้าหมายนั้นค่อนข้างยาก อะไรคือจุดประสงค์ของการได้รับความรู้ใหม่? แน่นอนว่าการประยุกต์ใช้ในทางปฏิบัติ ในชีวิตประจำวันสิ่งนี้ค่อนข้างเป็นปัญหา แต่ในระหว่างการสัมภาษณ์กับบริษัทขนาดใหญ่ มันง่ายมาก Google ฉบับย่อแสดงให้เห็นว่า Google (ขออภัยที่ซ้ำซาก) เป็นหนึ่งในบริษัทที่ใหญ่ที่สุดในยุโรป (และฉันกำลังมองหายุโรปโดยเฉพาะ) ที่ดำเนินการสัมภาษณ์ดังกล่าว กล่าวคือสำนักงานของพวกเขาตั้งอยู่ในเมืองซูริก ประเทศสวิตเซอร์แลนด์ ตัดสินใจแล้ว ไปศึกษาและสัมภาษณ์ที่ Google กันดีกว่า

การเตรียมแนวทางแรก

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

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

งานของฉันในหลักสูตรมักจะเป็นเช่นนี้ ฉันฟังบรรยายใน 1-2 วัน จากนั้นพวกเขาก็ทำการทดสอบความรู้เกี่ยวกับเนื้อหาอย่างรวดเร็ว ส่วนที่เหลือของสัปดาห์ฉันออกกำลังกายซ้ำหลายครั้ง หลังจากอันแรกฉันได้ 30-70% แล้วอันต่อมาก็ทำให้ผลลัพธ์เป็น 97-100% แบบฝึกหัดนี้มักจะเกี่ยวข้องกับการนำอัลกอริทึมบางอย่างไปใช้ เช่น ตะเข็บแกะสลัก หรือ บีซิป.

หลังจากจบหลักสูตรแล้ว ฉันพบว่าความรู้มากมายมาพร้อมกับความเสียใจอย่างมาก ถ้าเมื่อก่อนฉันรู้เพียงว่าไม่รู้อะไรเลย ตอนนี้ฉันเริ่มรู้ว่าฉันเองที่ไม่รู้

เนื่องจากเพิ่งเป็นเดือนพฤษภาคม และฉันได้กำหนดการสัมภาษณ์ในช่วงฤดูใบไม้ร่วง ฉันจึงตัดสินใจเรียนต่อ หลังจากตรวจสอบข้อกำหนดสำหรับตำแหน่งที่ว่างแล้ว ก็ตัดสินใจว่าจะดำเนินการใน XNUMX ทิศทางควบคู่กันไป คือ ศึกษาอัลกอริทึมต่อไป และเรียนหลักสูตรพื้นฐานด้านแมชชีนเลิร์นนิง สำหรับเป้าหมายแรก ฉันตัดสินใจเปลี่ยนจากหลักสูตรเป็นหนังสือ และเลือกงานชิ้นสำคัญ "อัลกอริทึม" ของ Steven Skiena คู่มือการออกแบบอัลกอริทึม ไม่ยิ่งใหญ่เท่าของ Knut แต่ยังคงอยู่ เป้าหมายที่สอง ผมกลับไปที่ Coursera และสมัครเรียนหลักสูตรของ Andrew Ng เครื่องเรียนรู้.

ผ่านไปอีก 3 เดือนฉันก็เรียนจบหลักสูตรและจองหนังสือ

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

ฉันพอใจมากกับหลักสูตรนี้ ผู้เขียนรู้เนื้อหาของเขาชัดเจนและพูดคุยได้อย่างน่าสนใจ นอกจากนี้ฉันจำได้จากมหาวิทยาลัยอีกจำนวนหนึ่ง เช่น พีชคณิตเชิงเส้นและพื้นฐานของโครงข่ายประสาทเทียม ดังนั้นฉันจึงไม่พบปัญหาใดๆ เป็นพิเศษ โครงสร้างของหลักสูตรค่อนข้างมาตรฐาน หลักสูตรนี้แบ่งออกเป็นสัปดาห์ ทุกสัปดาห์จะมีการบรรยายผสมกับการทดสอบสั้นๆ หลังจากการบรรยาย คุณจะได้รับมอบหมายงานที่ต้องทำ ส่ง และจะถูกตรวจสอบโดยอัตโนมัติ รายการสิ่งที่สอนในรายวิชาโดยย่อมีดังนี้:
- ฟังก์ชั่นต้นทุน
- การถดถอยเชิงเส้น
- โคตรลาด
- การปรับขนาดคุณสมบัติ
- สมการปกติ
- การถดถอยโลจิสติก
- การจำแนกประเภทหลายคลาส (หนึ่งเทียบกับทั้งหมด)
— โครงข่ายประสาทเทียม
- การขยายพันธุ์กลับ
- การทำให้เป็นมาตรฐาน
— อคติ/ความแปรปรวน
— เส้นโค้งการเรียนรู้
— ตัวชี้วัดข้อผิดพลาด (ความแม่นยำ การเรียกคืน F1)
— รองรับ Vector Machines (การจำแนกมาร์จิ้นขนาดใหญ่)
— K-หมายถึง
—การวิเคราะห์องค์ประกอบหลัก
- การตรวจจับความผิดปกติ
— การกรองร่วมกัน (ระบบผู้แนะนำ)
— สุ่ม, มินิแบทช์, การไล่ระดับแบทช์
— การเรียนรู้ออนไลน์
- ลดแผนที่
- การวิเคราะห์เพดาน
หลังจากจบหลักสูตรก็เกิดความเข้าใจในหัวข้อทั้งหมดนี้ หลังจากผ่านไป 2 ปี เกือบทุกอย่างก็ถูกลืมโดยธรรมชาติ ฉันแนะนำสิ่งนี้ให้กับผู้ที่ไม่คุ้นเคยกับ Machine Learning และต้องการมีความเข้าใจที่ดีเกี่ยวกับสิ่งพื้นฐานที่ต้องดำเนินการต่อไป

วิ่งครั้งแรก

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

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

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

และจากเรื่องนี้ฉันได้ข้อสรุปหลายประการ:

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

เตรียมวิ่งรอบสอง

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

  • ศึกษาทฤษฎีต่อไปโดยอ่านหนังสือและบทความ
  • แก้ปัญหาอัลกอริทึมจำนวน 500-1000 ชิ้น
  • เรียนรู้ทฤษฎีต่อไปโดยดูวิดีโอ
  • เรียนทฤษฎีต่อผ่านหลักสูตร
  • ศึกษาประสบการณ์ของผู้อื่นด้วยการสัมภาษณ์ที่ Google

ฉันทำตามแผนเสร็จภายในหนึ่งปี ต่อไปฉันจะอธิบายสิ่งที่ฉันทำในแต่ละประเด็น

หนังสือและบทความ

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

ฉันอ่านหนังสือ 5 เล่ม: Algorithms, ฉบับที่ 4 (Sedgewick, Wayne), Introduction to Algorithms ฉบับที่ 3 (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview ฉบับที่ 4 (Gayle Laakmann), Programming Interviews Exposed ฉบับที่ 2 (Mongan, Suojanen , Giguere), องค์ประกอบของการสัมภาษณ์การเขียนโปรแกรม (Aziz, Lee, Prakash) พวกเขาสามารถแบ่งออกเป็น 2 ประเภท เล่มแรกประกอบด้วยหนังสือของ Sedgwick และ Corman นี่เป็นทฤษฎี ที่เหลือเป็นการเตรียมตัวสำหรับการสัมภาษณ์ เซดก์วิกเล่าเรื่องเดียวกันนี้ในหนังสือเหมือนกับในหลักสูตรของเขา แค่เป็นลายลักษณ์อักษร. การอ่านอย่างละเอียดไม่มีประโยชน์อะไรหากคุณได้เรียนไปแล้ว แต่ก็ยังคุ้มค่าที่จะอ่านแบบอ่านผ่านๆ หากคุณยังไม่ได้ดูหลักสูตรก็สมเหตุสมผลที่จะอ่าน Cormen ดูน่าเบื่อเกินไปสำหรับฉัน พูดตามตรงฉันมีช่วงเวลาที่ยากลำบากในการฝึกฝนมัน ฉันเพิ่งเอามันออกจากที่นั่น ทฤษฎีต้นแบบและโครงสร้างข้อมูลที่ไม่ค่อยได้ใช้จำนวนมาก (Fibonacci heap, van Emde Boas tree, Radix heap)

ควรอ่านหนังสืออย่างน้อยหนึ่งเล่มเพื่อเตรียมพร้อมสำหรับการสัมภาษณ์ ทั้งหมดนี้สร้างขึ้นบนหลักการเดียวกันโดยประมาณ พวกเขาอธิบายกระบวนการสัมภาษณ์ในบริษัทเทคโนโลยีขนาดใหญ่ ให้ข้อมูลพื้นฐานจากวิทยาการคอมพิวเตอร์ ปัญหาสำหรับสิ่งพื้นฐานเหล่านี้ วิธีแก้ไขปัญหา และการวิเคราะห์แนวทางแก้ไข จากสามข้อข้างต้น ฉันอาจจะแนะนำ Cracking the Coding Interview เป็นหลัก และที่เหลือก็เป็นทางเลือก

ปัญหาอัลกอริทึม

นี่อาจเป็นจุดเตรียมตัวที่น่าสนใจที่สุด แน่นอนคุณสามารถนั่งลงและแก้ไขปัญหาอย่างโง่เขลาได้ มีเว็บไซต์ต่างๆ มากมายสำหรับเรื่องนี้ ฉันใช้สามส่วนใหญ่: Hackerrank, โค้ดเชฟ и ลีทโค้ด. ใน CodeChef ปัญหาจะแบ่งตามความยาก แต่ไม่ใช่ตามหัวข้อ บน Hacker จัดอันดับทั้งตามความซับซ้อนและตามหัวข้อ

แต่เมื่อฉันค้นพบตัวเองทันทีว่ามีวิธีที่น่าสนใจกว่านั้น และนี่คือการแข่งขัน (ความท้าทายในการเขียนโปรแกรมหรือการแข่งขันการเขียนโปรแกรม) ทั้งสามไซต์จัดหามาให้ จริงอยู่ที่ LeetCode มีปัญหาซึ่งเป็นเขตเวลาที่ไม่สะดวก นั่นเป็นเหตุผลที่ฉันไม่ได้เข้าร่วมในเว็บไซต์นี้ Hackerrank และ CodeChef มีการแข่งขันที่แตกต่างกันจำนวนมาก โดยใช้เวลาตั้งแต่ 1 ชั่วโมงถึง 10 วัน รูปแบบที่แตกต่างกันมีกฎที่แตกต่างกัน แต่เราสามารถพูดถึงเรื่องนั้นได้เป็นเวลานาน ประเด็นหลักว่าทำไมการแข่งขันถึงดีคือการนำองค์ประกอบการแข่งขัน (และซ้ำซาก) มาใช้ในกระบวนการเรียนรู้

โดยรวมแล้ว ฉันเข้าร่วมการแข่งขัน 37 รายการใน Hackerrank ในจำนวนนี้มี 32 รายการเป็นผู้ให้คะแนน และ 5 รายการได้รับการสนับสนุน (ฉันยังได้รับเงิน 25 ดอลลาร์จากหนึ่งในนั้น) หรือเพื่อความสนุกสนาน ในการจัดอันดับ ฉันอยู่ในกลุ่ม 10% แรก 4 ครั้ง ใน 11% แรก 12 ครั้ง และอยู่ใน 5% แรก 25 ครั้ง ผลลัพธ์ที่ดีที่สุดคือ 27/1459 ใน 3 ชั่วโมง และ 22/9721 ในสัปดาห์

ฉันเปลี่ยนมาใช้ CodeChef เมื่อ Hackerrank เริ่มจัดการแข่งขันน้อยลง โดยรวมแล้วฉันสามารถเข้าร่วมการแข่งขันได้ 5 รายการ คะแนนที่ดีที่สุดคือ 426/5019 ในการแข่งขันสิบวัน

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

ดูวิดีโอ

หลังจากอ่านหนังสือของสกีนาแล้ว ฉันก็เริ่มสนใจสิ่งที่เขากำลังทำอยู่ เช่นเดียวกับเซดจ์วิค เขาเป็นอาจารย์มหาวิทยาลัย ในเรื่องนี้ คุณสามารถดูวิดีโอหลักสูตรของเขาได้ทางออนไลน์ ฉันตัดสินใจทบทวนหลักสูตร COMP300E - ความท้าทายในการเขียนโปรแกรม - HKUST ปี 2009. ฉันไม่สามารถพูดได้ว่าฉันชอบมันมาก ก่อนอื่นคุณภาพวิดีโอไม่ค่อยดีนัก ประการที่สอง ฉันไม่ได้พยายามแก้ไขปัญหาที่อภิปรายในหลักสูตรด้วยตนเอง ดังนั้นการมีส่วนร่วมจึงไม่สูงมาก
นอกจากนี้ ขณะที่แก้ไขปัญหา พยายามค้นหาอัลกอริธึมที่ถูกต้อง ฉันพบวิดีโอของ Tushar Roy เขาทำงานที่ Amazon และตอนนี้ทำงานที่ Apple เมื่อฉันค้นพบตัวเองในภายหลังว่าเขามี ช่อง YouTubeซึ่งเขาโพสต์การวิเคราะห์อัลกอริธึมต่างๆ ในขณะที่เขียน ช่องนี้มีวิดีโอ 103 รายการ และต้องบอกว่าการวิเคราะห์ของเขาทำได้ดีมาก ฉันพยายามดูผู้เขียนคนอื่น แต่ก็ไม่ได้ผล เลยแนะนำช่องนี้ให้รับชมได้อย่างแน่นอน

การเรียนหลักสูตร

ฉันไม่ได้ทำอะไรพิเศษที่นี่ ดูวิดีโอจาก Nanodegree นักพัฒนา Android ของ Google และเรียนหลักสูตรจาก ITMO วิธีชนะการแข่งขันเขียนโค้ด: ความลับของแชมเปี้ยน. Nanodegree ค่อนข้างดี แม้ว่าโดยธรรมชาติแล้วฉันจะไม่ได้เรียนรู้อะไรใหม่จากมันก็ตาม หลักสูตรจาก ITMO ค่อนข้างเบ้ในแง่ของทฤษฎี แต่ปัญหาก็น่าสนใจ ฉันไม่แนะนำให้เริ่มต้นด้วย แต่โดยหลักการแล้ว เป็นการใช้เวลาอย่างดี

เรียนรู้จากประสบการณ์ของผู้อื่น

แน่นอนว่ามีคนพยายามเข้าสู่ Google เป็นจำนวนมาก บางคนเข้า บางคนไม่ได้ บางคนได้เขียนบทความเกี่ยวกับเรื่องนี้ สิ่งที่น่าสนใจที่ฉันอาจจะพูดถึง อันนี้ и อันนี้. ในกรณีแรก บุคคลนั้นเตรียมรายการสิ่งที่ต้องเรียนรู้สำหรับตัวเองเพื่อที่จะเป็นวิศวกรซอฟต์แวร์และเข้าสู่ Google ในที่สุดมันก็ไปจบลงที่ Amazon แต่นั่นไม่สำคัญอีกต่อไป คู่มือฉบับที่สองเขียนโดยวิศวกรของ Google Larisa Agarkova (ลารร์). นอกจากเอกสารนี้แล้ว คุณยังสามารถอ่านได้อีกด้วย บล็อกของเธอ.

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

ฉันจะไม่ให้ลิงก์ไปยังบทความเล็กๆ อื่นๆ คุณสามารถค้นหาได้ง่ายบน Google

วิ่งครั้งที่สอง

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

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

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

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

  • ซื้อบอร์ดมาร์กเกอร์และเขียนอัลกอริธึมยอดนิยมจำนวน 2-3 โหลจากหน่วยความจำ 3-5ชิ้นทุกวัน โดยรวมแล้วเขียนแต่ละครั้งหลายครั้ง
  • รีเฟรชหน่วยความจำข้อมูลต่างๆ บน Android ที่คุณไม่ได้ใช้ทุกวัน
  • ดูวิดีโอบางส่วนเกี่ยวกับ Big Scale และอะไรทำนองนั้น

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

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

สัมภาษณ์หมายเลขหนึ่ง

การสัมภาษณ์ครั้งแรกเป็นเพียงบน Android และมันไม่เกี่ยวอะไรกับอัลกอริธึมเลย แต่แปลกใจ. โอเค มันยิ่งเป็นเรื่องธรรมดามากขึ้นด้วยวิธีนี้ เราถูกขอให้สร้างองค์ประกอบ UI บางอย่าง ก่อนอื่นเราคุยกันว่าอะไรและอย่างไร เขาเสนอวิธีแก้ปัญหาโดยใช้ RxJava โดยอธิบายว่าเขาจะทำอะไรและทำไม พวกเขาบอกว่านี่เป็นสิ่งที่ดี แต่มาลองใช้เฟรมเวิร์ก Android กันดีกว่า และในเวลาเดียวกันเราก็จะเขียนโค้ดบนกระดาน และไม่ใช่แค่ส่วนประกอบ แต่เป็นกิจกรรมทั้งหมดที่ใช้ส่วนประกอบนี้ นี่คือสิ่งที่ฉันไม่พร้อม การเขียนอัลกอริธึมบรรทัด 30-50 บนกระดานเป็นเรื่องหนึ่งและอีกเรื่องหนึ่งในการเขียนโค้ด Android แม้ว่าจะมีคำย่อและความคิดเห็นตามเจตนารมณ์ของ "ฉันจะไม่เขียนสิ่งนั้นเพราะมันชัดเจนอยู่แล้ว" ผลลัพธ์ที่ได้คือ vinaigrette บางชนิดสำหรับ 3 บอร์ด เหล่านั้น. ฉันแก้ไขปัญหาแล้ว แต่มันก็ดูงี่เง่า

สัมภาษณ์หมายเลขสอง

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

สัมภาษณ์หมายเลขสาม

คราวนี้ System Design ซึ่งจู่ๆ ก็กลายเป็น Android จำเป็นต้องพัฒนาแอปพลิเคชันที่มีฟังก์ชันการทำงานบางอย่าง เราได้หารือเกี่ยวกับข้อกำหนดสำหรับแอปพลิเคชัน เซิร์ฟเวอร์ และโปรโตคอลการสื่อสาร ต่อไป ฉันเริ่มอธิบายว่าส่วนประกอบหรือไลบรารีใดที่ฉันจะใช้เมื่อสร้างแอปพลิเคชัน แล้วพอพูดถึง Job Scheduler ก็เกิดความสับสนอยู่บ้าง ประเด็นก็คือฉันไม่เคยใช้มันในทางปฏิบัติเลย เนื่องจากตอนที่เปิดตัวฉันเพิ่งเปลี่ยนไปใช้แอปพลิเคชันที่รองรับซึ่งไม่มีงานใด ๆ ในการใช้งาน สิ่งเดียวกันนี้เกิดขึ้นเมื่อพัฒนาสิ่งที่ตามมา ตามทฤษฎีแล้ว ฉันรู้ว่าสิ่งนี้คืออะไร ใช้เมื่อใด และอย่างไร แต่ฉันไม่มีประสบการณ์ในการใช้มันเลย และผู้สัมภาษณ์ดูเหมือนจะไม่ชอบมันมากนัก จากนั้นพวกเขาก็ขอให้ฉันเขียนโค้ด ใช่ เมื่อพัฒนาแอปพลิเคชัน คุณจะต้องเขียนโค้ดทันที รหัส Android อีกครั้งบนกระดาน กลับกลายเป็นเรื่องน่ากลัวอีกครั้ง

อาหารกลางวัน

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

สัมภาษณ์หมายเลขสี่

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

สัมภาษณ์หมายเลขห้า

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

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

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

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

ข้อสรุป

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

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

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

ในที่สุดฉันจะพูดอะไรได้? หากคุณทำงานด้านไอที เตรียมตัวสำหรับการสัมภาษณ์ที่ Google (Amazon, Microsoft, Apple ฯลฯ) บางทีสักวันหนึ่งคุณจะไปที่นั่นเพื่อไปที่นั่น แม้ว่าคุณจะไม่ต้องการก็ตาม แต่เชื่อฉันเถอะ การเตรียมพร้อมดังกล่าวจะไม่ทำให้คุณแย่ลงไปอีก ทันทีที่คุณตระหนักได้ว่าคุณสามารถ (แม้จะโชคดี) เข้ารับการสัมภาษณ์กับหนึ่งในบริษัทเหล่านี้ ถนนต่างๆ มากมายจะเปิดรับคุณมากกว่าก่อนที่คุณจะเริ่มเตรียมตัว และสิ่งที่คุณต้องการตลอดเส้นทางคือจุดมุ่งหมาย ความพากเพียร และเวลา ฉันขอให้คุณประสบความสำเร็จ :)

ที่มา: will.com

เพิ่มความคิดเห็น