We are going to design our own code editor. For this exercise, we’ll assume that we are implementing this project using React and Redux. We are specifically interested in the design decisions we would make to allow users to manipulate the layout of various panels on their screen, and to keep track of user edits to their files.
Interviewees are encouraged to begin by drawing a diagram of what this code editor would look like.
These kinds of design questions are meant to foster a thoughtful conversation between you and your interviewer, and help your interviewer understanding how you approach and solve problems. By nature, they do not have a single correct answer. Therefore, the following offers just one of many possible solutions.