Senior Software Engineer
3500+ Senior Software Engineer Interview Questions and Answers
Q701. Difference between with sharing, without sharing and inherited sharing.
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?
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
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
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.
Q705. What are profiles in spring boot?
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?
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 🌟
Q707. How do you make sure a throttling system process dropped messages from a slow downstream service?
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?
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
Q709. Tell Me About One Thing You Created & Give Detailed Execution Process
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?
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?
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
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?
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
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
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
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
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
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
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.
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
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
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
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.
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 ?
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?
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?
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?
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?
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.
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?
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?
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
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 ?
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
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?
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?
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 ?
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 ?
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?
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?
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?
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?
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?
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?
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
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
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
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?
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
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
Interview Questions of Similar Designations
Top Interview Questions for Senior Software Engineer Related Skills
Interview experiences of popular companies
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/Month