I met a Square employee at one of their events who encouraged me to apply for a position, pointing out a couple of roles that might fit given my background. After a phone screen, I had two coding/pair-programming technical interviews.
One was remote, conducted on Coderpad with Skype video chat, and the other was in person at Square. Both interviews were similarly structured as pair-programming experiences. The interviewers were not punitive but encouraging, and they even contributed some code.
I came away from the first one feeling pretty awesome about what we'd put together in the allotted time. While I didn't know everything, it felt like a collaborative experience. The challenge was to build a simple card game, delineating the construction of a deck, dealing cards in a shuffled manner, and determining if a group of cards met the game's criteria.
The card game primarily involved working with objects and their properties, building several functions to manipulate them. It included some simple iteration and pushing objects onto an array. We then tested to see if a given number of cards met conditions specified through if statements and boolean logic. As far as I know, I completed this question correctly.
The second interview didn't go as well. I had trouble getting an initial hold on things, and I think I lost a lot of confidence. I kept trying to figure out if I was on the right track, but it seemed like the interviewer wanted me to do something else without clearly stating it. It might have been just part of the frantic, "I don't know how to answer this!" freak-out, though.
The challenge was to make a word game, finding dictionary words. I think the idea was to use tries, but I got bogged down on this one.
I moved on after the first interview, but they didn't want to continue after the second. In each case, there was actually more confusion than I would expect in terms of hearing back from Square, and they mentioned there were some crossed wires internally.
Overall, it seemed like a more pleasant, collaborative experience than I have come to expect technical interviews to be.
Build a simple card game:
Make a word game: What dictionary words could you make?
The following metrics were computed from 1 interview experience for the Block Software Engineer, Front-End role in San Francisco, California.
Block's interview process for their Software Engineer, Front-End roles in San Francisco, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Block's Software Engineer, Front-End interview process in San Francisco, California.