Senior Software Engineer

3500+ Senior Software Engineer Interview Questions and Answers

Updated 15 Feb 2025

Q701. Difference between with sharing, without sharing and inherited sharing.

Ans.

with sharing enforces sharing rules, without sharing doesn't enforce sharing rules, inherited sharing uses the sharing rules of the parent class

  • with sharing keyword enforces sharing rules specified in the organization-wide defaults

  • without sharing keyword doesn't enforce sharing rules, allowing access to all records

  • inherited sharing keyword uses the sharing rules of the parent class

Q702. Project flow? and how do you handle the Exceptions in current project?

Ans.

Project flow involves understanding the sequence of tasks in a project. Exceptions are handled using try-catch blocks.

  • Project flow involves defining the sequence of tasks from start to finish.

  • Exceptions are handled using try-catch blocks to catch and handle errors gracefully.

  • Logging and alerting mechanisms are implemented to track and notify about exceptions.

  • Unit tests are written to cover different scenarios and ensure proper exception handling.

  • Regular code reviews and debug...read more

Q703. Difference between RestController and Controller annotations

Ans.

RestController is used for RESTful web services while Controller is used for general web requests.

  • RestController is a specialization of Controller annotation in Spring framework.

  • RestController is used to create RESTful web services that return JSON or XML data.

  • Controller is used for handling general web requests and returning views (HTML).

  • RestController is typically used for APIs while Controller is used for traditional web applications.

Q704. How to create singleton ensuring reflection does not mess up the implementation

Ans.

To create a singleton ensuring reflection does not mess up the implementation, use an enum or a private constructor with a static field.

  • Use an enum to create a singleton as enums are inherently singletons and cannot be instantiated multiple times.

  • Alternatively, use a private constructor with a static field to create a singleton.

  • To prevent reflection from creating multiple instances, throw an exception in the constructor if an instance already exists.

Are these interview questions helpful?

Q705. What are profiles in spring boot?

Ans.

Profiles in Spring Boot allow you to define different configurations for different environments.

  • Profiles are used to customize application behavior based on the environment it is running in.

  • You can define profiles in application.properties or application.yml using 'spring.profiles.active' property.

  • Common profiles include 'dev', 'test', and 'prod' for development, testing, and production environments.

  • You can have different configuration values for each profile, such as databas...read more

Q706. What is the internal implementation of Hashing and what is collision?

Ans.

Hashing is a technique used to map data to a fixed-size array, collision occurs when two different inputs produce the same hash value.

  • Hashing involves using a hash function to map data to a fixed-size array.

  • Collision happens when two different inputs produce the same hash value.

  • Common techniques to handle collisions include chaining and open addressing.

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q707. How do you make sure a throttling system process dropped messages from a slow downstream service?

Ans.

Implement a throttling system to handle dropped messages from a slow downstream service.

  • Implement a queue to store messages from the downstream service.

  • Set a maximum queue size and drop messages when the queue is full.

  • Use a timestamp to track when messages were received and process them in order.

  • Implement a retry mechanism to reprocess dropped messages after a certain time.

  • Monitor the queue size and processing speed to adjust throttling parameters as needed.

Q708. What if your application is down for 1 hour in one site in prod?

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

Senior Software Engineer Jobs

Senior Software Engineer 8-13 years
Ericsson India Global Services Pvt. Ltd.
4.1
Chennai
Senior Software Engineer 8-13 years
Uber
4.2
Bangalore / Bengaluru
Senior Software Engineer 8-13 years
CATERPILLAR INDIA PRIVATE LTD
4.3
Chennai

Q709. Tell Me About One Thing You Created & Give Detailed Execution Process

Ans.

Developed a web-based project management tool for tracking tasks and deadlines

  • Researched project management best practices and user needs

  • Designed user interface wireframes and database schema

  • Implemented front-end using React and back-end using Node.js

  • Integrated authentication and authorization features for secure access

  • Tested functionality and gathered feedback for iterative improvements

Q710. Bug defect tools and what you use in current company?

Ans.

We use Jira for bug tracking and defect management in my current company.

  • Jira is a popular bug tracking tool used for issue tracking and project management.

  • It allows teams to prioritize, assign, track, and report on issues.

  • Jira integrates with other tools like Confluence for better collaboration.

  • Other bug defect tools include Bugzilla, Mantis, and Trello.

Q711. How to maintain session in .Net MVC?

Ans.

