How to Land Your Dream Job Series
Preparation
Best Coding Challenge Websites
Books for Algorithm Interview
- Cracking the Coding Interview: 189 Programming Questions and Solutions
- Elements of Programming Interviews in Java: The Insiders’ Guide
System Design Resource
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
- The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise, Second Edition
- Web Scalability for Startup Engineers
- Grokking the System Design Interview
- System Design from hiredintech
- How to Ace a Systems Design Interview from palantir
- Success in Tech: YouTube
- All Time Favorites from highscalability
- System Design Primer
- blog.gainlo.co
System Design and the Level
System design interview is very important, as it’s usually conducted by managers or senior engineers who have more power to decide to hire or not, or the level.
Different from coding interview, how the system design interview goes varies a lot. Some companies(like Facebook) follow some good process, but others are not.
Depended on the interviewer, or what the candidate says, the system design interview may go wrong pretty soon.
Check here for the common traps at system design interview and how to handle it
Have Competing Offer
Even If your dream company is X, and if you get the offer from X, you will definitely accept it. Even after you already passed the interview from X, You should still interview multiple companies, and get multiple offers.
This will make you at a good position to negotiate the offer.
New law bans California employers from asking applicants their prior salary. This may hurt the candidate if the candidate doesn’t have competing offer, as the company may give you a low ball offer, and your current compensation doesn’t count.
Team matching
If you have passed the interview, there is no need to be too anxious at the team matching stage (at least in the first 2 or 3 weeks.)
If the recruiter has not able to find a good team to you, you can try to approach hiring manager in Linked: attach a note to state why you are adding them.
Negotiation
Be sure to negotiate the offer especially if you are not directly negotiating with the manager.
You have gone through several weeks for the phone, onsite interview, team matching, the recruiter will not just reject you if you are trying to negotiate.
Don’t say OK directly for the first offering.
It would be great if you have some competing offers, if not, use your current job as the bottom line.
Best Coding Challenge Websites
- Leetcode
- GeeksforGeeks
- hackerrank
- Big collection of interview preparation links
- TopCoder
- CodeChef
- Codeforces
Books for Algorithm Interview
- Cracking the Coding Interview: 189 Programming Questions and Solutions
- Elements of Programming Interviews in Java: The Insiders’ Guide
- The Algorithm Design Manual
- Coderust: Hacking the Coding Interview
- Data Structures in Java/Python: : An Interview Refresher