Senior Software Engineer

4500+ Senior Software Engineer Interview Questions and Answers

Updated 6 Jul 2025
search-icon
4d ago
Q. What are the concurrency strategies available in Hibernate?
Ans.

Hibernate provides various concurrency strategies like optimistic locking, pessimistic locking, and versioning.

  • Optimistic locking: Allows multiple transactions to read a row simultaneously, but only one can update it at a time. Uses versioning or timestamp to check for conflicts.

  • Pessimistic locking: Locks the row for exclusive use by one transaction, preventing other transactions from accessing it until the lock is released.

  • Versioning: Uses a version number or timestamp to tr...read more

Asked in Mphasis

2w ago
Q. What do you understand by the Java Virtual Machine?
Ans.

Java Virtual Machine (JVM) is a virtual machine that enables a computer to run Java programs.

  • JVM is responsible for converting Java bytecode into machine code that can be executed by the computer's processor.

  • It provides a layer of abstraction between the Java code and the underlying hardware and operating system.

  • JVM manages memory, handles garbage collection, and provides security features for Java applications.

  • Examples of JVM implementations include Oracle HotSpot, OpenJ9, a...read more

Asked in Arcesium

4d ago
Q. What is a transaction in the context of a Database Management System (DBMS)?
Ans.

A transaction is a logical unit of work that consists of multiple database operations that must be executed as a single, indivisible unit.

  • A transaction ensures data consistency and integrity.

  • It follows the ACID properties: Atomicity, Consistency, Isolation, and Durability.

  • Transactions are used to maintain data integrity in databases.

  • Examples of transactions include transferring funds between bank accounts or updating inventory levels.

2w ago
Q. What is abstraction in Object-Oriented Programming?
Ans.

Abstraction in OOP is the concept of hiding complex implementation details and showing only the necessary features to the outside world.

  • Abstraction allows us to focus on what an object does instead of how it does it

  • It helps in reducing complexity and improving maintainability of code

  • Example: In a car, we don't need to know the internal workings of the engine to drive it

Are these interview questions helpful?

Asked in Verizon

1w ago

Q. What is oops in JavaScript. And difference between functional programming and OOPs.

Ans.

OOPs in JavaScript is a programming paradigm that uses objects to represent real-world entities. Functional programming is a paradigm that uses functions to perform tasks.

  • OOPs in JavaScript involves creating objects that have properties and methods.

  • Functional programming involves creating functions that take input and produce output without modifying the input.

  • OOPs focuses on encapsulation, inheritance, and polymorphism.

  • Functional programming focuses on immutability, higher-o...read more

Asked in Infosys

4d ago

Q. What is the difference between an abstract class and an interface?

Ans.

