3 ms·
I would consider there are three general areas to work on for interviewing 1. Data Structures & Algorithms 2. Domain Knowledge 3. Interviewing Practice
by sghiassy 10y ago
I would consider there are three general areas to work on for interviewing
1. Data Structures & Algorithms
2. Domain Knowledge
3. Interviewing Practice
Each section is somewhat independent, and you should have a strategy for each
1. Data Structures & Algorithms
Many people dislike this section as it doesn't represent the day-to-day work of an engineer. But nothing is going to change in the short-term so you might as well prep for it.
My recommendation is to view this as a Competitive Programming. You need to devise the solution to the problem in a fast time with the most optimal solution. The best source I've found on this is The Competitive Programmer's Handbook: https://cses.fi/book.pdf https://cses.fi/book.pdf
Read it well
2. Domain Knowledge
This section is the actual bits on what you're supposed to know about the job. If you're applying for a job relevant to your current job - this should mostly just be a refresher course.
If you're trying to switch to a new technology stick: Build the Thing for the Team you Want.
If you want to apply to Google Search, then deploy your own server and start to crawl and rank the web. If you want to work on VR, then build your own VR app, etc., etc.
Make sure you build it and deploy it. Being able to show your product on your phone or a website during the interview is both impressive and will further gain your broad knowledge of what it takes to accomplish these tasks.
3. Interview Practice
You need to practice coding, white boarding or talking about yourself in FRONT OF OTHER PEOPLE. This is uncomfortable and something you should have done several times before you actual interview of people. Use these resources to accomplish this:
- https://pramp.com
- https://careercup.com/interview
- http://www.gainlo.co
- https://refdash.com
GOOD LUCK!