Candidate Hub

Ace the Cash App Pairing Interview

Engineering Main

What will I be doing?

You’ll work with an engineer to solve a problem in a real-time coding environment.

What will Cash be looking for?

We’ll want to see your collaboration skills with a focus on modeling and writing clean, maintainable code. 

What can I expect?

All questions are rooted in both algorithms and real world production. We do not ask trick questions or try to trip you up. We want to see you succeed!

You are welcome to code in the language you are most comfortable with. If you've done a lot of Java development for years, you should know commonly used libraries, such as the Java Collections Framework. Even if you think you do know them already, consider preparing for the interview by studying API docs beforehand.

Talk us through your thought process and why you’re doing what you’re doing. We're looking to see how you'd be as a teammate and we want to know how you vocalize your thoughts & approach.

Iterate, break the problem up and run your code every couple of minutes - compiler errors are part of the job so you don’t lose points for them. We like engineers who compile and fix often.

Write clean code that will run. Keep best practices in mind and try to stick to them in the code you produce in the interview.

Debug! Good debugging skills and the use of print statements are a good thing.

Pretend the code in the interview is going into production. Clean-up things as you change your mind about implementation ideas. Include comments for anything that warrants it. Don't add superfluous flow control or unused variables. Explain any shortcuts you took due to time constraints along with what you would normally do under similar circumstances.

There's always more than one way to solve a problem. After you have completed a solution, the interviewer may be curious to know if you think it could have been solved another way.

Make use of the internet. This is not an algorithm memory test, but brush up on your fundamentals: standard data structures, graph algorithms, big O notation, testing, code organization, leveraging OO fundamentals, functional programming, parsing, etc.

Remember to collaborate with your interviewer. If you work through the problem together, you are more likely to come up with the best solution. Questions you ask of the interviewer should be clarifying questions - more to the "what" of the problem than the "how." If you do have questions about "how," be able to describe your alternatives to the interviewer and then discuss their merits.

How can I best prepare?

Practice, practice, practice! HackerRank has coding questions that are good to try out.

Here are some things to do prior to your Pair Programming interview on CoderPad.

  • See which testing libraries are available, and how to write a test using your preferred one.

  • Check if other libraries you may be familiar with are available, e.g. Commons Lang in Java.