Square Interview Experience (Part 2)
The Onsite Interview
If you missed it, here’s “Square Interview Experience (Part 1)”
On October 16th, four days after the on-campus interview, I received an email from my original recruiter (names have been redacted):
Congratulations! We’re excited to be moving forward with your application and are writing to invite you to a full day of onsite interviews at our new office in San Francisco!
I want to introduce you to a couple VERY important people who will take you through the remainder of the process: [redacted] (cc’d) will now be your primary recruiter, and [redacted] (also cc’d) will coordinate any logistics with your travel/application, etc.
At this time, please email [redacted] and cc [redacted] with the following information:
1. Preferred onsite dates (Fridays preferred, Tuesdays as secondary option)
2. Will you need need travel accommodations (hotel, flight, etc.)?
3. Any updates on your job search (offer deadlines, etc.)?
4. Type of work (Android, iOS, Web, Risk, etc.) you’re most interested in
Thanks again, and we look forward to seeing you again soon!
Thrilled, I emailed the recruiters with the necessary information and waited for confirmation for next steps. On October 19th, I confirmed my interview date (November 3rd) and waited for more information.
Both my recruiters were amazing. They were very prompt with replies to all the questions that I had about logistics. I requested a flight a few days in before my interview to explore San Francisco, which they were more than willing to provide. They did make it clear that I was responsible for my own hotel accommodations besides the night before the interview, which is very fair.
Before my flight out to San Francisco, I was sent three emails. One contained a link to the Square Orbitz account, which enabled me to book my flight. The next was the hotel reservation, which was booked by Square, with my reservation number. The last email had information about reimbursements, what to expect, and general information about the interview, including a schedule of the day’s events:
During each interview, you will write code with one of our engineers. The engineer will present a question and you’ll have approximately 45 minutes to come to a workable solution. All questions are rooted in algorithms and real world production. You’ll have about 10–15 minutes at the end of each to ask specific questions about our work, teams and culture.
9:30 Breakfast with the Campus Team
10:00 Interview 1
11:00 Interview 2
12:15 Recruiter Close
The Night Before
Square booked me at Hotel Abri, located very close to the Powell Street BART station.
214 reviews of Hotel Abri "Lovely hotel! Hard to find a hotel with suites near Union Square, and I was thrilled to book…www.yelp.com
The day before, I did some more practice problems from HackerRank and LeetCode. Having gone through the on-campus interviews, I felt a little more prepared to tackle pair-programming- as such, I solved the practice problems in the exact same way that the on-campus interviews went. If you’re looking to prepare for the Square onsite interview, I highly suggest solving questions by writing them in your own development environment and your own test cases. For me, this was the preferable method of practicing over online environments like the ones provided by HackerRank and LeetCode because it was the exact same environment as the environment in my interview, and it gave me the chance to think of and write my own test cases, including edge cases. Writing my own test cases forced me to think of other implementations, which benefitted me when describing multiple approaches to the interviewer.
However, the biggest piece of advice I can give the day before the interview is this:
I can’t stress this enough. I had trouble with this for interviews before the Square onsite one- I would attempt to try all the practice problems and read through Cracking the Coding Interview for the n-th time. However, I realized that there aren’t many things that I could improve that would make a noticeable difference in my coding style, so it’s better to get a good night’s sleep and wake up the next morning feeling rested and ready rather than sleepy and stressed out.
The next morning, I woke up fairly early. I took an UberPool to Philz Coffee, bought some coffee to bring back to New York, and headed to Square’s office.
Square’s office is located on 1455 Market Street, in the same building as Uber. The building receptionist gave me a key to access the elevators, which brought me to the Square lobby.
The receptionist had me sign in, sign an NDA, and take a picture, after which she handed me a name tag and showed me a place to leave my backpack and luggage (my flight was at 4:30 in the afternoon, so I planned on leaving immediately). I chatted with the fellow candidates until the recruiters who were had been in contact with arrived.
After a quick rundown of the schedule, we went for breakfast at the restaurant located a few floors above the lobby. There were a bunch of different options- breakfast tacos, an omelette bar, bagels and toast, cereals, etc. (Note: the plates are square-shaped. I pointed this out and one of the recruiters started laughing).
We sat down in a cafeteria with gigantic windows that gave us a great view of the city and chatted with the recruiters to get to know them better as well as to learn more about what it what it was like to work at Square and their favorite things about working in San Francisco. After breakfast, we went back into the lobby, were given the opportunity to pick up snacks or coffee and use the restroom, and went into the interview area.
The interview area was basically two rows of tables with iMacs and two seats, two keyboards, two keyboard mice, and a pad of paper at each iMac. Just as before, the interviewers introduced themselves and then immediately gave me a question to implement. After about 45 minutes, I was given a chance to ask the interviewers about their work and other questions about Square that I had.
The onsite interview questions were no different in terms of difficulty or structure from the questions during the on-campus interviews, but interview nerves had me stumbling over some bugs and implementation details. Again, it’s important to stay calm; it’s easy to make a single mistake that could make you think “OMG I screwed up” and make you even more stressed out. Remember, the interviewers are there to help you, so there’s no shame in asking for help when you need it either. The interviewers will be more than willing to give you advice and actually code themselves as well.
The same pieces of advice that I wrote about in my previous article about on-campus interviews applies to the onsite interviews. Know how to actually use data structures and algorithms and discuss other possibilities. In fact, it’s best to keep on talking throughout the entire interview; it might be hard to think while you talk, but it shows the interviewer your thought process, which is the most important part of their evaluation.
I found that the pad of paper was also a very nice addition to the interview environment. I find it very helpful to draw out my thoughts, especially when dealing with certain data structures that are easier to explain with the aid of a drawing than with just words.
There were two interviews back to back. After the second one, we were given a tour of the office, including a gallery of the first few iterations of the Square credit card reader and sketches of the first app, the new staircase that linked the top floors to the bottom ones, a robot that could move around the office for meetings from remote locations, and the different conference rooms named after various world currencies or places in San Francisco (my favorite ones are the ones that are named after different squares in San Francisco- Union Square, for example, is the main conference room for important meetings). The office is amazing. Employees were scattered about in different areas in the office to work. It almost has an Apple-esque feel because of how modern and minimalist it is.
After the tour, we wrapped up the day with a free shirt, messenger bag, and water bottle as well as details about what to expect next in this process. I headed for burritos in the Mission at El Farolito with a couple other candidates and took an Uber to the airport for my flight back after lunch.
I was thoroughly pleased with my interview experience with Square. The recruiters were very helpful, the interviewers were passionate and genuinely excited to work for Square, and I am a huge fan of their pair-programming methodology for interviews because it allowed me to show off how I think while I code. As a recap of the advice that I have for future candidates:
- Know how to implement and use data structures
- Explore different possible solutions
- Keep on talking
Overall, I would say that the interview experience was a success. Even if I don’t receive an offer, I am grateful to have participated in this process.