The standard advice for technical interview prep is to grind LeetCode for three months until you can solve any problem in under twenty minutes. Some people do this and it works. Most people do this, burn out after six weeks, and end up less prepared than when they started.
The grinding approach assumes that the interview is primarily a test of your ability to solve algorithmic puzzles under pressure. For some companies that is true. For most companies, and especially for internships at startups and mid-size tech companies, it is not. They want to know if you can think clearly, communicate your reasoning, and write code that roughly works.
Understand What You Are Actually Being Tested On
Before you prep anything, figure out what kind of interviews the companies you are targeting actually run. Big Tech companies have well-documented interview formats. Google, Meta, and Amazon run structured algorithmic interviews with specific difficulty ranges. If you are targeting these, yes, you need to practice data structures and algorithms seriously.
Startups and growth-stage companies are less predictable. Many of them run practical interviews where you debug a piece of code, extend a small feature, or talk through how you would design a simple system. These require different preparation than LeetCode.
Look up interview experiences on Glassdoor and Blind for the specific companies you are targeting. Ten minutes of research will tell you more about what to prepare than three weeks of generic grinding.
What to Actually Practice
For algorithms, focus on the fundamentals rather than the exotic edge cases. Arrays, strings, hash maps, trees, and basic graph traversal cover the vast majority of what you will actually encounter. Understand how to analyze time and space complexity for the solutions you write. Be able to explain your thinking out loud while you code, because that communication is often as important as getting the right answer.
For system design, which increasingly shows up even in internship interviews, practice explaining how you would build simple systems. A URL shortener. A basic rate limiter. A simple key-value store. You do not need to know distributed systems deeply. You need to be able to reason about tradeoffs and ask the right clarifying questions.
For behavioral questions, prepare three to four stories from your own experience that demonstrate how you approach problems, how you handle setbacks, and how you work with other people. Use your projects. Use your coursework. Use anything real.
The Mock Interview Problem
Most people practice alone. They read a problem, think about it for a while, look at the solution, and move on. This does not prepare you for the actual interview environment where you have to think out loud in front of another person while managing nerves.
Do at least five to ten mock interviews with another person before your first real interview. A classmate, a friend, anyone who can ask you questions and watch you work through them. The discomfort of being watched while you think is a skill that only gets better with practice.
How Much Time You Actually Need
For an internship interview at a non-Big Tech company, two to four weeks of focused preparation is realistic. One hour a day of actual problem solving, two or three mock interviews per week, and one session on behavioral questions is enough to be competitive.
For Big Tech, six to eight weeks of more intensive preparation is more appropriate. But intensive means focused and deliberate, not ten hours a day until your brain stops working.
The Bottom Line
Prepare specifically for the companies you are targeting. Practice communicating your thinking out loud, not just solving problems silently. Do mock interviews with real people before your first real one. And stop when you have done enough โ showing up exhausted and burned out is worse than showing up slightly under-prepared but mentally fresh.