
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.
Video: Whiteboard Coding Interviews: 6 Steps to Solve Any Problem
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