For Students

Interview Prep

Free resources for the topics our technical interviews cover. Interview in Java or Python, whichever you prefer.

Object-Oriented Fundamentals

Be ready to explain each of the four pillars in your own words, or to walk through a program you have written and show where you used inheritance, polymorphism, encapsulation and abstraction.

The four pillars

A 30-minute overview of all four ideas, then each language's official introduction to classes and objects.

Java
Python
Inheritance

A subclass reuses the fields and methods of its parent class and adds only what is different.

Java
Python
Polymorphism

One method call, different behaviour: each object answers the same call in its own way, decided at run time.

Java
Python
Encapsulation

An object keeps its data private and lets other code change it only through methods that can check the new value.

Java
Python
Abstraction

Code depends on what an object can do, not on how it does it: abstract classes and interfaces declare the behaviour, subclasses supply it.

Java
Python

Strings & Hash Maps

If you are selected for a follow-up interview, you may be asked to complete a short coding problem that builds, counts or compares strings, usually with a hash map and sometimes a sliding window.

Strings

Walking a string character by character, building a new one efficiently, and the built-in methods you will reach for.

Java
Python
Hash maps

Count, group and look things up in constant time: the tool behind most string problems.

Java
Python
Sliding window

Move two indexes along a string or array instead of re-checking every substring.

Practice Problems

Free public problems similar to what we ask. Solve them in Java or Python; a free LeetCode account is needed only to submit a solution.

  1. Easy 387. First Unique Character in a String
  2. Easy 242. Valid Anagram
  3. Medium 49. Group Anagrams
  4. Medium 3. Longest Substring Without Repeating Characters
  5. Medium 443. String Compression

    Similar to Cracking the Coding Interview 1.6. LeetCode edits the array in place and leaves out the count for a single character; the classic version returns a new string with every count.

Ready to put these skills to work?

Apply now and start building real experience with real clients while you finish your degree.

Apply Now