Senior Software Engineer

4500+ Senior Software Engineer Interview Questions and Answers

Updated 16 Jul 2025
search-icon
2d ago

Q. What is the difference between JIT and AOT compilers in Angular?

Ans.

JIT compiles code at runtime while AOT compiles code during build time.

  • JIT stands for Just-In-Time compilation and compiles code at runtime.

  • AOT stands for Ahead-Of-Time compilation and compiles code during build time.

  • JIT is used in development mode while AOT is used in production mode.

  • JIT compiles templates and components on the fly while AOT compiles them before runtime.

  • AOT generates smaller and faster code compared to JIT.

2w ago

Q. What is the difference between Multithreading and Multiprocessing?

Ans.

Multithreading is the execution of multiple threads of a single process, while multiprocessing is the execution of multiple processes.

  • Multithreading involves multiple threads within a single process, while multiprocessing involves multiple processes.

  • Multithreading shares the same memory space, while multiprocessing has separate memory spaces.

  • Multithreading is suitable for I/O-bound tasks, while multiprocessing is suitable for CPU-bound tasks.

  • Multithreading is more efficient i...read more

1w ago

Q. What is the difference between partial and render partial in MVC?

Ans.

Partial is a method in MVC that renders a specific portion of a view, while render partial renders a partial view.

  • Partial is used to render a specific portion of a view, while render partial is used to render a partial view.

  • Partial is typically used within a view to render a reusable component, while render partial is used to render a separate partial view.

  • Partial can be used with parameters to pass data to the partial view, while render partial can also specify a different l...read more

Asked in Ixigo.com

1w ago
Q. What is the number of edges in a 10x10 cube?
Ans.

A 10x10 cube has 600 edges.

  • A cube has 12 edges, so a 10x10 cube would have 12 edges on each of its 6 faces.

  • 12 edges x 6 faces = 72 edges for the entire cube.

  • However, each edge is shared by two faces, so we need to divide by 2 to get the total number of unique edges.

  • 72 edges / 2 = 36 unique edges on the outer surface of the cube.

  • Since the cube has 10x10x10 = 1000 unit cubes, each with 12 edges, we need to subtract the edges on the inner cubes.

  • 1000 unit cubes x 12 edges = 12000...read more

Are these interview questions helpful?
1d ago
Q. Why are Java Strings immutable in nature?
Ans.

Java Strings are immutable to ensure thread safety, security, and optimization.

  • Immutable strings are thread-safe as they cannot be modified concurrently by multiple threads.

  • Immutable strings prevent security vulnerabilities like injection attacks.

  • Immutable strings allow for optimization by caching and reusing string literals.

Q. How does data seeding work in Entity Framework, and how do you map tables with entities?

Ans.

