Summary
I recently completed my interview process for the Software Development Engineer 1 position at Autodesk, which spanned approximately one month across three distinct rounds. The experience covered technical areas like OOPS, DSA, and JavaScript, alongside in-depth discussions on my past projects and behavioral aspects.
Full Experience
I recently had the opportunity to interview with Autodesk for the Software Development Engineer 1 role. The entire interview process took about a month to complete and consisted of three rounds: two technical interviews and one with a hiring manager.
In Round 1, the discussion started with fundamental concepts of OOPS, SOLID principles, and some specific Java-related questions. I also talked about the projects I had worked on at my previous company. This round included two DSA problems. The first was a relatively easy, standard LeetCode problem where I had to break a given sentence into individual words, handling various edge cases. For instance, 'Tommy is good dog' should yield 'Tommy', 'is', 'good', 'dog'. I was asked to run my code locally against test cases provided by the interviewer. The second problem involved reading data from a CSV file and performing some analysis. I wasn't very familiar with CSV file reading in C++, but the interviewer was very supportive and allowed me to use Google for syntax.
Round 2 was quite interactive and covered a mix of topics. I faced several behavioral questions and also discussed theoretical questions related to JavaScript and React. We delved into my previous projects again. A specific technical task in this round was to flatten an array in JavaScript, with the constraint of using only a for loop. I had a good discussion with the interviewer throughout this round.
Finally, Round 3 was primarily a behavioral round where I had to explain some of my previous work in full technical detail. The interviewer also provided a comprehensive overview of the role itself and what working at Autodesk entails.
Interview Questions (3)
Given a sentence string, break it into individual words. For example, given 'Tommy is good dog', the output should be 'Tommy', 'is', 'good', 'dog'. Handle edge cases and be prepared to run code locally on provided test cases.
Read data from a CSV file and perform some analysis on the data. I mentioned I was unfamiliar with CSV file reading in C++, and the interviewer allowed me to google syntax.
Write a JavaScript function to flatten a nested array, specifically restricted to using only a for loop.
Summary
I recently interviewed for the Software Development Engineer 1 role at Autodesk in Bengaluru. Unfortunately, my application was rejected as another candidate had already completed the interview process.
Full Experience
My interview experience for the Software Development Engineer 1 position at Autodesk involved a comprehensive technical discussion.
The conversation started with an in-depth dive into my resume and past technical experiences. I was asked about my migration experience, specifically the learnings and challenges I faced while moving code from Node.js to Spring Boot. Following this, the interviewer inquired about the deployment lifecycle, and I explained the CI/CD process I was familiar with from my time at Chubb.
We then moved on to core computer science concepts, where I had to explain different types of sorting algorithms and provide an implementation example, such as Bubble Sort.
Several system design and problem-solving scenarios were presented. One question involved a caching scenario: how to refresh or update the cache if the response contract changes but old values are still present. Another challenge was about efficiently searching through millions of records, where I discussed techniques like indexing, caching, and distributed search.
I also shared my knowledge on application optimization techniques, covering database queries, caching strategies, asynchronous processing, and scaling methods. The discussion touched upon handling sudden traffic spikes, where I talked about solutions like load balancing, autoscaling, and queues. Finally, I explained the CAP Theorem, detailing consistency, availability, and partition tolerance with examples.
The interview concluded with a deep dive into my previous projects, discussing the design choices I made, the challenges I encountered, and how I resolved them.
Despite a thorough technical discussion, I received a rejection. The reason provided was that another candidate had already completed the interview process earlier.
Interview Questions (9)
Discuss learnings and challenges encountered while migrating code from Node.js to Spring Boot.
Explain the CI/CD (Continuous Integration/Continuous Deployment) process, specifically as implemented at Chubb.
Explain different types of sorting algorithms and provide an implementation example, such as Bubble Sort.
Describe a scenario where the response contract changes but old values are still present in the cache. How would you refresh or update the cache in such a situation?
How would you efficiently search through millions of records? Discuss techniques like indexing, caching, and distributed search solutions.
Discuss various application optimization techniques, including optimizing database queries, caching strategies, asynchronous processing, and scaling methods.
How do you handle sudden traffic spikes? Discuss solutions such as load balancing, autoscaling, and using queues.
Explain the CAP Theorem, detailing its three components: Consistency, Availability, and Partition Tolerance, with illustrative examples for each.
Deep dive into previous projects, discussing design choices, encountered challenges, and the solutions implemented.