Senior Software Engineer

4500+ Senior Software Engineer Interview Questions and Answers

Updated 12 Jul 2025
search-icon

Asked in Xebia

2w ago

Q. Have you worked on Kafka? How many partitions did your code have?

Ans.

Yes, I have worked on Kafka. My code had 10 partitions.

  • Yes, I have experience working with Kafka and have implemented code with multiple partitions.

  • In one of my projects, I used Kafka with 10 partitions to distribute the workload efficiently.

  • Having multiple partitions in Kafka helped in achieving high throughput and scalability for real-time data processing.

Asked in Walmart

1w ago

Q. How do you generate a unique ID for a massive parallel system?

Ans.

An unique id for a massive parallel system can be generated using a combination of timestamp, machine id and a random number.

  • Use a timestamp to ensure uniqueness

  • Include a machine id to avoid collisions in a distributed system

  • Add a random number to further increase uniqueness

  • Consider using a UUID (Universally Unique Identifier) for simplicity

  • Ensure the id generation algorithm is thread-safe

Q. What does package.json consist of, and what are dependencies and dev dependencies?

Ans.

package.json is a file that contains metadata about a project and its dependencies.

  • package.json is used in Node.js projects to manage dependencies

  • Dependencies are packages required for the project to run

  • Dev dependencies are packages required for development and testing

  • Dependencies and dev dependencies are listed separately in package.json

  • Example: "dependencies": {"express": "^4.17.1"}, "devDependencies": {"nodemon": "^2.0.7"}

Asked in Birlasoft

5d ago
Q. What is a conditional split transaction in SSIS?
Ans.

Conditional split transaction in SSIS is used to route data based on specified conditions.

  • Conditional split is a control flow component in SSIS.

  • It evaluates a specified condition for each row of data and routes the rows to different outputs based on the result.

  • Example: Route all orders with quantity greater than 100 to one output and all others to a different output.

Are these interview questions helpful?

Asked in UST

1w ago
Q. What is a thread scheduler and how does time slicing work?
Ans.

Thread Scheduler is responsible for managing the execution of multiple threads in a multitasking environment.

  • Thread Scheduler determines the order in which threads are executed.

  • It allocates CPU time to each thread based on priority and scheduling algorithm.

  • Time Slicing is a technique used by Thread Scheduler to allocate a fixed time slice to each thread before switching to another.

  • It ensures fair execution of threads and prevents a single thread from monopolizing the CPU.

  • Exam...read more

Q. 1. What is Ajax? 2. Write JS code to implement AJAX. 3. What is hoisting? 4. Questions regarding this keywords.

Ans.

Questions on Ajax, JS code for AJAX, hoisting, and related keywords for Senior Software Engineer role.

  • Ajax is a technique for creating fast and dynamic web pages without reloading the entire page.

  • JS code for AJAX involves creating an XMLHttpRequest object, defining a callback function, and sending a request to the server.

  • Hoisting is a JS mechanism where variables and function declarations are moved to the top of their scope.

  • Related keywords include let, const, var, function, ...read more

Senior Software Engineer Jobs

Red Hat India Pvt Ltd logo
Senior Software Engineer - Full Stack 6-11 years
Red Hat India Pvt Ltd
4.3
₹ 19 L/yr - ₹ 33 L/yr
(AmbitionBox estimate)
Bangalore / Bengaluru
Red Hat India Pvt Ltd logo
Senior Software Engineer For Fabric8 Kubernetes Client- Java/K8s 6-11 years
Red Hat India Pvt Ltd
4.3
₹ 19 L/yr - ₹ 33 L/yr
(AmbitionBox estimate)
Bangalore / Bengaluru
Red Hat India Pvt Ltd logo
Senior Software Engineer - Enterprise Linux Platform 5-10 years
Red Hat India Pvt Ltd
4.3
₹ 18 L/yr - ₹ 31 L/yr
(AmbitionBox estimate)
Bangalore / Bengaluru

Asked in kipi.ai

2w ago

Q. Can we add a new column in between 2 existing columns in a table? Justify your answer.

Ans.

Yes, a new column can be added in between 2 existing columns in a table by altering the table structure.

  • Yes, a new column can be added in between 2 existing columns by using the ALTER TABLE statement in SQL.

  • The new column can be specified to be added after a specific existing column.

  • For example, ALTER TABLE table_name ADD new_column_name datatype AFTER existing_column_name;

