You are on page 1of 3

BE Java Tech Interviews Preparation

Guide
Data Structure and Algorithms
Familiarize yourself with data structures and algorithms. These are essential to coding
interviews.

Data Structure Algorithms Other Skills

● Arrays ● Sorting ● Big O Notation


● Linked Lists ● Binary Search ● How to test your code?
● Hash Set ● Divide and Conquer
● Hash Table / Map Java Specifics:
● Stacks and Queues Less likely, but possible: ● Strings
● Breadth first search
● Strings ● Collections
● Depth first search
● Trees ● Dynamic ● OO Programming
programming ● Exceptions
Less likely, but possible:
● Graphs
● Heaps

Helpful Links
● https://www.journaldev.com/1260/collections-in-java-tutorial
● https://www.javacodeexamples.com/java-collection-framework-tutorial-with-exam
ples/1641
● https://www.baeldung.com/java-collections-interview-questions
● https://www.lavivienpost.com/top-interview-questions-and-big-o-notation-cheat-sh
eets/
● https://www.lavivienpost.com/data-structures-and-algorithms/#api

Disclaimer: The interviews are not limited to the topics presented here. This guide presents the most
common concepts asked during technical Java backend interviews and it should only be used as a
reference to study.
Code Challenge
Goal: These questions gauge your knowledge of data structures and algorithms to optimize a
solution to common problems.

● https://leetcode.com
● https://www.hackerrank.com
● https://codesignal.com

Tips
● Practice with sites above. Start practicing simple coding problems. This will make it
easier down the line to tackle harder questions.
● It’s important to consider runtime and memory complexity (both! - do not forget about
space complexity) for each solution.
● Usually the coding challenges are easy to medium. In really rare situations you will get
a hard one.
● Many candidates start coding as soon as they hear the question. That is usually a big
mistake. First, take a moment and repeat the question back to the interviewer to make
sure that you understand the question.
● After you have sufficiently clarified the scope and intention of the problem, explain your
high-level approach to the interviewer, even if it is a naive solution.
● Communicate with the interviewer!!! Explain your thought process while doing the code
challenge.
● Start simple and improve! Candidates usually get stuck trying to come up with the best
solution. It is not bad to start with a not optimized solution (even brute force) and then
improve later.
● Time management is important. Code challenges are usually planned for 40 minutes.
Time yourself while practicing.
● Make sure your code is organized and well structured. You will be evaluated on this.
● Testing your code is as important as completing the code challenge. Test your code
with different scenarios from the ones given by the interviewer.
● Know the common pitfalls. There are two big pitfalls when it comes to a coding
interview: not articulating your problem-solving process and not knowing the Big-O
complexity of an algorithm. Keep these pitfalls in mind as you work.

Disclaimer: The interviews are not limited to the topics presented here. This guide presents the most
common concepts asked during technical Java backend interviews and it should only be used as a
reference to study.
System Design

Goal: These questions gauge your ability to handle high-level system design with
scalability in mind.

Here are important concepts:

● Client-Server Model
● Network Protocols
● Storage
● Latency and Throughput
● Availability
● Caching
● Proxies
● Load Balancers
● Hashing
● Databases (Relational and Non-relational)
● Replication and Sharding
● Leader Election
● Rate Limiting
● Publish/Subscribe Pattern
● Map Reduce
● REST APIs

Question Samples:
● https://www.educative.io/blog/top-10-system-design-interview-questions
● https://www.educative.io/courses/grokking-the-system-design-interview (check
the free samples)
● https://github.com/donnemartin/system-design-primer/blob/master/README.md#
index-of-system-design-topics

Tips
● Practice at least one!
● Watch videos of system design interviews on youtube.

Disclaimer: The interviews are not limited to the topics presented here. This guide presents the most
common concepts asked during technical Java backend interviews and it should only be used as a
reference to study.

You might also like