During the five days from July 24th to 28th, 2017, a Chinese-born technical engineer named Zeng Xiaohan interviewed with five major Silicon Valley technology companies — LinkedIn, Salesforce, Google, Airbnb, and Facebook — and successfully received job offers from all of them. This was an extraordinary achievement, especially considering that he had no formal background in computer science and was working full-time as an author at the time.
Before this journey, he wasn't a professional in the field, had limited experience, and even faced rejection during his first interview. However, instead of giving up, he decided to start from scratch. As a full-time writer, it was quite challenging for him to find time to prepare for interviews, but he managed to do so during his free hours. His efforts paid off, and he ended up receiving offers from five top tech companies simultaneously.
In this article, I will share my personal experiences, preparation strategies, and interview techniques when applying for different roles at these companies. My goal is to help engineers who are looking to change jobs or break into the tech industry.
The following is a detailed account of my journey:
**Initial Motivation**
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 the team and projects were great. We built interesting features, contributed to internal publications, and had a good work-life balance. However, over time, I felt my learning curve slowing down, and I began to crave new challenges. Additionally, as someone who had lived in Chicago for eight years, I was very interested in the tech scene in the Bay Area.
After discussing with my wife and getting her full support, I made the decision to make a career change.
**Preparation**
I was interested in machine learning roles, but the positions I applied for varied across the five companies: LinkedIn, Google, and Facebook offered machine learning engineer roles, while Salesforce hired data engineers and Airbnb recruited software engineers. This meant I had to prepare for three different areas: algorithms and programming, machine learning, and system design.
Since I still had a full-time job, I only had evenings to prepare. It took me about two to three months. Here's how I approached each area.
**Algorithms and Programming**
While not the perfect way to assess a developer’s skills, algorithm interviews are still crucial in determining if someone is a strong engineer. I used platforms like LeetCode and GeeksforGeeks to practice, and also recommended HackerRank and LintCode. I focused on understanding core concepts and solving problems systematically rather than just completing a large number of questions.
My approach was to cover all types of problems and understand them thoroughly. I did around 70 questions, which I found sufficient. The key was to really grasp the underlying logic and not just rush through the problems.
**System Design**
System design interviews require a deeper understanding of real-world applications. I read many articles on system architecture, distributed systems, and case studies. I also practiced designing systems using the tools and frameworks I was familiar with. Understanding trade-offs and being able to explain your design choices was essential.
**Machine Learning**
For machine learning interviews, I focused on both theory and product design. I studied classic textbooks such as "The Elements of Statistical Learning" and "Pattern Recognition and Machine Learning." I also practiced implementing models like logistic regression, decision trees, and K-means clustering. It was important to understand the strengths and weaknesses of each model and be able to explain why certain choices were made.
**Interview Process**
I started by reaching out to HR on LinkedIn and eventually got scheduled for a week of on-site interviews in the Bay Area. I had phone interviews with each company before the on-site rounds. Some companies required multiple rounds, and I had to manage my time carefully.
Each on-site interview was unique. LinkedIn was professional and well-organized, Salesforce had a startup-like vibe, Google was massive and impressive, Airbnb had a creative culture, and Facebook was fast-paced but tiring.
**Wage Negotiation**
Negotiating salary can be intimidating, but I treated it as selling my time — the most valuable resource I have. Being confident, showing interest in the team, and maintaining professionalism were key.
**Failed Interview at Databricks**
Not every interview went smoothly. I had a failed interview at Databricks, which taught me the importance of thorough preparation and confidence. Even though I didn’t get the offer, it was a valuable learning experience.
**Conclusion**
This entire journey was exhausting, but it was worth it. From the first interview in May to the last one in September, I completed my first career transition. The process was long and difficult, but it taught me a lot.
I’m grateful to everyone who supported me along the way — friends, family, HR teams, and interviewers. Their guidance and encouragement helped me succeed.
Life is short, and so is your career. Make the right moves at the right time. Keep learning, stay curious, and never stop improving.
Linear Comparators,Ic Linear Comparators,Ics Linear Comparators,Integrated Circuits Linear Comparators
Shenzhen Kaixuanye Technology Co., Ltd. , https://www.icoilne.com