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