Senior Software Engineer
4500+ Senior Software Engineer Interview Questions and Answers

Asked in Ernst & Young

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

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

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.

Asked in Ernst & Young

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

Asked in Verizon

Q. What is oops in JavaScript. And difference between functional programming and OOPs.
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

Q. What is the difference between an abstract class and an interface?
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




Asked in Mphasis

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

Asked in Bosch Global Software Technologies

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 🌟

Asked in TCS

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

Q. What is the order of created and mounted hooks for a child and its parent component in Vue.js?
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

@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

Asked in Ernst & Young

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

Q. When you are assigned a task at the beginning of a sprint, what steps do you take to complete it?
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

Asked in OpenText Technologies

Q. Which NoSQL database would you choose as an alternative to Elasticsearch, and what are your reasons for that choice?
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

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 moreAnswers 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

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 moreDay 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

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

Asked in Becton Dickinson

Q. How can a component be loaded only after three specific services have loaded?
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

Q. What would you do if your application is down for 1 hour in production on one site?
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

Q. How do you get unique values from a collection using streams?
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.

Asked in Happiest Minds Technologies

Q. How many columns can be created in a table?
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

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

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

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

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

Q. What optimization techniques can be used to improve the performance of a React application?
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

Q. What is the difference between annotations and decorators?
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.

Asked in Intelizign Lifecycle Services

Q. Do we need to set security for a Sub Microflow?
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

Q. Given an unsorted array of integers, find the smallest missing positive integer.
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

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?
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
Interview Questions of Similar Designations
Interview Experiences of Popular Companies





Top Interview Questions for Senior Software Engineer Related Skills

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


Reviews
Interviews
Salaries
Users