Asked in CitiusTech

2w ago

Q. What is manual testing? What is SDLC/STLC? What is Agile, scrum? What are agile ceremonies? Explain work day of a tester? Which project management tools you have used? Have you used cloud? How you are writing t...

read more
Ans.

Manual testing is the process of manually testing software for defects, functionality, and usability.

  • Manual testing involves testers executing test cases without the use of automation tools.

  • It is a time-consuming process but allows for thorough testing of software.

  • Testers document their findings and report any issues to the development team for resolution.

Share interview questions and help millions of jobseekers 🌟

man-with-laptop
1w ago

Q. Prepare Java 8, 11 Programs on Java 8 and 11 Multithreading Collection Design patterns Solid principles Spring MVC and boot Rest API

Ans.

The question asks for programs on Java 8 and 11, multithreading, collections, design patterns, SOLID principles, Spring MVC and Boot, and REST API.

  • Java 8 and 11 programs: Provide examples of programs written in Java 8 and 11.

  • Multithreading: Discuss the concept of multithreading and provide examples of how it can be implemented in Java.

  • Collections: Explain the different types of collections in Java and their usage.

  • Design patterns: Discuss commonly used design patterns in softw...read more

Asked in EnKash

4d ago

Q. 1. Array list vs linked list 2. why we use getters and setters 3. loose vs tight coupling 4. Spring boot vs MVC 5. @component vs @service 6. @transactional annotation related questions. 7. Coding: 6,1,3,4,2,5,6...

read more
Ans.

Interview questions for Senior Software Engineer position

  • Array list vs linked list - array list is faster for random access, linked list is better for frequent insertions/deletions

  • Getters and setters are used for encapsulation and to control access to class variables

  • Loose coupling allows for easier maintenance and testing, tight coupling can lead to code that is difficult to modify

  • Spring Boot is a framework for building standalone applications, MVC is a design pattern for sep...read more

Asked in H&M

1w ago

Q. Describe a problem statement where you used Azure/Azure Functions to solve it.

Ans.

Utilize Azure Functions to create a serverless architecture for processing patient data in real-time.

  • Use Azure Functions to trigger data processing when new patient records are added to Azure Blob Storage.

  • Implement durable functions to manage long-running workflows, such as patient data analysis.

  • Integrate Azure Cosmos DB for storing processed patient data and enable quick retrieval for reporting.

  • Leverage Azure Logic Apps to automate notifications to healthcare providers when ...read more

Asked in IQVIA

1w ago

Q. Design an Employee-Manager class. Write a method to display the employee organizational hierarchy like we see in Microsoft Teams Org tab.

Ans.

Design an employee-Manager class and write a method to display employee organizational hierarchy.

  • Create an Employee class with attributes like name, id, managerId, etc.

  • Create a Manager class that inherits from Employee class and has a list of employees under them.

  • Write a method to display the hierarchy using recursion.

  • Use a data structure like a dictionary to store the employees and their managers.

  • Consider edge cases like circular references and missing managers.

Asked in Capgemini

2w ago

Q. Difference between array and stack What is linked list and explain its types Advantages of each type of linked list over other Pseudo code of bubble sort algorithm Concept of deque - insertion and deletion

Ans.

Array is a fixed-size collection of elements, while stack is a data structure that follows Last In First Out (LIFO) principle.

  • Array is a static data structure, while stack is a dynamic data structure.

  • In array, elements are accessed using index, while in stack, elements are accessed using push and pop operations.

  • Linked list is a data structure where each element points to the next element, types include singly linked list, doubly linked list, and circular linked list.

  • Advantage...read more

Asked in Arcesium

1w ago
Q. How can you achieve multitasking in Java?
Ans.

Multitasking in Java can be achieved using threads.

  • Create multiple threads to execute tasks concurrently.

  • Use the Thread class or the Runnable interface to define the tasks.

  • Use synchronization mechanisms like locks or semaphores to coordinate access to shared resources.

  • Java provides built-in support for multitasking with the Thread class and the Executor framework.

  • Example: creating two threads to perform different tasks simultaneously.

Asked in CitiusTech

2w ago

Q. How do I see SQL sessions? If we want to store temporary data inside stored procedure what should we do? When should we go for temp tables? Difference between index seek and index char? Diff b/w view and table...

read more
Ans.