Session can be maintained in .Net MVC using various methods.

  • Session can be maintained using InProc, StateServer, SQLServer or Custom mode.

  • InProc mode stores session data in the application's memory.

  • StateServer mode stores session data in a separate process called ASP.NET State Service.

  • SQLServer mode stores session data in a SQL Server database.

  • Custom mode allows developers to create their own session state provider.

  • Session can be accessed using HttpContext.Current.Session obj...read more

Q712. What is difference between mocking and stubbing

Ans.

Mocking is creating a fake object with predefined behavior, while stubbing is providing a predefined response to a method call.

  • Mocking is used for testing behavior, while stubbing is used for testing state.

  • Mocking is more complex and involves creating a complete fake object, while stubbing is simpler and only involves providing a predefined response.

  • Mocking is used to test interactions between objects, while stubbing is used to test individual methods.

  • Example of mocking: crea...read more

Q713. What is distributed architecture and disconnected architecture?

Ans.

Distributed architecture is a system where components are spread across multiple computers. Disconnected architecture is a system where components can operate independently without a constant connection.

  • Distributed architecture involves multiple computers working together to achieve a common goal.

  • Disconnected architecture allows components to operate independently without a constant connection to a central system.

  • Distributed architecture can improve scalability and fault tole...read more

Q714. When a number is represented in LinkedList, how do we add 2 numbers

Ans.

To add two numbers represented as linked lists, iterate through both lists simultaneously, adding corresponding digits and carrying over the carry value.

  • Create a new linked list to store the result.

  • Initialize a carry variable to 0.

  • Iterate through both linked lists simultaneously, adding the corresponding digits and the carry value.

  • If the sum of the digits is greater than 9, update the carry value and store the remainder in the result list.

  • Move to the next nodes in both lists....read more

Q715. 1) Making an api using node & express js 2) Showing data in ui from a server using React Hooks 3) College & School database - system design 4) Service worker

Ans.

The interview question covers topics like Node.js, Express.js, React Hooks, system design, and service workers.

  • Create an API using Node.js and Express.js

  • Use React Hooks to display data from the server in the UI

  • Design a system for a college and school database

  • Implement a service worker for offline functionality

Q716. 19. For taking Wireshark logs which command we use

Ans.

The command used for taking Wireshark logs is 'tcpdump'.

  • Wireshark is a network protocol analyzer tool

  • Tcpdump is a command-line tool used to capture network traffic

  • Tcpdump can be used to capture packets and save them as a file for analysis in Wireshark

  • Example command: tcpdump -i eth0 -w capture.pcap

Q717. Can layers and explain each layers functionality, CAN frames , CAN errors

Ans.

CAN (Controller Area Network) has multiple layers including physical, data link, network, transport, and application layers. Each layer has specific functionality.

  • Physical layer: Handles the transmission of bits over the physical medium.

  • Data link layer: Manages the transmission of data frames between nodes.

  • Network layer: Controls the flow of data between nodes on the network.

  • Transport layer: Ensures reliable data transfer between nodes.

  • Application layer: Provides interfaces f...read more

Q718. Coding Challenge (JS) - determine if words in given array are anagram or not

Ans.

Determines if words in given array are anagram or not using JS

  • Create a function that takes an array of strings as input

  • Loop through the array and sort each string alphabetically

  • Compare the sorted strings to check if they are equal

  • Return true if all strings are anagrams, else false

Q719. difference between lambda expression and method reference

Ans.

Lambda expression is an anonymous function while method reference refers to an existing method

  • Lambda expression is used to create an instance of a functional interface

  • Method reference is used to refer to an existing method of a class or object

  • Lambda expression uses the arrow operator (->) to separate the parameters and the body

  • Method reference uses the double colon (::) operator to separate the class or object and the method name

Q720. Difference between PK & UK, Case & Decode, Procedure & Function, Cursor & Refcursor.

Ans.

Explanation of differences between PK & UK, Case & Decode, Procedure & Function, Cursor & Refcursor.

  • PK (Primary Key) is a unique identifier for a record in a table, while UK (Unique Key) ensures uniqueness but allows null values.

  • Case and Decode are conditional statements used to manipulate data based on certain conditions.

  • Procedure and Function are both database objects used to perform a specific task, but Function returns a value while Procedure does not.

  • Cursor and Refcursor...read more

Q721. Find 2highest salary mysql query, abstract and interfaces

Ans.

