
Civis Analytics Software Engineer Interview Questions
& Process
Real candidates share what happened, how many rounds they had,
and how the experience turned out.
Based on 16 interview experiences · FREE TO READ
Candidate interview experiences
First-hand accounts from people who interviewed at Civis Analytics.
Software Engineer
I first talked to someone at a university career fair. They offered me an on-campus interview for the following week. The interview involved several parts: first, an open-ended database design question about storing provided data. Then, an SQL question on how to aggregate rows with COUNT. Next, an easy coding question to show I could fetch data and knew Javascript. Finally, a very open-ended question related to a data set, similar to a consulting problem. The interviewers were a bit formal and the initial problems threw me off, affecting my coding performance. However, I was pleased with how quickly things moved (they informed me the next day) and felt their decision to pass on me was fair.
- Given this data, how would you design a relational database for it? And considering data about bus routes (stops, passenger boarding at each), how would you design an express route?
- How can you aggregate rows using the COUNT function in SQL?
- Write a simple Javascript code to demonstrate fetching data.
Software Engineer
The process began with a Google Hangouts interview featuring database design and live coding in a Google Doc. Because I did well, I was invited to an onsite. They had multiple rounds this month, and I could pick my day to interview. They covered all my expenses (hotel, meals, taxi, etc.), which was great, and I had a really good interview experience overall, even though I didn't get an offer. The group onsite had about 10 candidates interviewing for similar or different roles. There were 4 distinct interviews during the onsite. I felt I performed well on all the technical interviews and expected an offer, but I was likely rejected due to something I said, cultural fit, or my coding style. The interview process was awesome, and they treated everyone well. All the people were nice and smiling. I felt happy to be there and didn't want to leave. They say you're not competing, but you really are competing with others. The first interview was with the VP of Engineering, which was conversational with a few questions. She asked about my past internships and what I did. She also discussed the product and how Civis differs from other Chicago tech companies. The second interview was with an Engineer and a Technical Lead. This involved live coding with my laptop projected onto a screen. The problem seemed straightforward, and I think I implemented it correctly, recognizing the solution immediately. They didn't say much about my solution, just asking for the output, which I explained. The interview concluded with them asking if I had questions. The third interview was with a Technical Lead who reviewed my take-home coding challenge for about 5 minutes. He then asked high-level CS questions like hash tables, different file types, and some light SQL. I felt I did well, but maybe came across as too confident. I liked these questions as they played to my strengths. He ended the interview early and seemed to be checking email. At the time, I didn't think it was an issue, but in retrospect, it was a red flag, and maybe they had already decided before he arrived. The final interviewer asked about compensation, my timeline, how my day went, and why I wanted to work at Civis. They make you feel like you'll get an offer, but it might be a bluff. I was sure I'd get an offer.
- Tell me about your previous internships and what you did there.
- What is the product and the difference between Civis and other Chicago area tech companies?
- Live coding problem: implement a solution for a simple problem.
Software Engineer
So, first there was a 30 min phone call with a recruiter. Then I had to do a 2.5 hr online technical assessment, which was pretty simple. After that, I had a virtual onsite which included 2 behavioral interviews and 2 technical ones - one was a code review and architecture question, and the other was live coding. Oh, and I had to submit references before the virtual onsite. The code review and architecture part was super open ended, and I think I messed up explaining my thoughts since it was virtual. The live coding was about searching a tree with a bunch of children nodes and some other stuff. Honestly, the whole experience wasn't great. The virtual onsite interviews were back to back, like no breaks at all. I didn't do as well as I hoped in the final round and probably didn't get an offer because of it. They sent a generic rejection email saying I came onsite, even though it was all virtual. I also didn't get much time to learn about Civis, maybe because it was virtual.
- What is something you are currently learning?
Civis Analytics Software Engineer Interview Questions
Quoted word for word from Civis Analytics interview reports.
“How can you aggregate rows using the COUNT function in SQL?”
Read reports →“Describe a method to verify if two large datasets residing on separate servers are identical, without transferring all the data or comparing each entry individually.”
Read reports →“Write a simple Javascript code to demonstrate fetching data.”
Read reports →“How would you determine the execution time for a given process?”
Read reports →“What is the output of the code?”
Read report →“What are the time complexities associated with various algorithms?”
Read report →“Given some code, what would be its output?”
Read report →“Solve coding challenges related to string manipulation and type conversions (string to integer and vice versa).”
Read report →“Could you tell me about the access times for different algorithms?”
Read report →Formats, difficulty and experience
Across all 16 Civis Analytics interview reports.