Technical Round (Coding)

  • This round was a one-hour scheduled coding interview with an Experienced Software Engineer working at @Affirm. The interview began with an introduction by me and the interviewer.
  • This coding interview took place on “CodePair”.
  • The question I was asked was similar to “Design Hit Counter” on Leetcode but there were few specific constraints and changes related to the problems the company currently deals with.
  • The naive approach to the problem was to implement it with a queue and I did the same.
  • The interviewer somehow did not seem satisfied with the solution but we had no time left for discussion and had to conclude.
  • Another question I was asked was Insert Delete GetRandom O(1) – Duplicates Allowed.
  • I was able to solve the basic question in 30 minutes. Additionally, as a follow-up he asked to implement a delete function with a twist that there can be duplicates as well and the function should run in constant time O(1).
  • I tried till the last minute but was not able to achieve it in O(1) and the time was exhausted.
  • Lastly, the interviewer provided me with an opportunity to ask about any questions that I might have. I asked him about a few challenges he faced in his project at Affirm.

Tip: Always use the opportunity to ask the interviewer a little about his project, challenges, company’s tech stack or missions to show that you are genuinely interested in joining the company.

Affirm Interview Experience For Software Engineer

Similar Reads

Technical Round (Coding):

This round was a one-hour scheduled coding interview with an Experienced Software Engineer working at @Affirm. The interview began with an introduction by me and the interviewer. This coding interview took place on “CodePair”. The question I was asked was similar to “Design Hit Counter” on Leetcode but there were few specific constraints and changes related to the problems the company currently deals with. The naive approach to the problem was to implement it with a queue and I did the same. The interviewer somehow did not seem satisfied with the solution but we had no time left for discussion and had to conclude. Another question I was asked was Insert Delete GetRandom O(1) – Duplicates Allowed. I was able to solve the basic question in 30 minutes. Additionally, as a follow-up he asked to implement a delete function with a twist that there can be duplicates as well and the function should run in constant time O(1). I tried till the last minute but was not able to achieve it in O(1) and the time was exhausted. Lastly, the interviewer provided me with an opportunity to ask about any questions that I might have. I asked him about a few challenges he faced in his project at Affirm....

Final Round (Technical + Managerial):

This was a 1 hour Technical + Managerial interview scheduled with a Software Engineering Hiring Manager at Affirm. The Manager was amiable and it was a nice experience overall. Firstly, the manager gave me a short introduction to his background and the technology stack he works on at Affirm. Likewise, I shared a little about my experience and projects. He then asked me a few questions on my recent internship which was mainly related to Python and LLM’s. He also asked me to share about any project that I have built from scratch. I shared about a full-stack web application that I built during my academia. My project was mainly on Angular, Node.js, Flask and AWS. He asked me multiple questions on why I chose a particular technology for a problem and why not the other one. I was also asked about the scalability of the project and how I managed to deploy it. Later on, he asked me a few leadership questions, questions about my strengths and weaknesses. Lastly, he allowed me to ask any questions and here I asked him about the technology stack his team uses and what challenges are they facing currently. He gave satisfactory answers to every question and the interview concluded....