MySQL query to find 2 highest salaries and explanation of abstract and interfaces

  • Use ORDER BY and LIMIT to get the top 2 salaries

  • Abstract classes cannot be instantiated and can have both abstract and non-abstract methods

  • Interfaces define a set of methods that a class must implement

  • Example: SELECT salary FROM employees ORDER BY salary DESC LIMIT 2

  • Example: abstract class Animal { abstract void makeSound(); }

  • Example: interface Vehicle { void start(); void stop(); }

Q722. how to call 1 webservice to another webservices

Ans.

To call one webservice from another, use the endpoint URL and pass required parameters.

  • Identify the endpoint URL of the webservice to be called

  • Pass the required parameters to the endpoint URL

  • Handle the response from the webservice

  • Ensure proper error handling and logging

Q723. Major differences between spring and spring boot

Ans.

Spring is a framework for building Java applications, while Spring Boot is an extension that simplifies the setup and development process.

  • Spring is a comprehensive framework that provides various modules for different functionalities like Spring MVC, Spring Security, etc.

  • Spring Boot is an opinionated framework that simplifies the setup and development process by providing defaults for configuration.

  • Spring Boot includes embedded servers like Tomcat, Jetty, or Undertow, making ...read more

Q724. Tell me how you'd configure your whole environment when configuring a project from scratch.

Ans.

To configure the environment for a project from scratch, follow these steps:

  • Install necessary software and tools

  • Set up version control system

  • Create project directory structure

  • Configure build and deployment processes

  • Set up development, staging, and production environments

  • Configure database and data storage

  • Set up testing frameworks and tools

  • Configure logging and monitoring

  • Establish security measures

  • Document the configuration process

Q725. Test Artefacts - Is documentation important and why ?

Ans.

Documentation is important for test artefacts to ensure traceability, repeatability, and knowledge transfer.

  • Documentation helps to ensure that tests can be traced back to their original requirements and objectives.

  • It also enables tests to be repeated consistently, reducing the risk of errors and increasing confidence in the results.

  • Documentation also facilitates knowledge transfer between team members, ensuring that everyone has a clear understanding of the tests and their pu...read more

Q726. What do know about procurement module for fixed assets?

Ans.

Procurement module for fixed assets is a software component that manages the acquisition of assets for an organization.

  • It helps in creating purchase orders for fixed assets

  • It tracks the delivery and installation of assets

  • It maintains a record of asset details such as location, warranty, and maintenance history

  • It generates reports on asset utilization and depreciation

  • It integrates with accounting software for asset valuation and financial reporting

Q727. What is aingleton and how it ia thread safe?

Ans.

Singleton is a design pattern that restricts the instantiation of a class to one object and provides a global point of access.

  • Singleton ensures that only one instance of a class is created and provides a way to access it globally.

  • It is thread-safe because the instance is created only once and accessed through a synchronized method or block.

  • Singleton can be implemented using different approaches such as eager initialization, lazy initialization, and enum.

  • Example: Java's Runtim...read more

Q728. What is collection in java and Arrays explain?

Ans.

Collection is a framework in Java that provides an architecture to store and manipulate a group of objects.

  • Arrays are a fixed-size collection of elements of the same data type.

  • Collections are dynamic and can grow or shrink in size.

  • Arrays use square brackets to declare and initialize, while collections use classes like ArrayList or LinkedList.

  • Collections provide many useful methods like add(), remove(), and size().

Q729. What is dependency injection and how to use?

Ans.

Dependency injection is a design pattern that allows objects to receive dependencies rather than creating them internally.

  • Dependency injection is used to decouple components and improve code maintainability.

  • It involves injecting dependencies into a class through its constructor, method, or property.

  • There are three types of dependency injection: constructor injection, setter injection, and interface injection.

  • Frameworks like Spring and Angular provide built-in support for depe...read more

Q730. What is Event Loop and give an example on how it works.

Ans.

Event Loop is a mechanism that allows JavaScript to handle multiple tasks simultaneously.

  • Event Loop is a part of JavaScript runtime that continuously checks the call stack and the task queue.

  • It prioritizes the tasks in the queue and pushes them to the call stack when it's empty.

  • This allows JavaScript to handle I/O operations and other asynchronous tasks without blocking the main thread.

  • Example: setTimeout() function adds a task to the task queue and the Event Loop schedules i...read more

Q731. What is Is Relationship and As Relationship in oops?

Ans.

Is Relationship and As Relationship are two types of relationships in object-oriented programming.

  • Is Relationship is a type of relationship where one class is a subset of another class.

  • As Relationship is a type of relationship where one class is a type of another class.

  • Is Relationship is denoted by a solid line with a closed arrowhead pointing towards the superclass.

  • As Relationship is denoted by a dotted line with an open arrowhead pointing towards the superclass.

  • Example of I...read more

