Welcome to TSE's technical interview for the Developer role!
- You will have 50 minutes to work on a programming task with multiple parts.
- You can choose any programming language, but the task may be easier in some languages than others.
- You can't run your code, but you'll still have syntax highlighting.
- You can't use any documentation or other resources, but you shouldn't need to.
- It's okay if you don't remember the exact name of a function (for example), as long as you communicate this with your interviewers, and everyone understands what you mean.
- You can't use any external code other than your language's standard library, but you shouldn't need to.
- This includes
numpy
in Python,boost
in C++, or similar external libraries. - This does not include anything under the
java.*
namespace in Java, anything under thestd
namespace in C++, or similar standard library functionality.
- This includes
- The function signatures we provide should be treated as pseudocode; you are free to modify them to better suit the language you are using.
- For example: If you are using Java, you are welcome to use
List<String>
instead ofString[]
.
- For example: If you are using Java, you are welcome to use
- You can ask clarifying questions at any time.
- If you get stuck, your interviewers can give you hints.
- The questions are designed to be long, with multiple parts, so you aren't expected to finish everything.
- You can't keep or share the problem statement or your solution code, to maintain the integrity of the interview process.
- Programming and problem-solving skills: find a solution to each task, and implement that solution in code.
- Communication skills: read the prompt carefully, think out loud to help your interviewers understand your thought process, and pay attention to any hints your interviewers may give you.
- Code quality: write well-structured and understandable code.
- Testing: ask clarifying questions, consider edge cases, and trace your code out loud to make sure it works.
- Tell your interviewer which programming language you want to use. If you want, you can change your mind once you see the problem.
- If you have any questions, please ask your interviewers now.
- When you are ready to begin, your interviewers will paste the problem description at the bottom of this README file, and your 50 minute timer will begin.
This will be replaced with the problem description.