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

Asked in American Legalnet

Q. What is the difference between JIT and AOT compilers in Angular?
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.

Asked in Bluestock ™

Q. What is the difference between Multithreading and Multiprocessing?
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

Asked in Medusind Solutions

Q. What is the difference between partial and render partial in MVC?
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

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

Asked in Ernst & Young

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.

Asked in R Systems International

Q. How does data seeding work in Entity Framework, and how do you map tables with entities?
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




Asked in LTIMindtree

Q. Describe a scenario where you designed an application. Explain the libraries, methodologies, and test cases you used.
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

Asked in Arista Networks

Q. How would you determine the memory footprint of a given structure, considering struct padding?
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 🌟

Asked in Lam Research

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

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

Asked in Eidiko Systems Integrators

Q. If a servlet component receives 10 requests after its deployment, which methods will be executed and how many times will each be called?
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

Asked in Eidiko Systems Integrators

Q. What is the process for establishing a connection and inserting data into an Oracle database from a Java application?
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

Asked in Eidiko Systems Integrators

Q. What is the query to retrieve the 7th highest salary from the employee table for those with the designation of Software Developer?
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

Asked in Eidiko Systems Integrators

Q. What is the sequence of execution for the start() and run() methods, and what is the purpose of the yield() method?
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

Asked in Hexaware Technologies

Q. What is the standarddoc types both in so and billing
Standard document types in SO and billing
Sales Order (SO)
Invoice
Credit Memo
Purchase Order
Delivery Note

Asked in Q3 Technologies

Q. Can you briefly describe GC and its lifecycle?
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

Q. Explain SDLC and STLC, Whats the difference between list and tuple Whats the assert and verify Elements
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

Q. Implement a linked list without using built-in libraries. Provide add, delete, and find functionalities.
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

Q. Solutioning for a high performant event driver microservice.
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

Asked in OpenText Technologies

Q. What are the differences between conventional URLs and attribute URLs in .NET Core Web API?
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

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

Asked in Copart India Technology Center

Q. What are the different categories of exceptions? Give examples of checked and unchecked exceptions.
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

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

Asked in KnowCross Solutions

Q. What is the role of migration scripts in a code-first approach?
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

Asked in Q3 Technologies

Q. What is the use of creating T4 templates?
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

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

Asked in OpenText Technologies

Q. What steps do you take to ensure that an application remains maintainable?
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

Asked in Wissen Technology

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.
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.
Asked in TMotions Global

Q. CTE vs Temp Table: Which one is best in a SQL stored procedure?
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.

Asked in Photon Technologies

Q. How can we transfer data from one component to another?
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
Interview Questions of Similar Designations
Interview Experiences of Popular Companies





Top Interview Questions for Senior Software Engineer Related Skills



Reviews
Interviews
Salaries
Users

