A whiteboarding interview is a common format for technical interviews, where you will be asked to write code on a whiteboard (or paper) while explaining your thought process to the interviewer. Here are some tips for preparing for a whiteboarding interview:
Practice solving problems on a whiteboard or on paper 📝
This will help you get used to the physical act of writing code and the limited space available.
Practice explaining your thought process out loud 🗣
It's important to be able to articulate your ideas clearly and to explain your solution to the interviewer. Practice writing code on a whiteboard or paper in a legible and organized manner.
Be prepared to ask clarifying questions and to make assumptions as needed 🛎
It's important to be able to communicate with the interviewer and to understand the problem fully.
Review common data structures and algorithms, as these often come up during the technical interview process.
Here is a list of some common data structures and algorithms that you may want to brush up on in advance:
📁 Arrays: An array is a linear data structure that stores a collection of items.
🔗 Linked lists: A linked list is a linear data structure that stores a sequence of items and allows efficient insertion and deletion of elements.
🪜 Stacks and queues: Stacks and queues are linear data structures that store a sequence of items and allow access to only the top (for stacks) or the front (for queues) of the sequence.
🌳 Trees: A tree is a data structure that represents a hierarchy of nodes, with the top node called the root and the children nodes called leaf nodes.
📊 Graphs: A graph is a data structure that consists of a set of vertices (or nodes) and a set of edges connecting the vertices.
#️⃣ Hash tables: A hash table is a data structure that stores a collection of items and allows efficient insertion and retrieval of items using a key.
🧮 Sorting algorithms: Sorting algorithms are used to rearrange a list of items in a particular order. Some common sorting algorithms include bubble sort, insertion sort, merge sort, and quick sort.
🔎 Search algorithms: Search algorithms are used to find a particular item in a list. Some common search algorithms include linear search and binary search.
⛓ Recursion: Recursion is a programming technique where a function calls itself with a modified input in order to solve a problem