During the five days from July 24th to 28th, 2017, a Chinese-born technical engineer named Zeng Xiaohan successfully interviewed with five Silicon Valley technology giants—LinkedIn, Salesforce, Google, Airbnb, and Facebook—and received offers from all of them. This achievement was not just a stroke of luck but the result of months of dedicated preparation, perseverance, and strategic planning.
Prior to this journey, I wasn't a computer science professional and had limited experience in the tech industry. Despite facing rejection in an earlier interview, I refused to lose hope. As a full-time author, I managed to prepare for these interviews during my free time, balancing my career with the demands of job hunting. The effort behind this success cannot be overstated, and I hope that by sharing my experiences, I can help others who are looking to make a similar transition.
The following is a detailed account of my journey, including the challenges I faced, the strategies I used, and the lessons I learned along the way.
**Initial Cause**
In 2017, I was working as a software development engineer at Groupon's Chicago headquarters for nearly three years. It was my first job, and while the team and projects were great, I began to feel that my growth was slowing down. I wanted new challenges and was drawn to the innovation and energy of the Bay Area. After discussing with my wife and receiving her full support, I decided to take the leap and change careers.
**Preparation**
I was interested in machine learning roles, but the positions I applied for varied: LinkedIn, Google, and Facebook offered machine learning engineer roles, while Salesforce required a data engineer and Airbnb a software engineer. This meant I needed to prepare for three different areas: algorithms and programming, machine learning, and system design.
Balancing a full-time job with interview prep was tough, but I spent 2-3 months preparing at night. Here’s how I approached each area:
**Algorithm and Programming**
While algorithm interviews aren’t the best way to evaluate a developer’s overall skills, they remain a common and effective method for assessing problem-solving abilities under pressure. I focused on LeetCode and GeeksforGeeks, solving about 70 questions in total. My strategy was to understand the types of problems rather than completing every question. I emphasized quality over quantity and always reviewed solutions carefully.
**System Design**
This part of the process required more practical knowledge. I read articles on system design interviews, studied large-scale architectures, and practiced designing systems using tools I was familiar with. Understanding trade-offs and being able to explain your choices is key in these interviews.
**Machine Learning**
For machine learning interviews, I focused on both theory and product design. I studied classic textbooks like "The Elements of Statistical Learning" and practiced implementing models such as decision trees and K-means clustering. I also focused on understanding the entire ML pipeline, from problem definition to model optimization.
**Interview Process**
My journey started with reaching out to HR on LinkedIn. After a failed interview at Databricks, I worked hard and eventually landed a full week of on-site interviews across the Bay Area. I interviewed with over 30 people in five days and ended up receiving offers from all five companies.
**Phone Interviews**
Each phone interview lasted between 45 minutes to an hour. Communication was crucial—being clear and concise helped me navigate the limited time. I prepared for machine learning questions and made sure to stay calm and focused.
**On-Site Interviews**
Each company had its own culture and interview style. LinkedIn was professional and well-organized, Salesforce had a startup-like vibe, Google was massive and intense, Airbnb was creative and fast-paced, and Facebook was challenging and exhausting.
**Wage Negotiation**
Negotiating salary is a critical step. I treated it as selling my time and expertise. Being confident, professional, and polite helped me secure a competitive offer.
**Failed Interview at Databricks**
Not every interview went smoothly. My interview at Databricks was a setback, but it taught me valuable lessons. I realized the importance of thorough preparation and staying humble.
**Conclusion**
This journey was long and challenging, but it was worth it. I learned that persistence, preparation, and a positive mindset are essential. I’m grateful to everyone who supported me along the way, and I hope my story inspires others to take risks and pursue their goals.
Interface Drivers Receivers Transceivers
Shenzhen Kaixuanye Technology Co., Ltd. , https://www.icoilne.com