Senior Software Engineer
3500+ Senior Software Engineer Interview Questions and Answers
Q101. What is the difference between List and Tuple?
List is mutable and Tuple is immutable in Python.
List can be modified after creation while Tuple cannot be modified.
List uses square brackets [] while Tuple uses parentheses ().
List is used for homogenous data while Tuple is used for heterogenous data.
List is slower than Tuple in terms of performance.
Example of List: [1, 2, 3] and Example of Tuple: (1, 'hello', 3.14)
1) Given an employee table retrieve eids from the table who have signed in after 10.30 consecutively for 5 days.
2) How to take backup of table in MYSQL?
3) Explain ACID properties in DBMS.
4) What i...read more
Q103. How to switch between Tabs in a browser using selenium
To switch between tabs in a browser using Selenium, we can use the getWindowHandles() method and switchTo() method.
Use getWindowHandles() method to get the handles of all open tabs
Store the handles in a Set
Use switchTo() method to switch to a specific tab by passing the handle as an argument
Differentiate between the Thread class and Runnable interface for creating a Thread?
How would you differentiate between a String, StringBuffer, and a StringBuilder?
What will be the output of V in the following program?
int v=2;
v += v++;
Share interview questions and help millions of jobseekers 🌟
What Are the Basic Annotations that Spring Boot Offers?
Q108. What are the different sizes available for a virtual warehouse in Snowflake, and which sizes are currently being utilized in your current project?
Snowflake offers virtual warehouses in various sizes for different computing needs.
Sizes available for virtual warehouses in Snowflake include X-Small, Small, Medium, Large, X-Large, 2X-Large, and 4X-Large.
The size utilized in the current project depends on the specific computing requirements and workload demands.
For example, a Small virtual warehouse may be sufficient for basic data processing tasks, while a 4X-Large warehouse may be needed for complex analytics or large-sca...read more
Senior Software Engineer Jobs
Q109. How do you find the code performance issue in the code deployed in production?
To find code performance issues in production, use monitoring tools and profiling techniques.
Use monitoring tools like New Relic, AppDynamics, or Datadog to track performance metrics and identify bottlenecks.
Use profiling techniques like CPU profiling, memory profiling, and network profiling to pinpoint specific areas of the code that are causing performance issues.
Analyze logs and error messages to identify patterns and potential performance issues.
Perform load testing and s...read more
What is a base class?
Q111. Can you write a program to show the percentage of completion while file is uploading to server?
Yes
Use AJAX or WebSocket to send file data to the server
Track the progress of the file upload using the 'progress' event
Calculate the percentage of completion based on the total file size and the amount uploaded
What are the different types of data marts in the context of data warehousing?
Q113. (HLD) -> Design a service which combines multiple sources of data/documentation and aggregates it such that all info is available centrally.
Design a service to aggregate multiple sources of data/documentation centrally.
Identify sources of data/documentation
Determine data aggregation method
Design a centralized database to store aggregated data
Develop a user-friendly interface to access the data
Ensure data security and privacy
Differentiate between HashSet and TreeSet. When would you prefer TreeSet to HashSet?
What happens if the static modifier is not included in the main method signature in Java?
What is the start() and run() method of Thread class?
The start() method is used to start a new thread and execute the run() method.
The start() method creates a new thread and calls the run() method.
The run() method contains the code that will be executed in the new thread.
Calling the run() method directly will not create a new thread.
The start() method should be called to start the execution of the new thread.
1) What is thrashing and what are its causes?
2) Recovery of thrashing?
3) What is contiguous space allocation method?
4) Explain external fragmentation.
5) Difference between serial and ...read more
Q118. Difference between asp .net Vs asp .net MVC? Explain benefits of MVC?
ASP.NET is a web development framework while ASP.NET MVC is a design pattern for building web applications.
ASP.NET is a web development framework that follows a Web Forms model, where the UI and logic are tightly coupled.
ASP.NET MVC is a design pattern that separates the UI and logic, providing better maintainability and testability.
MVC allows for more control over the HTML, CSS, and JavaScript, making it easier to create responsive and interactive web applications.
ASP.NET MV...read more
Q119. An unsorted array has numbers. Find the duplicate numbers and return the array.
Find duplicate numbers in an unsorted array and return the array.
Iterate through the array and keep track of seen numbers using a hash table.
If a number is already in the hash table, it is a duplicate.
Add the duplicate number to a new array and return it.
Q120. Difference between abstract and interface and how to use in your projects?
Abstract classes are classes that cannot be instantiated and can have both abstract and non-abstract methods. Interfaces are contracts that define the methods that a class must implement.
Abstract classes can have constructors while interfaces cannot
A class can implement multiple interfaces but can only inherit from one abstract class
Abstract classes can have instance variables while interfaces cannot
Interfaces can have default methods while abstract classes cannot
Abstract cla...read more
Q121. Efficient Program to identify if a string is palindrome, program to identify missing number from sequential numbers, design patterns, disposable pattern, .net framework, website traffic handling, basic concepts...
read moreInterview question for Senior Software Engineer covering various topics.
Palindrome program using string reversal or iteration
Missing number program using arithmetic formula or iteration
Disposable pattern for managing resources
ASP.NET MVC basics including routing and controllers
SQL Server query optimization techniques
Scrum methodology and its ceremonies
How to achieve multitasking in Java ?
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.
Q123. what is difference between controller and rest controller?
A controller is a component that handles incoming requests and returns a response, while a REST controller specifically handles RESTful requests.
A controller is responsible for handling various types of requests, such as HTTP, WebSocket, etc.
A REST controller is a type of controller that specifically handles RESTful requests, which follow the principles of Representational State Transfer (REST).
REST controllers typically use annotations like @RestController and @RequestMappin...read more
Q124. why string in c# is immutable how can we resolve it?
Strings in C# are immutable to ensure data integrity and thread safety.
Immutable strings prevent accidental data modification, ensuring data integrity.
To resolve immutability, use StringBuilder class for mutable string operations.
Example: StringBuilder sb = new StringBuilder("Hello"); sb.Append(" World");
Q125. Tell me in detail step by step process for registering XML Publisher Report
The process for registering XML Publisher Report
Create a data model for the report
Create a template for the report using RTF or XSL-FO
Upload the template to the server
Create a report definition using the data model and template
Register the report definition with the XML Publisher server
How does Index hunting help in improving query performance?
What is a singleton design pattern?
What is event bubbling? How to stop it?
Forward refs in React?
Pseudo elements in CSS?
Local and session storage capacity?
Q129. Write program to count frequencyOfChars(String inputStr) ex. abbcddda a:2 b:2 c:1 d:3 Write program to isPowerOf3(int n) ex. 3->true 27->true 30->false Write SQL query of Emp (emp_id, name) Country Sal (emp_id,...
read morePrograms to count frequency of characters in a string, check if a number is power of 3, and SQL query to get highest salary employees by country.
For frequencyOfChars, use a HashMap to store character counts and iterate through the string.
For isPowerOf3, keep dividing the number by 3 until it becomes 1 or not divisible by 3.
For SQL query, use a subquery to get max salary for each country and join with Emp table.
Example SQL query: SELECT e1.* FROM Emp e1 JOIN (SELECT Country, M...read more
Q130. in Angular what is services and how to call service api, and how bind our data with in component.
Services in Angular are singleton objects that provide functionality to components. They can be called using dependency injection.
Services are used to share data and functionality across multiple components
They can be created using the 'ng generate service' command
Services can be injected into components using the constructor
To call a service API, use Angular's HttpClient module
Data can be bound to components using property binding or two-way binding
Q131. why java is preferred? whats the benefit of functional programming and why introduced in java. what are wrapper classes, fibonaaci series , whats the use of join? what is threadinterrupted exception ? how hashm...
read moreAnswers to various technical questions related to Java programming.
Java is preferred for its platform independence, object-oriented nature, and vast community support.
Functional programming in Java allows for more concise and readable code, and better support for parallel processing.
Wrapper classes are used to convert primitive data types into objects, and vice versa.
Fibonacci series is a sequence of numbers where each number is the sum of the two preceding ones.
Join is a met...read more
What Is the Difference Between the Runnable and Callable Interfaces? How Are They Used?
Q133. What is current project and what is tech stack used in it?
I am currently working on a web application for a retail company using React, Node.js, and MongoDB.
Developing a responsive UI using React and Redux
Implementing server-side logic using Node.js and Express
Storing and retrieving data using MongoDB
Integrating third-party APIs for payment processing and shipping
Writing automated tests using Jest and Enzyme
Q134. Write a Program to find a second max in the give list? and Time Complexity
Program to find second max in a list and its time complexity
Sort the list in descending order and return the second element
Traverse the list and keep track of the maximum and second maximum elements
Time complexity: O(n)
Q135. Are exceptions can be written in a catch block seperated by commas,?
Yes, multiple exceptions can be caught in a single catch block separated by commas.
Multiple exceptions can be caught in a single catch block separated by commas.
This can be useful when handling different types of exceptions in a similar way.
For example: catch (IOException | SQLException ex) { // handle exception }
What are the different types of severity you can assign to a bug?
Q137. How can you implement the lifecycle of a React component in a functional component?
Implementing the lifecycle of a React component in a functional component
Use the useEffect hook to replicate lifecycle methods like componentDidMount, componentDidUpdate, and componentWillUnmount
Pass an empty array as the second argument to useEffect to mimic componentDidMount
Pass a variable or state as the second argument to useEffect to mimic componentDidUpdate
Return a cleanup function inside useEffect to mimic componentWillUnmount
Q138. How can you use CSS to arrange elements in a row and column layout?
CSS can be used to arrange elements in a row and column layout using flexbox or grid layout properties.
Use display: flex; for a row layout and display: flex; flex-direction: column; for a column layout
Use justify-content and align-items properties to align items in the main axis and cross axis respectively
For grid layout, use display: grid; and grid-template-columns or grid-template-rows to define the layout
Q139. What are the differences between shallow copy and deep copy in JavaScript?
Shallow copy only copies the references of nested objects, while deep copy creates new copies of nested objects.
Shallow copy creates a new object but does not create copies of nested objects, only copies their references.
Deep copy creates a new object and also creates new copies of all nested objects.
Shallow copy can be achieved using Object.assign() or spread operator, while deep copy can be achieved using JSON.parse(JSON.stringify()).
Q140. What are the various methods for creating an object in JavaScript?
Various methods for creating an object in JavaScript include object literals, constructor functions, ES6 classes, and Object.create() method.
Object literals: var obj = { key: value };
Constructor functions: function ObjectName() { this.key = value; } var obj = new ObjectName();
ES6 classes: class ClassName { constructor() { this.key = value; } } var obj = new ClassName();
Object.create() method: var obj = Object.create(proto);
Q141. What is the architecture of Redux, and what purposes do middlewares serve within it?
Redux is a predictable state container for JavaScript apps. Middlewares are functions that intercept actions before they reach the reducer.
Redux follows a unidirectional data flow architecture.
Middlewares in Redux are functions that can intercept, modify, or dispatch actions.
Common use cases for middlewares include logging, asynchronous API calls, and handling side effects.
Examples of popular Redux middlewares are Redux Thunk for async actions and Redux Logger for logging act...read more
Q142. What is the difference between class-based components and functional components in React?
Class-based components use ES6 classes and have lifecycle methods, while functional components are simpler and use functions.
Class-based components use ES6 classes to create components, while functional components are created using functions.
Class-based components have lifecycle methods like componentDidMount and componentDidUpdate, while functional components do not.
Functional components are simpler and more lightweight compared to class-based components.
With the introductio...read more
Q143. What are the addon that can be added with spring boot ? What is the spring boot ? What are the ways of configuring a bean in spring? And core java realted stuff.
Answering questions related to Spring Boot and core Java
Spring Boot addons include Spring Security, Spring Data, and Spring Cloud
Spring Boot is a framework for building standalone, production-grade Spring-based applications
Ways of configuring a bean in Spring include XML configuration, Java-based configuration, and annotation-based configuration
Core Java topics include OOP concepts, collections, multithreading, and exception handling
Q144. In SQL, we have a table casting, which maps actor_id with movie_id. Find the pair of actors, who acted together for the most time. if you have multiple combos, you can return any of them.
Find the pair of actors who acted together for the most time in a SQL table.
Join the casting table with itself on movie_id to get pairs of actors who acted together.
Calculate the total time they acted together by summing the durations of their movies.
Order the results by total time and return the pair with the highest duration.
Q145. What is Hibernate and why we are going for hibernate technology?
Hibernate is an ORM tool used to map Java objects to database tables.
Hibernate simplifies database access by abstracting the JDBC API
It provides a framework for mapping an object-oriented domain model to a relational database
Hibernate supports lazy loading, caching, and transaction management
It reduces the amount of boilerplate code needed for database operations
Hibernate is widely used in enterprise Java applications
Q146. How will you troubleshoot 500 internal server error
Check server logs, review code, test endpoints, and verify database connections.
Check server logs for error messages
Review code for syntax errors or logical mistakes
Test endpoints using tools like Postman or cURL
Verify database connections and credentials
Check for any recent changes or updates
Consider scaling issues or server overload
Consult with team members or experts if necessary
Q147. There are 1 lakh records on an employee table. How do we can optimize the below query? SELECT * FROM dbo.Employees WHERE City="Chennai"
Optimizing query to fetch records from employee table based on city
Create an index on the City column
Use a WHERE clause with an index hint
Use a stored procedure to cache the query results
Use a materialized view to precompute the query results
Q148. What would be your suggestion for implementation in azure data factory v2?
My suggestion for implementation in Azure Data Factory v2 is to use the Mapping Data Flow feature.
Utilize Mapping Data Flow for complex data transformations
Take advantage of the visual interface to design and debug data flows
Leverage the built-in data integration capabilities with other Azure services
Use data flow parameters and expressions for dynamic transformations
Monitor and optimize data flow performance using data flow debug and profiling
Q149. Suppose you have a CSV file and you want to convert this to an Apache file and load this to S3 bucket. How you will do it?
To convert a CSV file to an Apache file and load it to an S3 bucket, use Apache NiFi for data transformation and AWS SDK for S3 upload.
Use Apache NiFi to read the CSV file, transform it into Apache format, and write it to a local directory.
Configure an Apache NiFi processor to upload the transformed file to an S3 bucket using AWS SDK.
Set up appropriate permissions and credentials for the S3 bucket access.
Monitor the Apache NiFi flow for successful file conversion and upload t...read more
Q150. What is spring and spring boot ? difference between them. What is single important spring boot dependency that make any spring project a spring boot app?
Spring is a Java framework for building web applications. Spring Boot is a tool that simplifies the process of creating Spring-based applications.
Spring is a popular Java framework that provides a wide range of features for building web applications.
Spring Boot is a tool that makes it easier to create Spring-based applications by providing a set of pre-configured defaults.
The main difference between Spring and Spring Boot is that Spring requires a lot of configuration, while ...read more
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