Upgrade logo

Upgrade Software Engineer Interview Questions
& Process

Real candidates share what happened, how many rounds they had,
and how the experience turned out.

Based on 6 interview experiences · FREE TO READ

3 Rounds average
Average Typical difficulty
33.3% Positive experience

Candidate interview experiences

First-hand accounts from people who interviewed at Upgrade.

Showing 3 of 6
Upgrade logo
Upgrade

Senior Software Engineer

Engineering · a year ago

Senior Average Negative experience No offer 3 rounds
Interview process
Recruiter call Technical screen Onsite
Interview formats
Technical System Design

I was contacted by a recruiter to set up an interview. The interview process included 3 rounds, all of which were casual discussions focused on system design. I felt I performed well, offering multiple solutions. I think I addressed most of the questions, although I may not have explicitly stated when I didn't know something. Despite this, I was rejected for two reasons given by HR. Firstly, one interviewer felt I didn't show enough enthusiasm or desire to join, suggesting I should have conveyed more excitement about their technical challenges. I found this feedback strange because I did ask about their projects and challenges, and we discussed it for a few minutes. This interviewer's assessment seems inaccurate. Secondly, when asked about my reasons for switching jobs, I explained it was due to practical reasons like RTO policies not suiting me, despite having a good team. I also contrasted my previous experience in slow-paced traditional banks with the fast-paced, adaptive nature of newer FinTech companies, which I enjoy. I questioned how one can quantify 'attitude' and noted that feigning excitement is possible but doesn't guarantee performance. This interviewer's interpretation of my willingness to join felt unprofessional. Secondly, they stated I lacked sufficient knowledge about transactions. I'm unsure about the benchmark for 'enough' knowledge. I mentioned that `@Transactional` annotation is a code-level solution, and in distributed systems, MQ could ensure once-only message delivery, or Redis cache locks for better performance. I even discussed `@Transactional`'s use of cglib for code regeneration and wrapping commit/rollback logic. I felt their feedback was akin to saying someone knows Java but not the implications of `Serializable`. Ironically, some techniques I mentioned seemed new to them. Overall, I'm very disappointed, especially hearing positive feedback from HR followed by a rejection.

Confirmed questions1 question
  • Can you design a system that handles transactions and avoids double booking?
Upgrade logo
Upgrade

Senior Software Engineer/Tech Lead

Engineering · more than a year ago

Senior Average Positive experience Accept offer 5 rounds
Interview process
Technical screen Technical screen Technical screen Panel Recruiter call
Interview formats
Technical Coding Behavioral

So the interview process had 3 rounds focused on development, then 1 round with the team, and finally 1 round for managerial discussions. It was conducted by bar raiser. The first round was for verbal technical knowledge, the second was a hardcore machine round where they asked questions about React Native and asked me to write a small program for notes. The third was a deep dive into React Native, but they focused more on the verbal part.

Confirmed questions7 questions
  • Can you explain custom hooks?
  • How do deep links work?
  • What are your thoughts on CICD?
Upgrade logo
Upgrade

Principal Software Engineer

Engineering · more than a year ago

Staff Average Negative experience No offer 3 rounds
Interview process
Recruiter call Take home Technical screen
Interview formats
Technical Coding

I was contacted by HR for a Principal/Senior Software Engineer role. They marketed the company and stressed their eagerness to hire, mentioning multiple hiring managers were interested. I was then asked to complete a significant, time-consuming take-home mini-project. After submitting the project code, which I believe has substantial market value, I had an interview with the dev team to discuss its advanced design points and code. Subsequently, I was informed that the hiring plan had changed and the role was closed. This entire process, from initial contact to notification of closure, took about a week and a half. My strong suspicion, reinforced by feedback from other senior developers, is that the company uses these job postings and interview processes as a tactic to obtain valuable design and code for free. They provide internal employee names and emails to make the process seem legitimate and convince candidates to do the take-home project. I believe that regardless of completing the project, the job would not have been offered. There seems to be an issue with the San Francisco software engineering team, possibly resorting to these tactics due to legacy or incompetence, to acquire modern designs and code.

Confirmed questions1 question
  • Design and code a full-featured mini project as a take-home assignment.

Upgrade Software Engineer Interview Questions

Quoted word for word from Upgrade interview reports.

How do you set up different environments like dev, UAT, and production?

Read reports

Can you design a system that handles transactions and avoids double booking?

Read report

Design and code a full-featured mini project as a take-home assignment.

Read report

Formats, difficulty and experience

Across all 6 Upgrade interview reports.

Interview formats

Technical 38.5%
Coding 38.5%
Behavioral 15.4%
System Design 7.7%

Interview difficulty

Easy 0%
Average 100%
Difficult 0%

Candidate experience

Negative 50%
Positive 33.3%
Neutral 16.7%