Q732. What is OOP's and Explain OOP's features?

Ans.

OOP stands for Object-Oriented Programming. It is a programming paradigm that uses objects to represent and manipulate data.

  • OOP focuses on creating reusable code through the use of classes and objects.

  • It emphasizes encapsulation, inheritance, and polymorphism.

  • Encapsulation refers to the practice of hiding the internal workings of an object from the outside world.

  • Inheritance allows classes to inherit properties and methods from other classes.

  • Polymorphism allows objects to take...read more

Q733. What is the agreement between hashcode and equals menthod

Ans.

Hashcode and equals method are related to object comparison in Java.

  • Hashcode is used to identify the object and equals method is used to compare two objects.

  • If two objects are equal, their hashcode values must be the same.

  • If two objects have the same hashcode value, it doesn't necessarily mean that they are equal.

  • It is recommended to override both hashcode and equals method when creating custom classes.

Q734. What is the difference between mvc and asp.net ?

Ans.

ASP.NET is a web application framework while MVC is a design pattern used in web application development.

  • ASP.NET is a framework for building web applications while MVC is a design pattern used in web application development.

  • ASP.NET provides a set of libraries and tools for building web applications while MVC provides a structure for organizing code.

  • ASP.NET uses Web Forms for building web applications while MVC uses controllers, models, and views.

  • ASP.NET is a complete framewor...read more

Q735. Why this package? Is it negotiable

Ans.

This package was chosen for its comprehensive features and compatibility with our existing systems.

  • The package offers a wide range of functionalities that meet our requirements.

  • It integrates seamlessly with our current software infrastructure.

  • We have evaluated other options, but this package stood out as the best fit for our needs.

Q736. How to handle million of data which need to be save in the DB?

Ans.

Use efficient database design, indexing, partitioning, and caching to handle large amounts of data.

  • Optimize database schema for efficient storage and retrieval.

  • Implement indexing on frequently queried columns to speed up search operations.

  • Partition data to distribute load across multiple servers or disks.

  • Utilize caching mechanisms like Redis or Memcached to reduce database load.

  • Consider using sharding to horizontally scale the database.

  • Implement data archiving and purging str...read more

Q737. What is hoisting in JavaScript?

Ans.

Hoisting in JavaScript is the behavior where variable and function declarations are moved to the top of their containing scope during the compilation phase.

  • Variable declarations are hoisted to the top of their scope, but not their initializations.

  • Function declarations are fully hoisted, meaning they can be called before they are declared.

  • Hoisting can lead to unexpected behavior if not understood properly.

Q738. WHAT IS LAZY LOADING ? HOW CAN WE CALL HTTP REQUESTS FROM ONE COMPONENT TO ANOTHER COMPONENT ?

Ans.

Lazy loading is a technique to defer loading of non-critical resources until they are needed.

  • Lazy loading improves page load time and performance.

  • It is commonly used for images, videos, and other media files.

  • To call HTTP requests from one component to another, we can use Angular's HttpClient service.

  • We can inject the HttpClient service in the constructor of the component and use its methods to make HTTP requests.

  • We can also use Angular's @Input and @Output decorators to pass ...read more

Q739. What is NR ? What is the difference between 4G and 5G ?

Ans.

NR is the 5G wireless standard. 5G is faster, has lower latency, and can support more devices than 4G.

  • NR stands for New Radio and is the wireless standard for 5G networks.

  • 5G is faster than 4G, with speeds up to 20 Gbps compared to 1 Gbps for 4G.

  • 5G has lower latency than 4G, meaning there is less delay in data transmission.

  • 5G can support more devices than 4G, making it better suited for the Internet of Things (IoT).

Q740. How to select event rows from the table using sql query?

Ans.

To select event rows from a table using SQL query, use the SELECT statement with appropriate conditions.

  • Use the SELECT statement to specify the columns you want to retrieve from the table.

  • Use the FROM clause to specify the table from which you want to retrieve the rows.

  • Use the WHERE clause to specify the conditions that the rows must meet to be selected.

  • Example: SELECT * FROM events WHERE event_type = 'concert';

Q741. What is Angular component life cycle? What are the hooks provided by Angular framework?

Ans.

Angular component life cycle includes various hooks provided by Angular framework for managing component initialization, change detection, and destruction.

  • ngOnChanges: Called when input properties of a component change

  • ngOnInit: Called once when the component is initialized

  • ngDoCheck: Called during every change detection run

  • ngAfterContentInit: Called after content (ng-content) has been projected into the component

  • ngAfterContentChecked: Called after every check of the projected ...read more