Answers to SQL-related questions for Senior Software Engineer position

  • To see SQL sessions, use the sp_who2 stored procedure or the Activity Monitor in SQL Server Management Studio

  • To store temporary data inside a stored procedure, use table variables or temporary tables

  • Use temp tables when you need to store large amounts of data or when you need to perform complex joins or aggregations

  • Index seek is a type of index access method that uses a seek operation to find the data, whil...read more

Asked in Capgemini

2w ago
Q. How do you enable Actuator in a Spring Boot application?
Ans.

To enable Actuator in a Spring Boot application, you need to include the Actuator dependency in your pom.xml file and configure it in the application.properties file.

  • Include Actuator dependency in pom.xml file

  • Configure Actuator endpoints in application.properties file

  • Access Actuator endpoints to monitor and manage the application

Asked in Wipro

2w ago

Q. How the screenshot is taken and what is the use of it

Ans.

Screenshots are captured images of the current screen. They are used for documentation, troubleshooting, and sharing information.

  • Screenshots can be taken using built-in tools like Snipping Tool or keyboard shortcuts like Print Screen.

  • Screenshots can be used to document software bugs or errors for troubleshooting purposes.

  • Screenshots can be shared with others to provide visual information or instructions.

  • Screenshots can be used for training or educational purposes.

  • Screenshots ...read more

2w ago
Q. What are the different types of locators in Selenium?
Ans.

Different types of locators in Selenium include ID, Name, Class Name, Tag Name, Link Text, Partial Link Text, XPath, and CSS Selector.

  • ID - Locate elements by their ID attribute

  • Name - Locate elements by their Name attribute

  • Class Name - Locate elements by their Class attribute

  • Tag Name - Locate elements by their HTML tag name

  • Link Text - Locate anchor elements by their exact text

  • Partial Link Text - Locate anchor elements by partial text

  • XPath - Locate elements using XML Path expre...read more

Asked in Cybage

2w ago
Q. What are the most commonly used instructions in a Dockerfile?
Ans.

The most commonly used instructions in a Dockerfile include FROM, RUN, COPY, and CMD.

  • FROM: Specifies the base image for the container

  • RUN: Executes commands in the container

  • COPY: Copies files and directories from the host to the container

  • CMD: Specifies the default command to run when the container starts

Asked in Apisero

1w ago

Q. What do you know about APIs? Please differentiate between REST and SOAP APIs.

Ans.

API stands for Application Programming Interface. REST and SOAP are two types of APIs.

  • REST is an architectural style that uses HTTP protocol for communication and supports multiple data formats like JSON, XML, etc.

  • SOAP is a protocol that uses XML for communication and supports only XML data format.

  • REST is lightweight and easy to use, while SOAP is more complex and requires more bandwidth.

  • REST is stateless, while SOAP maintains state information.

  • REST is widely used for web ser...read more

6d ago

Q. What is an abstract class, and why is it necessary to use an abstract class when interfaces already exist?

Ans.

Abstract class is a class that cannot be instantiated and may contain abstract methods, while interfaces only define method signatures.

  • Abstract classes can have both abstract and non-abstract methods, providing a partial implementation for subclasses.

  • Interfaces can only have method signatures, requiring implementing classes to define the actual implementation.

  • Abstract classes can have constructors, member variables, and method implementations, while interfaces cannot.

  • Abstract...read more

2w ago

Q. Write a JavaScript function that returns the letter with the maximum and minimum occurrences in a string.

Ans.

A javascript function to find the maximum and minimum occurrence of a letter in a string.

  • Create an object to store the count of each letter in the string

  • Loop through the string and update the count in the object

  • Find the maximum and minimum count in the object and return the corresponding letters

2w ago

Q. Have you implemented any service on the cloud, and how would it interact with an application in a physical VM?

Ans.

Yes, I have implemented a service on cloud using AWS Lambda and it interacts with an application in a physical VM through API calls.

  • Implemented a serverless service using AWS Lambda

  • Exposed APIs for the service

  • Configured the physical VM application to make API calls to the cloud service

  • Ensured proper authentication and authorization mechanisms for secure communication

Asked in Apisero

4d ago

Q. What is VPC in cloud? Can you explain the concept to Layman?

Ans.

VPC stands for Virtual Private Cloud, which is a virtual network in the cloud.

  • VPC allows users to create their own isolated network within the cloud

  • It provides control over network topology, IP address range, and subnets

  • VPC can be used to securely connect resources in the cloud and on-premises

  • Examples of cloud providers that offer VPC are Amazon Web Services and Google Cloud Platform

Asked in Zealogics

1w ago

Q. How can we establish the connection between a View and a ViewModel?

Ans.

Establishing connection between view and viewmodel involves data binding and communication mechanisms.

  • Use data binding frameworks like Angular's ngModel or React's setState to bind data between view and viewmodel

  • Implement event handling to communicate user interactions from view to viewmodel

  • Utilize two-way data binding to automatically update the view when the viewmodel changes

  • Use observables or reactive programming to handle asynchronous data updates

1w ago

Q. In a situation where your team is not getting a proper result with the existing approach, how would you try to fix it?

Ans.

I would analyze the current approach, identify the root cause of the issue, brainstorm alternative solutions, and collaborate with the team to implement and test them.

  • Analyze the current approach to identify weaknesses

  • Brainstorm alternative solutions with the team

  • Implement and test the new solutions

  • Regularly communicate and collaborate with team members

Q. What is an easy way to deploy static web applications on a cloud service using GitHub?

Ans.

Use AWS Amplify to easily deploy static web applications from GitHub.

  • Create an AWS Amplify app and connect it to your GitHub repository.

  • Configure the build settings for your app in the Amplify console.

  • Push changes to your GitHub repository and Amplify will automatically build and deploy your app.

  • Customize your deployment settings and add features like authentication and analytics.

  • Amplify supports a variety of static site generators and frameworks, including React, Vue, and An...read more

Asked in ServiceNow

2w ago

Q. What is the difference between an ArrayList and a LinkedList?

Ans.

ArrayList is implemented as a resizable array, while LinkedList is implemented as a doubly linked list.

  • ArrayList provides fast random access and slower insertion/deletion, while LinkedList provides fast insertion/deletion and slower random access.

  • ArrayList uses less memory overhead compared to LinkedList.

  • Example: ArrayList is more suitable for scenarios where random access is frequent, while LinkedList is more suitable for scenarios where frequent insertion/deletion is requir...read more

Asked in Traveloka

2w ago

Q. Design MakeMyTrip. How does MakeMyTrip block a seat for 15 minutes even if the payment does not go through?

Ans.

Makemytrip blocks seat for 15 mins by using a hold on the seat inventory.

  • Makemytrip uses a hold on the seat inventory to block the seat for 15 mins.

  • If the payment doesn't go through, the hold is released and the seat becomes available again.

  • This ensures that the seat is not booked by someone else during the payment process.

  • The hold time can vary depending on the airline's policy.

  • Makemytrip also sends reminders to complete the payment before the hold expires.

Asked in Xoriant

2w ago

Q. In a try{...}finally{...} block, what happens if an exception is thrown from the try block?

Ans.

The finally block will always execute, even if an exception is thrown from the try block.

  • The finally block is used to execute code that should always run, regardless of whether an exception is thrown or not.

  • If an exception is thrown from the try block, the code in the finally block will still execute.

  • This is useful for cleaning up resources, such as closing files or database connections.

  • Example: try { // code that may throw an exception } finally { // code that should always ...read more

Previous
7
8
9
10
11
12
13
Next

Interview Experiences of Popular Companies

TCS Logo
3.6
 • 11.1k Interviews
Accenture Logo
3.7
 • 8.7k Interviews
Infosys Logo
3.6
 • 7.9k Interviews
Wipro Logo
3.7
 • 6.1k Interviews
Capgemini Logo
3.7
 • 5.1k Interviews
View all
interview tips and stories logo
Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories
Senior Software Engineer Interview Questions
Share an Interview
Stay ahead in your career. Get AmbitionBox app
play-icon
play-icon
qr-code
Trusted by over 1.5 Crore job seekers to find their right fit company
80 L+

Reviews

10L+

Interviews

4 Cr+

Salaries

1.5 Cr+

Users

Contribute to help millions

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2025 Info Edge (India) Ltd.

Follow Us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter
Profile Image
Hello, Guest
AmbitionBox Employee Choice Awards 2025
Winners announced!
awards-icon
Contribute to help millions!
Write a review
Write a review
Share interview
Share interview
Contribute salary
Contribute salary
Add office photos
Add office photos
Add office benefits
Add office benefits