Data seeding in Entity Framework involves pre-populating database tables with initial data. Mapping tables with entities involves defining relationships between database tables and entity classes.

  • Data seeding in Entity Framework can be done using the 'Seed' method in the 'Configuration' class of the DbContext.

  • To map tables with entities, use data annotations or Fluent API to define relationships between entities and database tables.

  • For example, using data annotations like [Ta...read more

Senior Software Engineer Jobs

DHL Global Forwarding India logo
Senior Software Engineer 8-10 years
DHL Global Forwarding India
4.2
Chennai
DHL Global Forwarding India logo
Senior Software Engineer 4-10 years
DHL Global Forwarding India
4.2
Chennai
DHL Global Forwarding India logo
Senior Software Engineer 5-10 years
DHL Global Forwarding India
4.2
Chennai

Asked in LTIMindtree

1w ago

Q. Describe a scenario where you designed an application. Explain the libraries, methodologies, and test cases you used.

Ans.

Design an application with libraries and methodologies, including test cases for various scenarios.

  • Use MVC architecture for separation of concerns, e.g., Model for data, View for UI, Controller for business logic.

  • Implement RESTful APIs using Express.js for backend services, allowing easy integration with frontend frameworks.

  • Utilize React for building a dynamic user interface, enhancing user experience with component-based architecture.

  • Incorporate unit testing with Jest to ens...read more

1w ago

Q. How would you determine the memory footprint of a given structure, considering struct padding?

Ans.

The question asks to find the memory of a given structure by considering struct padding.

  • Struct padding refers to the unused bytes added to align the members of a structure.

  • To find the memory of a structure, we need to consider the size of each member and the padding added.

  • The total memory of a structure is the sum of the sizes of its members and the padding.

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Asked in Lam Research

1w ago

Q. 1. How will access files in a different server? 2. There are several files all containing similar key value pairs. The values differ in all files. How will you identify all the values that are same and others t...

read more
Ans.

To access files in a different server, use protocols like FTP or SSH. To identify similar key value pairs in multiple files, compare values using a script or tool.

  • Use FTP or SSH protocols to access files in a different server

  • Write a script or use a tool to compare key value pairs in multiple files

  • Identify values that are the same and different across files

  • Example: Use Python script to read files and compare key value pairs

Asked in Uber

1w ago

Q. How do you add a new element to a complete binary tree, where all levels are fully populated except for the last level, which is filled from left to right?

Ans.

To add an element to a complete binary tree, insert it at the next available position, maintaining the complete structure.

  • 1. Identify the next available position in the tree, which is the leftmost empty spot at the last level.

  • 2. Use a queue or array to keep track of nodes for level-order traversal to find the insertion point.

  • 3. Insert the new element as a child of the last node in the queue or array.

  • 4. If the last level is full, add a new level and insert the element as the l...read more

Q. If a servlet component receives 10 requests after its deployment, which methods will be executed and how many times will each be called?

Ans.

A servlet processes requests using lifecycle methods; init, service, and destroy are key in handling multiple requests.

  • init(): Called once when the servlet is first loaded; initializes resources. Example: Database connections.

  • service(): Called for each request; handles the request and response. Example: Processing user input.

  • destroy(): Called once when the servlet is taken out of service; cleans up resources. Example: Closing database connections.

  • For 10 requests, init() is ca...read more

Q. What is the process for establishing a connection and inserting data into an Oracle database from a Java application?

Ans.

Establishing a connection to an Oracle database in Java involves using JDBC for data insertion and management.

  • JDBC Driver: Use the Oracle JDBC driver (ojdbc8.jar) to connect to the database. Example: Class.forName('oracle.jdbc.driver.OracleDriver');

  • Connection String: Create a connection using DriverManager. Example: Connection conn = DriverManager.getConnection('jdbc:oracle:thin:@localhost:1521:xe', 'username', 'password');

  • PreparedStatement: Use PreparedStatement for executin...read more

Q. What is the query to retrieve the 7th highest salary from the employee table for those with the designation of Software Developer?

Ans.

To retrieve the 7th highest salary of Software Developers, use a SQL query with ranking functions or subqueries.

  • Using Subquery: SELECT MAX(salary) FROM employees WHERE designation = 'Software Developer' AND salary < (SELECT DISTINCT salary FROM employees WHERE designation = 'Software Developer' ORDER BY salary DESC LIMIT 6);

  • Using CTE: WITH RankedSalaries AS (SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rank FROM employees WHERE designation = 'Software Developer'...read more

Q. What is the sequence of execution for the start() and run() methods, and what is the purpose of the yield() method?

Ans.

The start() method initiates a new thread, while run() contains the code executed by that thread. Yield() suggests thread scheduling.

  • start() creates a new thread and invokes the run() method in that thread.

  • run() contains the code that will be executed by the thread.

  • yield() is a static method that hints the thread scheduler to pause the current thread and allow others to execute.

  • Example: Calling thread1.start() will execute thread1.run() in a new thread.

  • Example: If thread1 cal...read more

2d ago

Q. What is the standarddoc types both in so and billing

Ans.

Standard document types in SO and billing

  • Sales Order (SO)

  • Invoice

  • Credit Memo

  • Purchase Order

  • Delivery Note

1w ago

Q. Can you briefly describe GC and its lifecycle?

Ans.

GC stands for Garbage Collection. It is an automatic memory management process in programming languages.

  • GC is responsible for reclaiming memory that is no longer in use by the program.

  • It identifies and frees up memory occupied by objects that are no longer reachable.

  • GC has different algorithms like Mark and Sweep, Copying, and Generational.

  • The life cycle of an object involves creation, usage, and eventual garbage collection.

  • GC can be triggered by various conditions like memor...read more

Asked in UST

1w ago

Q. Explain SDLC and STLC, Whats the difference between list and tuple Whats the assert and verify Elements

Ans.

SDLC and STLC, list vs tuple, assert vs verify

  • SDLC (Software Development Life Cycle) is a process followed to develop software

  • STLC (Software Testing Life Cycle) is a process followed to test software

  • List and tuple are both data structures in Python, but list is mutable while tuple is immutable

  • Assert is used to check if a condition is true, while verify is used to check if a web element is present

  • Both assert and verify are used in automated testing

  • Example: assert 2+2 == 4, ver...read more

Asked in Snapdeal

2w ago

Q. Implement a linked list without using built-in libraries. Provide add, delete, and find functionalities.

Ans.

Create Linked List without using internal library and provide add, delete, find functionality.

  • Create a Node class with data and next pointer

  • Create a LinkedList class with head pointer and methods to add, delete, and find nodes

  • Use a loop to traverse the list and perform operations

  • Handle edge cases such as adding to an empty list or deleting the head node

Asked in H&M

3d ago

Q. Solutioning for a high performant event driver microservice.

Ans.

To create a high performant event driver microservice, we need to focus on efficient event handling and scalability.

  • Use asynchronous event-driven architecture

  • Choose a lightweight and efficient framework like Node.js or Go

  • Implement caching and load balancing techniques

  • Optimize database queries and use NoSQL databases for faster data retrieval

  • Use containerization and orchestration tools like Docker and Kubernetes for scalability

  • Implement monitoring and logging to identify and r...read more

1w ago

Q. What are the differences between conventional URLs and attribute URLs in .NET Core Web API?

Ans.

Conventional URLs use query parameters while attribute URLs use route parameters in .NET Core Web API.

  • Conventional URLs use query parameters to pass data in the URL, while attribute URLs use route parameters in the route template.

  • Conventional URLs are more flexible as they allow for optional parameters, while attribute URLs are more rigid in their structure.

  • Attribute URLs are more readable and provide a cleaner way to define routes in the code.

  • Example: Conventional URL - /api...read more

Asked in Fareportal

1w ago
Q. What are the different access modifiers in C#?
Ans.

Access modifiers in C# control the visibility and accessibility of classes, methods, and other members.

  • Public - accessible from any other class or assembly

  • Private - accessible only within the same class

  • Protected - accessible within the same class or derived classes

  • Internal - accessible within the same assembly

  • Protected Internal - accessible within the same assembly or derived classes

Q. What are the different categories of exceptions? Give examples of checked and unchecked exceptions.

Ans.

Different categories of exceptions and examples of checked and unchecked exceptions.

  • Different categories of exceptions are checked and unchecked exceptions.

  • Checked exceptions are checked at compile-time and must be handled by the programmer.

  • Examples of checked exceptions are IOException, SQLException, and ClassNotFoundException.

  • Unchecked exceptions are not checked at compile-time and can be handled at runtime.

  • Examples of unchecked exceptions are NullPointerException, ArrayInd...read more

Asked in Mphasis

5d ago
Q. What is the default port of Tomcat in Spring Boot?
Ans.

The default port of Tomcat in Spring Boot is 8080.

  • The default port can be changed in the application.properties file by setting server.port property.

  • To run the Spring Boot application on a different port, you can specify the port number as a command line argument.

  • For example, to run the application on port 9090, you can use the command: java -jar -Dserver.port=9090 myapp.jar

2w ago

Q. What is the role of migration scripts in a code-first approach?

Ans.

Migration scripts help in updating the database schema when changes are made to the code first model.

  • Migration scripts are used to update the database schema to match the code first model

  • They help in keeping the database schema in sync with the code first model

  • They are executed automatically when the application starts or manually using the Package Manager Console

  • They can be used to add, modify or delete database objects like tables, columns, indexes, etc.

  • They can be versione...read more

1w ago

Q. What is the use of creating T4 templates?

Ans.

T4 templates are used to generate code or text files based on a template and input data.

  • T4 templates automate repetitive code generation tasks.

  • They can be used to generate code for data access layers, service layers, or UI components.

  • T4 templates can also be used to generate configuration files or documentation.

  • They provide a way to separate the logic from the generated output.

  • T4 templates support customizing the generated code based on input parameters or conditions.

Asked in UST

1w ago
Q. What makes a HashSet different from a TreeSet?
Ans.

HashSet is an unordered collection that uses hashing to store elements, while TreeSet is a sorted collection that uses a binary search tree.

  • HashSet does not maintain any order of elements, while TreeSet maintains elements in sorted order.

  • HashSet allows null values, while TreeSet does not allow null values.

  • HashSet has constant time complexity for basic operations like add, remove, and contains, while TreeSet has logarithmic time complexity.

  • HashSet is generally faster for addin...read more

2w ago

Q. What steps do you take to ensure that an application remains maintainable?

Ans.

To ensure maintainability, I follow coding best practices, use version control, write clean and modular code, document thoroughly, and conduct regular code reviews.

  • Follow coding best practices such as SOLID principles and design patterns

  • Use version control system like Git to track changes and collaborate with team members

  • Write clean and modular code to make it easier to understand and update

  • Thoroughly document code, including comments and README files

  • Conduct regular code revi...read more

2w ago

Q. Given an array of length n and a value k, return a list of arrays where each array contains no more than k elements. Check for edge cases.

Ans.

Split an array into subarrays with a maximum of k elements each.

  • Iterate through the array and create subarrays of size k.

  • Use a loop to slice the array into chunks of size k.

  • Example: For array [1, 2, 3, 4, 5] and k=2, output is [[1, 2], [3, 4], [5]].

  • Edge cases: If k is 0, return an empty list. If array is empty, return an empty list.

2w ago

Q. CTE vs Temp Table: Which one is best in a SQL stored procedure?

Ans.

CTE is better for complex queries, temp tables for large data sets.

  • CTE is more efficient for recursive queries and can improve readability.

  • Temp tables are better for large data sets and can be indexed for faster performance.

  • Consider the complexity and size of the data when choosing between CTE and temp tables.

2d ago

Q. How can we transfer data from one component to another?

Ans.

Data can be transferred between components using props, state, context, or Redux.

  • Props: pass data from parent to child components

  • State: manage data within a component

  • Context: share data between components without passing props

  • Redux: manage global state for the entire application

  • Examples: passing user data from a login component to a dashboard component using props, managing form data within a component using state, sharing theme data between components using context, managing...read more

Previous
12
13
14
15
16
17
18
Next

Interview Experiences of Popular Companies

TCS Logo
3.6
 • 11.1k Interviews
Accenture Logo
3.7
 • 8.7k Interviews
Infosys Logo
3.6
 • 7.9k Interviews
Wipro Logo
3.7
 • 6.1k Interviews
Capgemini Logo
3.7
 • 5.1k Interviews
View all
Interview Tips & Stories
Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories
Senior Software Engineer Interview Questions
Share an Interview
Stay ahead in your career. Get AmbitionBox app
play-icon
play-icon
qr-code
Trusted by over 1.5 Crore job seekers to find their right fit company
80 L+

Reviews

10L+

Interviews

4 Cr+

Salaries

1.5 Cr+

Users

Contribute to help millions

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

Follow Us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter
Profile Image
Hello, Guest
AmbitionBox Employee Choice Awards 2025
Winners announced!
awards-icon
Contribute to help millions!
Write a review
Write a review
Share interview
Share interview
Contribute salary
Contribute salary
Add office photos
Add office photos
Add office benefits
Add office benefits