Abstract class can have implementation while interface only has method signatures.

  • Abstract class can have constructors while interface cannot.

  • A class can implement multiple interfaces but can only inherit from one abstract class.

  • Abstract class can have non-public members while interface only has public members.

  • Abstract class is used for creating a base class while interface is used for implementing a contract.

  • Example of abstract class: Animal (with abstract method 'makeSound'...read more

Senior Software Engineer Jobs

CATERPILLAR INDIA ENGINEERING SOLUTIONS PRIVATE LIMITED logo
Senior Software Engineer – Data Engineer (DQME Core Layer) 8-13 years
CATERPILLAR INDIA ENGINEERING SOLUTIONS PRIVATE LIMITED
4.2
₹ 9 L/yr - ₹ 40 L/yr
(AmbitionBox estimate)
Chennai
Red Hat logo
Senior Software Engineer - Red Hat OpenShift Developer 5-10 years
Red Hat
4.3
₹ 18 L/yr - ₹ 31 L/yr
(AmbitionBox estimate)
Bangalore / Bengaluru
Red Hat India Pvt Ltd logo
Senior Software Engineer 3-6 years
Red Hat India Pvt Ltd
4.3
Bangalore / Bengaluru

Asked in Mphasis

2w ago
Q. What is the difference between PermGen and MetaSpace in Java?
Ans.

PermGen is a fixed size memory space for JVM metadata in Java 7 and earlier, while MetaSpace is a memory space that dynamically resizes in Java 8+.

  • PermGen is used for storing class metadata, interned strings, and constant pool data.

  • MetaSpace is used for storing class metadata, method data, and JIT code.

  • PermGen has a fixed size and can lead to OutOfMemoryError if exceeded.

  • MetaSpace dynamically resizes based on application demand and can be limited by the operating system.

  • PermG...read more

Q. What is the difference between Selenium and Cucumber?
Ans.

Selenium is a tool for automating web browsers, while Cucumber is a tool for writing and executing acceptance tests in a BDD style.

  • Selenium is used for automating web browsers to test web applications.

  • Cucumber is used for writing and executing acceptance tests in a BDD style.

  • Selenium supports multiple programming languages like Java, Python, etc.

  • Cucumber uses Gherkin syntax for writing test scenarios in plain English.

  • Selenium can be used with Cucumber to combine browser autom...read more

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Asked in TCS

2w ago
Q. What is the difference between TCP and UDP?
Ans.

TCP is a connection-oriented protocol that ensures reliable data delivery, while UDP is a connectionless protocol that focuses on speed.

  • TCP is reliable and ensures data delivery by establishing a connection between sender and receiver.

  • UDP is faster but less reliable as it does not establish a connection before sending data.

  • TCP uses sequencing and acknowledgment of data packets for reliable delivery.

  • UDP is used for real-time applications like video streaming or online gaming w...read more

Asked in WebMD

6d ago

Q. What is the order of created and mounted hooks for a child and its parent component in Vue.js?

Ans.

The order of created and mounted hooks for a child and its parent component in Vue.js.

  • The parent component's created hook is called first, followed by the child component's created hook.

  • The parent component's mounted hook is called after the child component's mounted hook.

  • The order is: parent created -> child created -> child mounted -> parent mounted.

Asked in CGI Group

2w ago
Q. What is the purpose of using @ComponentScan in class files?
Ans.

@ComponentScan is used to automatically detect and register Spring components in the classpath.

  • Scans the specified package and its sub-packages for classes annotated with @Component, @Repository, @Service, or @Controller

  • Registers the detected classes as Spring beans for dependency injection and other Spring features

  • Reduces the need for manual bean configuration in the Spring application context

  • Can be customized with basePackageClasses, basePackages, includeFilters, and exclud...read more

1w ago
Q. What issues are generally addressed by Spring Cloud?
Ans.

Spring Cloud addresses issues related to building and deploying cloud-native applications.

  • Service discovery and registration

  • Load balancing

  • Circuit breakers

  • Distributed configuration management

  • Routing and gateway

  • Monitoring and tracing

Asked in Mphasis

2w ago

Q. When you are assigned a task at the beginning of a sprint, what steps do you take to complete it?

Ans.

To complete a task assigned at the beginning of a sprint, I follow a set of steps.

  • I analyze the requirements and scope of the task.

  • I break down the task into smaller sub-tasks and estimate the time required for each sub-task.

  • I prioritize the sub-tasks based on their importance and dependencies.

  • I create a plan and timeline for completing the sub-tasks.

  • I communicate with the team and stakeholders to ensure everyone is on the same page.

  • I start working on the sub-tasks and track ...read more

2w ago

Q. Which NoSQL database would you choose as an alternative to Elasticsearch, and what are your reasons for that choice?

Ans.

MongoDB is a popular choice as an alternative to Elasticsearch due to its flexibility and scalability.

  • MongoDB is a document-oriented NoSQL database that allows for flexible schema design, making it a good fit for a wide range of use cases.

  • MongoDB also offers powerful indexing and querying capabilities, similar to Elasticsearch.

  • MongoDB's horizontal scalability and sharding capabilities make it suitable for handling large volumes of data, just like Elasticsearch.

  • MongoDB has a s...read more

Asked in Dana India

1w ago

Q. 1. How to do bit manipulation? 2. write a code for numeric text box using MVVM design pattern 3. how do you connect motor with PC? 4. difference between threads & timers in C#? 5. how do you handle Race Conditi...

read more
Ans.

Answers to various technical questions related to software engineering.

  • 1. Bit manipulation involves manipulating individual bits in a binary number to perform operations like setting, clearing, toggling, or shifting.

  • 2. MVVM (Model-View-ViewModel) design pattern separates the user interface from the business logic by introducing a ViewModel to manage the data and behavior.

  • 3. Connecting a motor to a PC typically involves using a motor driver or controller that can interface wit...read more

Asked in Empower

1w ago

Q. What are my day to day activity as a Software developer ? Features introduced in Java-17 ? How to track the queries generated by SpringBoot ? And the discussion went on as The interviewer was not satisfied with...

read more
Ans.

Day to day activities of a software developer, features in Java-17, tracking queries in SpringBoot

  • Day to day activities include coding, debugging, testing, and collaborating with team members

  • Java-17 features include sealed classes, pattern matching for switch statements, and new APIs like Stream.toList()

  • To track queries in SpringBoot, enable logging for the datasource and use tools like Spring Boot Actuator or database monitoring tools

Asked in Paytm

1w ago
Q. Design a search service that provides relevant results for travel.
Ans.

Design a search service for travel with relevant results.

  • Utilize user input to determine search criteria (destination, dates, budget, etc.)

  • Incorporate filters for specific preferences (e.g. hotel ratings, airline preferences)

  • Implement algorithms to prioritize results based on relevance and user behavior

  • Integrate with external APIs for real-time availability and pricing information

2w ago

Q. How can a component be loaded only after three specific services have loaded?

Ans.

Use Angular's 'resolve' property to load component after services are loaded.

  • Create a resolver service that waits for all three services to complete before resolving.

  • Add the resolver service to the 'resolve' property of the component's route.

  • Access the resolved data in the component using the ActivatedRoute service.

  • Example: { path: 'my-component', component: MyComponent, resolve: { data: MyResolverService } }

Asked in MasterCard

2w ago

Q. What would you do if your application is down for 1 hour in production on one site?

Ans.

I would investigate the root cause, work on fixing the issue, and implement measures to prevent it from happening again.

  • Investigate the root cause of the downtime, such as network issues, server failures, or software bugs

  • Work on fixing the issue promptly to minimize impact on users and business operations

  • Implement measures to prevent similar downtime in the future, such as redundancy, monitoring, and failover mechanisms

Asked in Xoriant

4d ago

Q. How do you get unique values from a collection using streams?

Ans.

To get unique values from a collection using stream, use the distinct() method.

  • Call the distinct() method on the stream of the collection.

  • The distinct() method returns a stream of unique elements.

  • Use the collect() method to convert the stream back to a collection.

Q. How many columns can be created in a table?

Ans.

The number of columns that can be created in a table depends on the database management system being used.

  • The limit varies depending on the DBMS

  • For MySQL, the limit is 4096 columns per table

  • For Oracle, the limit is 1000 columns per table

  • The number of columns can also be limited by the available memory and disk space

Asked in Fujitsu

1w ago
Q. What are the different types of waits available in Selenium WebDriver?
Ans.

Different types of waits in Selenium WebDriver include Implicit Wait, Explicit Wait, and Fluent Wait.

  • Implicit Wait: Waits for a certain amount of time before throwing a NoSuchElementException.

  • Explicit Wait: Waits for a certain condition to occur before proceeding further in the code.

  • Fluent Wait: Waits for a condition to be true with a specified polling frequency and timeout.

Asked in Capgemini

1w ago
Q. What are the four parameters that you need to pass in Selenium?
Ans.

The four parameters needed to pass in Selenium are URL, Port Number, Browser Driver, and Desired Capabilities.

  • URL: The URL of the website you want to automate testing on.

  • Port Number: The port number where the Selenium server is running.

  • Browser Driver: The specific browser driver (e.g. ChromeDriver, GeckoDriver) to use for testing.

  • Desired Capabilities: Additional settings and preferences for the browser driver.

Asked in Capgemini

1w ago
Q. What happens if the static modifier is not included in the main method signature in Java?
Ans.

The main method in Java must include the static modifier to be able to run the program.

  • Without the static modifier, the main method cannot be called by the Java Virtual Machine (JVM).

  • The program will not be able to start and will throw a NoSuchMethodError.

  • Adding the static modifier allows the main method to be called without creating an instance of the class.

Asked in UST

5d ago
Q. What is thread starvation?
Ans.

Thread starvation occurs when a thread is unable to access the CPU resources it needs to execute its tasks.

  • Thread starvation happens when a thread is constantly waiting for a resource that is being monopolized by other threads.

  • It can occur due to poor resource management or priority scheduling.

  • Examples include a low-priority thread being constantly preempted by high-priority threads or a thread waiting indefinitely for a lock held by another thread.

Asked in HCLTech

6d ago

Q. What optimization techniques can be used to improve the performance of a React application?

Ans.

Some optimization techniques for improving React Application performance.

  • Code splitting to reduce initial load time

  • Memoization for optimizing re-renders

  • Using virtualized lists for rendering large amounts of data

  • Minifying and compressing assets for faster loading

  • Implementing server-side rendering for faster initial page load

Asked in LTIMindtree

5d ago

Q. What is the difference between annotations and decorators?

Ans.

Annotations are used in Java while decorators are used in Python.

  • Annotations are used to provide metadata to the code and can be accessed at runtime.

  • Decorators are used to modify the behavior of a function or class.

  • Annotations are declared using the @ symbol in Java while decorators use the @ symbol in Python.

  • Annotations are part of the language syntax in Java while decorators are implemented using functions in Python.

Q. Do we need to set security for a Sub Microflow?

Ans.

Yes

  • Setting security for Sub Microflows is important to ensure data integrity and prevent unauthorized access.

  • Sub Microflows may contain sensitive data or perform critical operations, so securing them is crucial.

  • Access control can be implemented by defining user roles and permissions for Sub Microflows.

  • Authentication and authorization mechanisms should be enforced to restrict access to Sub Microflows.

  • Examples of security measures include implementing encryption, input validati...read more

Asked in Arcesium

4d ago

Q. Given an unsorted array of integers, find the smallest missing positive integer.

Ans.

Find first missing positive integer from an array of non-negative integers.

  • Create a hash set to store all positive integers in the array

  • Loop through the array and add all positive integers to the hash set

  • Loop through positive integers starting from 1 and return the first missing integer not in the hash set

Asked in Sopra Steria

1w ago

Q. If a client asks you to improve the performance of a model without changing the architecture or data, what would be your first step?

Ans.

Optimize model performance through hyperparameter tuning and efficient resource utilization.

  • 1. Hyperparameter Tuning: Adjust parameters like learning rate, batch size, and regularization to enhance model performance.

  • 2. Model Pruning: Remove unnecessary weights or neurons to reduce complexity and improve inference speed.

  • 3. Quantization: Convert model weights to lower precision (e.g., from float32 to int8) to speed up computation without significant loss in accuracy.

  • 4. Early St...read more

Previous
9
10
11
12
13
14
15
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

Calculate your in-hand salary

Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary

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