Volvo Cars | Full Stack Developer | Interview Experience
Summary
I recently went through an interview process for a Full Stack Developer role at Volvo Cars. The experience involved a coding assessment, a comprehensive domain interview covering Java, TypeScript, and SQL, followed by a techno-managerial discussion. Despite progressing through the initial stages, the hiring process eventually stalled, leading me to withdraw my candidacy.
Full Experience
My journey with Volvo Cars began when a recruiter discovered my profile on Naukri and reached out regarding a Full Stack Developer opportunity. She provided a detailed overview of the role and its expectations. Expressing my interest, I was asked to complete a Mettl screening test on the same day.
Round 0 - Coding Assessment (60 mins)
This initial test consisted of one Data Structures & Algorithms question, which could be solved using Java or TypeScript, alongside 10 Multiple Choice Questions each across four sections: Java, ReactJS, TypeScript, and SQL. The following day, I received news that I had successfully cleared the assessment and was invited for the subsequent interview rounds.
Round 1 - Domain Interview (60 mins)
An engineering manager conducted this round, starting with introductions and a discussion about my daily work activities. The interview focused heavily on my proficiency in Java, JavaScript/TypeScript, and SQL. I was asked a series of questions covering various aspects of these technologies:
Java
- OOPS in Java with real-life examples.
- What is Stream API, and why do we need it?
- Difference between HashMap and HashTable?
- Difference between LinkedList and ArrayList?
- What is a deadlock, and how can we prevent it?
- Difference between Comparable and Comparator.
- Difference between == and .equals in Java. In which situation will you use them respectively?
TypeScript/JavaScript
- How to perform asynchronous communication?
- Pros and cons of using TypeScript.
- Difference between type and interface.
- I was also given a few output questions in JS revolving around truthy and falsy values.
SQL
- How to improve SQL query performance?
- What are stored procedures?
- How to find distinct values in a SQL query?
- Write a query to find the second-highest-paid employee. Write different ways to achieve this.
- Write a query to find the highest-paid employee from each department.
- Write a query to find the manager of each employee from the employee table.
- Difference between INNER JOIN, LEFT JOIN, RIGHT JOIN and OUTER JOIN.
I felt confident in most of my answers, though there were 2-3 questions I couldn't fully address. Towards the end, I inquired about Volvo Cars' tech presence in India, as I was unaware of their operations here. Overall, I thought this round went well, especially since it extended by 15 minutes, and I was hopeful about moving forward. True to my expectations, HR called the very next day to confirm I had cleared the domain round and scheduled my techno-managerial interview for the following week with US-based interviewers.
Round 2 - Techno-Managerial Interview (60 mins)
This interview was conducted primarily by two interviewers from Volvo Cars USA, with a few other engineers (from iOS and Android development) observing in the background. Despite the 'Techno-Managerial' title, the discussion was largely informal, focusing on Volvo Cars' vision, various tech-hubs, team structures, and work policies. The main interviewer asked about my daily responsibilities and my approach to writing quality code. Another interviewer reviewed my resume and asked follow-up questions. A third interviewer brought up CI/CD practices and whether I incorporated AI into my work, also noting an expired certification link on my resume. It felt like a constructive and healthy discussion.
After this, there was a period of silence for several weeks. I eventually contacted HR to check on my application status. She informed me that my candidature was still under review and asked me to wait another week as new roles were emerging. Finally, almost a month after my last interview, HR called to inform me that an HR round would be scheduled soon, and I would be joining the Customer Digital team. The next day, she requested documents to proceed. However, another extended period of silence followed, and at that point, I decided to withdraw my application.
Interview Questions (17)
Explain the core Object-Oriented Programming System (OOPS) concepts in Java and provide practical, real-life examples for each concept.
What is the Java Stream API, how does it work, and what are the primary reasons or problems it addresses that necessitate its use?
Elaborate on the key differences between HashMap and HashTable in Java, considering aspects like synchronization, null keys/values, and performance.
Discuss the fundamental differences between LinkedList and ArrayList in Java, focusing on their underlying data structures, performance characteristics for various operations (add, get, remove), and memory usage.
Define what a deadlock is in the context of concurrent programming or operating systems. Explain common conditions for deadlock to occur and describe various strategies or methods to prevent deadlocks.
Explain the differences between the Comparable and Comparator interfaces in Java. Describe when and why you would use one over the other, providing examples of their usage.
Explain the fundamental difference between the == operator and the .equals() method in Java. In which specific situations would you use each of them respectively for comparison?
How do you perform asynchronous communication in JavaScript or TypeScript? Discuss the different patterns and mechanisms available (e.g., Callbacks, Promises, Async/Await) and their use cases.
Discuss the main advantages (pros) and disadvantages (cons) of using TypeScript in web development projects, especially when compared to plain JavaScript.
Explain the differences between type and interface in TypeScript. When would you prefer to use one over the other?
What are the common strategies and best practices to improve the performance of SQL queries? Discuss techniques such as indexing, query rewriting, and proper database design.
What are stored procedures in SQL? Explain their benefits, typical use cases, and potential drawbacks.
How do you find distinct (unique) values in a SQL query from a given column or set of columns? Provide an example query.
Write SQL queries to find the second-highest-paid employee from an employee table. Demonstrate different ways to achieve this, such as using subqueries, LIMIT, or window functions.
Write a SQL query to find the highest-paid employee from each department in an employee table. Assume the table has columns like EmployeeID, Name, Department, and Salary.
Given an employee table with columns like EmployeeID, Name, and ManagerID (which refers to EmployeeID of their manager), write a SQL query to find the manager of each employee.
Explain the differences between INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL OUTER JOIN in SQL. Describe what results each type of join would return when joining two tables.