An employee referred me to the recruiter. The first step was an online test to make sure that you know how to write code in your chosen language -- fairly easy. Then, I had a phone screen with a Square engineer where we solved a problem using a collaborative code editor for 45 minutes, and discussed the company and its work environment for the remaining 15 minutes. This question was fairly easy too, and the guy was cheerful & supportive.
They invited me to visit their office for a day of interviews, but unfortunately, I was not able to attend in person. So instead, we waited for Square to visit my campus for a 1-hour interview. Square claims on its engineering blog that the interview process is "pair programming" -- this is an exaggeration at best. I implemented the code while explaining my reasoning, but the interviewer kept cutting me off by saying "you don't have to say that" / "you don't have to tell me that." About halfway through, he started responding to emails and pull requests on his computer.