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

Asked in Xebia

Q. Have you worked on Kafka? How many partitions did your code have?
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

Q. How do you generate a unique ID for a massive parallel system?
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

Asked in Ness Digital Engineering

Q. What does package.json consist of, and what are dependencies and dev dependencies?
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

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.

Asked in UST

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

Asked in R Systems International

Q. 1. What is Ajax? 2. Write JS code to implement AJAX. 3. What is hoisting? 4. Questions regarding this keywords.
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




Asked in kipi.ai

Q. Can we add a new column in between 2 existing columns in a table? Justify your answer.
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

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 moreManual 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 🌟

Asked in Iris Software

Q. Prepare Java 8, 11 Programs on Java 8 and 11 Multithreading Collection Design patterns Solid principles Spring MVC and boot Rest API
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

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

Q. Describe a problem statement where you used Azure/Azure Functions to solve it.
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

Q. Design an Employee-Manager class. Write a method to display the employee organizational hierarchy like we see in Microsoft Teams Org tab.
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

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

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

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

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

Q. How the screenshot is taken and what is the use of it
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
Asked in Functionize Software

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

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

Q. What do you know about APIs? Please differentiate between REST and SOAP APIs.
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

Asked in OpenText Technologies

Q. What is an abstract class, and why is it necessary to use an abstract class when interfaces already exist?
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

Asked in Wissen Technology

Q. Write a JavaScript function that returns the letter with the maximum and minimum occurrences in a string.
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

Asked in Acqueon Technologies

Q. Have you implemented any service on the cloud, and how would it interact with an application in a physical VM?
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

Q. What is VPC in cloud? Can you explain the concept to Layman?
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

Q. How can we establish the connection between a View and a ViewModel?
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

Asked in FedEx Express

Q. In a situation where your team is not getting a proper result with the existing approach, how would you try to fix it?
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
Asked in Infinity Tech Resources

Q. What is an easy way to deploy static web applications on a cloud service using GitHub?
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

Q. What is the difference between an ArrayList and a LinkedList?
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

Q. Design MakeMyTrip. How does MakeMyTrip block a seat for 15 minutes even if the payment does not go through?
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

Q. In a try{...}finally{...} block, what happens if an exception is thrown from the try block?
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
Interview Questions of Similar Designations
Interview Experiences of Popular Companies





Top Interview Questions for Senior Software Engineer Related Skills



Reviews
Interviews
Salaries
Users

