These companies create their own products. Examples include Google, Apple, and Amazon etc.
Interview Preparation Tips:
- Proficiency in at least one programming language: Such as C++, Java, or Python. These languages are versatile and used in web development, game development, desktop applications, Android, iOS, AI, data science, system design, virtual reality, and cybersecurity etc.
- Data Structures and Algorithms (DSA): Essential for any company interview, especially product-based ones. Key topics include, like BFS & DFS, sliding window, top K elements, linked lists, stacks, queues, dynamic programming, arrays, strings, searching, sorting, backtracking, tries, bit manipulation, graphs, and BSTs.
- Practice problem-solving, on platforms like LeetCode. Focus on frequently asked questions and patterns.
- Additional knowledge in computer networks, system design, database management, operating systems, and testing etc.
These companies do not have their own specific products. Examples include IBM and Accenture.
Interview Preparation Tips:
- Proficiency in at least one programming language: Such as C++, Java, or Python.
- Basic knowledge of DSA.
- Object-Oriented Programming (OOP)
- Database management
- Computer fundamentals
The following plan should give you an idea of how to tackle the interview preparation process.
★ 1+ Year Before Interview:
-
Learn multiple (like 2 or 3) programming languages.
-
Expand your network.
-
Build projects, website/portfolio showcasing your experience.
-
Students: Find internship and take classes with large projects. Professionals: Focus on working on "meaty" projects.
★ 3-12 Months Before Interview:
-
Continue working on projects. Try to add one more project.
-
Create a draft of resume and send it out for review.
-
Make a target list of preferred companies.
-
Learn and master Big O. Then Implement DSA from scratch.
★ 1-3 Months Before Interview:
-
Do several mock interviews & Continue practicing interview questions.
-
Create a list to track mistakes you've made while solving problems.
★ 4 Weeks Before Interview:
-
Create an interview prep grid.
-
Update Resume & Begin applying to companies.
-
Continue practicing questions, writing code on paper. Do another mock interview.
★ 1 Week Before Interview:
-
Continue practicing interview questions. Do a final mock interview.
-
Rehearse your stories from the interview prep grid.
-
Re-read Big O section & Algorithm Approaches (optimize & solve techniques).
★ Day Before Interview:
-
Rehearse each story from interview prep grid once.
-
Continue practicing questions & review your list of mistakes.
-
Review the Powers of 2 table. Print it for a phone screen.
★ Day of Interview:
-
Wake up in plenty of time to eat good breakfast & be on time. Be Confident but Not Cocky!
-
Remember to talk out loud. Show how you think.
★ After Interview:
-
Write "Thank You" note to the recruiter.
-
If you haven't heard from recruiter, check in after one week.
-
If there's no offer, ask when you can re-apply. Don't give up hope!
-
But got an offer? Celebrate! Your hard work has paid off!
Reference Book: Cracking the Coding Interview