I had the opportunity to interview with several companies for Software Engineering internships, including Salesforce, Interactive Brokers, Tesla, Amazon, Intuit, Wayfair, Coinbase, and Postmates. I started applying in July/August and received offers from Interactive Brokers, Salesforce, Amazon, and Tesla in March.
My Salesforce interview consisted of two rounds after the online assessment. The first round was a behavioral interview with the hiring manager, followed by a technical interview where I was asked two LeetCode questions and was grilled on my resume. I was asked to serialize and deserialize a tree, build a tree with given inorder and preorder traversals, and answer questions about Java programming, Kubernetes, Docker, Spring Boot, and relational and non-relational databases. I felt I performed well in this interview, completing both questions quickly. I received a verbal offer from the recruiter within a few days.
I also interviewed with Tesla for a Summer + Fall Software Engineering position. The process included two rounds after the online assessment. The first interview was with the hiring manager on Codility, where I was asked to debug a graph question written in C++. The second interview involved iterating over a graph using breadth-first search and printing the order while traversing. I received a call from the recruiter the next day letting me know that I passed the interview rounds. However, I declined the offer as I received an offer from Amazon at that time.
My Amazon interview process included three online assessments followed by one interview. The first two assessments were debugging and coding, and the third was a work simulation. The interview involved leadership questions followed by a technical interview. I was asked a design question (object-oriented) that I solved using dictionaries, arrays, and sorting. I also discussed solutions using binary search trees and heaps. I received an email from Amazon a few days later stating that I had been placed on a waitlist. However, I received an email shortly after receiving my Salesforce offer, stating that the interview was inclined and I was offered a summer/fall opportunity. I accepted the Salesforce offer for summer and expressed interest in the fall opportunity with Amazon. I received a potential offer from Amazon within a few days.
I also interviewed with Intuit for a Spring co-op position. The process involved a Karat coding test, a Karat live interview, and a final interview. I solved two questions in the Karat live interview, but I was rejected after the final interview. I was later contacted by the team stating that they had a potential match and asked me to interview again. I was rejected again after the second interview.
I interviewed with Wayfair for a Spring co-op position. I was asked to design a database question (object-oriented) and was rejected after the interview.
I also interviewed with Coinbase for a backend summer internship. The process included two interviews after the online assessment. The first was an HR screening, and the second was a backend interview. I was asked to think out loud for the first 15-20 minutes and provided three solutions, starting from naive to the best approach. I was rejected the next day.
I interviewed with Postmates for a Spring co-op position. I completed the Codility assessment and received an interview call. However, I received a generic email stating that the position had been canceled.
Overall, I learned a lot during this recruiting season. I applied to many companies and practiced extensively with LeetCode. I was able to improve my technical skills and learned the importance of behavioral interviewing. I am grateful for the opportunities I had and am excited to start my career with Salesforce and Amazon.