Q742. What is box model in CSS? How to create responsive websites and web applications?

Ans.

The box model in CSS defines the design and layout of elements on a webpage.

  • The box model consists of content, padding, border, and margin.

  • Content is the actual content of the element, padding is the space between the content and the border, border is the border around the element, and margin is the space outside the border.

  • To create responsive websites and web applications, use media queries to adjust styles based on screen size, use flexible units like percentages or ems, a...read more

Q743. What latest version of php contains and what it does better than earlier versions?

Ans.

PHP 7.4 is the latest version which includes features like typed properties, arrow functions, and preloading for better performance.

  • PHP 7.4 includes typed properties for better code quality and readability.

  • Arrow functions provide a more concise syntax for defining anonymous functions.

  • Preloading allows certain classes and functions to be loaded into memory before execution, improving performance.

  • PHP 7.4 also introduces improvements in error handling and performance optimizatio...read more

Q744. What methodology are you aware of? Agile/waterfall? What softwares have you worked on?

Ans.

I am aware of both Agile and Waterfall methodologies. I have worked on various software projects.

  • I have experience working with Agile methodology, including Scrum and Kanban.

  • I am also familiar with Waterfall methodology and have worked on projects following this approach.

  • Some of the software I have worked on includes a CRM system for a healthcare company and a mobile app for a retail company.

  • I have also worked on a web-based project management tool and a financial reporting s...read more

Q745. What is the difference between the keywords final, finally, and finalize in programming?

Ans.

final is a keyword used to declare constants, finally is used in exception handling, and finalize is a method used for cleanup.

  • final is used to declare constants in Java, preventing them from being modified

  • finally is used in exception handling to define a block of code that will always be executed

  • finalize is a method in Java that is called by the garbage collector before an object is destroyed

Q746. What kind of problems and projects do you like?Is it DSA or product based

Ans.

I enjoy working on product-based projects that involve complex problem-solving using DSA.

  • I prefer projects that have a clear end goal and tangible impact on users

  • I enjoy working on projects that require me to think outside the box and come up with creative solutions

  • I am comfortable working with DSA and enjoy using them to optimize code and improve performance

  • Examples of projects I have enjoyed working on include developing a recommendation engine for an e-commerce platform an...read more

Q747. 1)What is the props and state 2)what is react 3) what is HoC 4)What is redux 5)class and functional component 6) map,for,forEach,await, 7)reducer 8)all Hooks

Ans.

A set of questions related to software engineering concepts and technologies.

  • Props and state are used in React to manage and pass data between components.

  • React is a JavaScript library used for building user interfaces.

  • Higher-Order Components (HoC) are functions that take a component and return an enhanced version of it.

  • Redux is a predictable state container for JavaScript apps, commonly used with React.

  • Class components and functional components are two ways to define componen...read more

Q748. Difference between stored procedure and functions

Ans.

Stored procedures are used to perform a set of actions, while functions return a single value.

  • Stored procedures can modify data in the database, while functions cannot.

  • Functions can be used in SQL statements, while stored procedures cannot.

  • Stored procedures can have input and output parameters, while functions can only have input parameters.

  • Functions can be called from within stored procedures, but stored procedures cannot be called from within functions.

Q749. Importance of container orchestration tools in large complex systems?

Ans.

Container orchestration tools are crucial for managing the deployment, scaling, and monitoring of large complex systems.

  • Container orchestration tools help automate the deployment and scaling of containerized applications, making it easier to manage large complex systems.

  • They provide features like service discovery, load balancing, health checks, and auto-scaling, which are essential for ensuring high availability and performance.

  • Popular container orchestration tools include K...read more

Q750. Sort employees stream based on salary and department

Ans.

Sort employees by salary and department

  • Create a comparator function to compare salary and department

  • Use the comparator function with the sort() method on the employee stream

  • Return the sorted employee stream

Previous
12
13
14
15
16
17
18
Next
Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories

Interview experiences of popular companies

3.7
 • 10.5k Interviews
3.8
 • 8.2k Interviews
3.6
 • 7.6k Interviews
3.7
 • 5.6k Interviews
3.7
 • 4.8k Interviews
3.5
 • 3.8k Interviews
3.5
 • 3.8k Interviews
3.8
 • 3k Interviews
3.4
 • 806 Interviews
3.7
 • 537 Interviews
View all

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
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

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

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter