Senior Software Engineer

4500+ Senior Software Engineer Interview Questions and Answers

Updated 15 Jul 2025
search-icon

Asked in Accenture

1w ago

Q. What is the difference between a controller and a REST controller?

Ans.

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

Asked in Amdocs

2w ago
Q. What is the difference between the DELETE and TRUNCATE commands in a DBMS?
Ans.

DELETE removes specific rows from a table, while TRUNCATE removes all rows and resets auto-increment values.

  • DELETE is a DML command, while TRUNCATE is a DDL command.

  • DELETE can be rolled back, while TRUNCATE cannot be rolled back.

  • DELETE triggers ON DELETE triggers, while TRUNCATE does not trigger any triggers.

  • DELETE is slower as it logs individual row deletions, while TRUNCATE is faster as it logs the deallocation of data pages.

  • Example: DELETE FROM table_name WHERE condition; ...read more

2w ago
Q. Why is Java considered platform independent, while the Java Virtual Machine (JVM) is platform dependent?
Ans.

Java is platform independent because it compiles code into bytecode that can run on any system with a JVM, which is platform dependent.

  • Java code is compiled into bytecode, which is platform independent

  • The JVM interprets the bytecode and translates it into machine code specific to the underlying platform

  • This allows Java programs to run on any system with a JVM installed, making Java platform independent

Asked in ValueLabs

1w ago

Q. What are the different sizes available for a virtual warehouse in Snowflake, and which sizes are currently being utilized in your current project?

Ans.

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

Are these interview questions helpful?

Asked in Arcesium

2w ago
Q. Can you design a schema for restaurant applications, similar to Zomato?
Ans.

Design a schema for a restaurant app like Zomato.

  • Create tables for restaurants, users, reviews, and orders

  • Include columns for restaurant details like name, address, cuisine type

  • Include columns for user details like name, email, and password

  • Link reviews to restaurants and users

  • Link orders to restaurants and users

  • Consider additional tables for menu items, categories, and ratings

Asked in Grey Orange

1w ago
Q. What are some common testing questions related to Linux and operating systems?
Ans.

Common testing questions related to Linux and operating systems

  • What are the different types of testing that can be performed on a Linux operating system?

  • How do you test the compatibility of software with different Linux distributions?

  • Can you explain the process of testing kernel modules in a Linux environment?

  • What tools and techniques do you use for performance testing on Linux systems?

  • How do you ensure the security and stability of a Linux server through testing?

Senior Software Engineer Jobs

Robert Bosch Engineering and Business Solutions Private Limited logo
Senior Software Engineer (Level 52) - Chromium 5-10 years
Robert Bosch Engineering and Business Solutions Private Limited
4.1
Coimbatore
Robert Bosch Engineering and Business Solutions Private Limited logo
Senior Software Engineer - Qt Framework 5-10 years
Robert Bosch Engineering and Business Solutions Private Limited
4.1
Coimbatore
Red Hat India Pvt Ltd logo
Senior Software Engineer - Full Stack 6-11 years
Red Hat India Pvt Ltd
4.3
₹ 19 L/yr - ₹ 33 L/yr
(AmbitionBox estimate)
Bangalore / Bengaluru
2w ago

Q. What if I need to make some changes to the POCO class to extend the entity and add extra properties?

Ans.

Modifying the POCO class allows extending the entity with additional properties.

  • To add extra properties, simply modify the POCO class by adding new properties.

  • Ensure that the changes are reflected in the database schema if necessary.

  • Update any existing code that interacts with the POCO class to handle the new properties.

  • Consider the impact on serialization, validation, and any other relevant aspects.

1w ago

Q. Write a SQL query using GROUP BY, ORDER BY DESC, and LIMIT 1 to fetch the highest row of each group in a dataset.

Ans.

Use SQL GROUP BY and ORDER BY DESC to fetch the highest row of each group in a dataset.

  • Use GROUP BY to aggregate data based on a specific column.

  • Use ORDER BY DESC to sort the results in descending order.

  • Use LIMIT 1 to fetch only the top result from each group.

  • Example: SELECT department, MAX(salary) FROM employees GROUP BY department ORDER BY MAX(salary) DESC LIMIT 1;

  • This query retrieves the department with the highest salary.

Share interview questions and help millions of jobseekers 🌟

man-with-laptop
1d ago

Q. How many types of variables are there in Java?

Ans.

There are three types of variables in Java: local, instance, and static.

  • Local variables are declared within a method or block and have limited scope.

  • Instance variables are declared within a class but outside of any method and are accessible to all methods of the class.

  • Static variables are declared with the static keyword and are shared among all instances of the class.

  • Examples: int x; //instance variable, static int y; //static variable, void method() { int z; //local variabl...read more

Asked in UST

2w ago
Q. Can you explain the SOLID principles in Object-Oriented Design?
Ans.

SOLID principles are a set of five design principles in object-oriented programming to make software designs more understandable, flexible, and maintainable.

  • S - Single Responsibility Principle: A class should have only one reason to change.

  • O - Open/Closed Principle: Software entities should be open for extension but closed for modification.

  • L - Liskov Substitution Principle: Objects of a superclass should be replaceable with objects of its subclasses without affecting the func...read more

Asked in Wabtec

1w ago

Q. What are delegates and why we need it. Which are built in delegates in c#

Ans.

Delegates are reference types that hold a reference to a method. They are used to achieve loose coupling and event handling.

  • Delegates allow methods to be passed as parameters to other methods.

  • They can be used to define callback methods.

  • Built-in delegates in C# include Action, Func, Predicate, EventHandler, and Comparison.

  • Action and Func are used for methods that return void and non-void values respectively.

  • Predicate is used for methods that return a Boolean value.

  • EventHandler...read more

Asked in Wells Fargo

3d ago

Q. Is parallel stream always beneficial in java stream API? Java Singleton vs Spring Singleton write a program to find the nth largest number in an array of integers. Spring bean scopes. how will you handle a larg...

read more
Ans.

Parallel stream is not always beneficial in Java Stream API.

  • Parallel stream can be slower than sequential stream for small data sets or when the overhead of parallelism is greater than the benefit.

  • Parallel stream can be beneficial for large data sets or when the operations are independent and can be executed in parallel.

  • It is important to measure the performance of both sequential and parallel streams for a specific use case to determine which is more efficient.

2w ago
Q. What are the different types of severity that can be assigned to a bug?
Ans.

Different types of severity levels for bugs include critical, major, minor, and trivial.

  • Critical - Bug causes system crash or data loss.

  • Major - Bug affects major functionality.

  • Minor - Bug affects minor functionality.

  • Trivial - Bug has cosmetic issues.

  • Examples: Critical - Login failure, Major - Payment processing error, Minor - UI alignment issue, Trivial - Spelling mistake

Asked in UST

1w ago
Q. What do you understand by autowiring in Spring Boot, and can you name the different modes of autowiring?
Ans.

Autowiring in Spring Boot is a way to automatically inject dependencies into Spring beans.

  • Autowiring is a feature in Spring that allows the container to automatically inject the dependencies of a bean.

  • There are different modes of autowiring in Spring: 'byName', 'byType', 'constructor', 'autodetect', and 'no'.

  • For example, in 'byName' autowiring, Spring looks for a bean with the same name as the property being autowired.

Asked in Infosys

5d ago
Q. What is the starter dependency of the Spring Boot module?
Ans.

The starter dependency of the Spring Boot module is spring-boot-starter-parent.

  • The starter dependency of Spring Boot provides a set of default configurations and dependencies to kickstart a Spring Boot project.

  • It includes commonly used dependencies like spring-boot-starter-web, spring-boot-starter-data-jpa, etc.

  • The spring-boot-starter-parent also manages the versions of all dependencies to ensure compatibility.

1w ago

Q. How do you create GQL server, directive in GQL, Fragments in GQL how do you write unit tests for gql Queries/mutations (on the server side) TypeScript: Partial, Decorators, unions, Generics useCallback vs useMe...

read more
Ans.

Answering questions related to creating GQL server, directives, fragments, unit tests, TypeScript features, and React.js functionalities.

  • To create a GQL server, you can use tools like Apollo Server or Express with GraphQL middleware.

  • Directives in GQL are used to modify the behavior of a field or fragment in a query. For example, @include and @skip are common directives.

  • Fragments in GQL allow you to define reusable units of query logic. They can be included in queries to avoid...read more

2w ago

Q. What is your comfort level with HTML, CSS, and JavaScript?

Ans.

I am highly proficient in HTML, CSS, and JavaScript.

  • Extensive experience in building responsive web applications using HTML, CSS, and JavaScript

  • Strong understanding of front-end frameworks like React, Angular, or Vue.js

  • Familiarity with CSS preprocessors like SASS or LESS

  • Knowledge of modern JavaScript ES6+ features and best practices

  • Experience in optimizing web performance and cross-browser compatibility

Asked in Arcesium

2w ago

Q. Given a grid representing an ocean (where mat[i][j] = 1 represents an island and mat[i][j] = 0 represents water), find the island with the largest area.

Ans.

Find the largest island area in a grid representing an ocean using DFS or BFS.

  • Use Depth-First Search (DFS) or Breadth-First Search (BFS) to explore the grid.

  • Mark visited cells to avoid counting them multiple times.

  • Count the size of each island during the traversal.

  • Example: For a grid [[1,0,0],[1,1,0],[0,0,1]], the largest island has area 3.

  • Keep track of the maximum area found during the exploration.

Asked in INDIUM

2w ago

Q. Given a website link with a button that generates random photos, first names, and last names, write code to ensure that the generated first name, last name, and photo are not repeated for at least 10 clicks of...

read more
Ans.

Implement a function to ensure unique first names, last names, and photos for 10 consecutive button clicks.

  • Use a set to store generated names and photos to ensure uniqueness.

  • Create a loop that simulates clicking the button 10 times.

  • Check if the generated name or photo already exists in the set.

  • If a duplicate is found, regenerate until a unique one is obtained.

  • Example: If 'John' is generated, check if 'John' is in the set before adding.

Asked in TCS

1w ago

Q. What is the difference between a List and a Tuple?

Ans.

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)

Asked in Rablo.in

4d ago

Q. What is the difference between let, var, and const?

Ans.

let, var, and const are all used to declare variables in JavaScript, but they have different scoping rules and behaviors.

  • let and const were introduced in ES6, while var has been around since the beginning of JavaScript.

  • let and const are block-scoped, while var is function-scoped.

  • Variables declared with const cannot be reassigned, while let and var can be.

  • const variables must be initialized when they are declared, while let and var can be declared without initialization.

  • Exampl...read more

1w ago

Q. Write an API to implement HTTP GET method to hit an external datasource using pagination and filter the top-rated movie in a certain Genre. There will be around 2000 entries of data objects related to movies, a...

read more
Ans.

Implement an API in Java to fetch top rated movies in a certain genre from an external datasource using pagination.

  • Create a REST API endpoint in Java using Spring Boot framework

  • Implement pagination by using query parameters for 'page' and 'size'

  • Filter the movies by genre and sort them by rating to fetch the top rated ones

  • Use a service layer to interact with the external datasource and fetch the data

  • Return the filtered and paginated movie data in the response

Asked in INDIUM

6d ago

Q. How do you switch between tabs in a browser using Selenium?

Ans.

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

Asked in UST

1d ago
Q. What are the basic annotations that Spring Boot offers?
Ans.

Spring Boot offers basic annotations like @SpringBootApplication, @RestController, @Autowired, @RequestMapping, @Component, @Service, @Repository.

  • @SpringBootApplication - Used to mark the main class of a Spring Boot application.

  • @RestController - Used to define a RESTful controller.

  • @Autowired - Used for automatic dependency injection.

  • @RequestMapping - Used to map web requests to specific handler methods.

  • @Component - Used to indicate a class is a Spring component.

  • @Service - Use...read more

1w ago
Q. What does the @SpringBootApplication annotation do internally?
Ans.

The @SpringBootApplication annotation is used to mark the main class of a Spring Boot application.

  • It is a combination of @Configuration, @EnableAutoConfiguration, and @ComponentScan annotations.

  • It tells Spring Boot to start adding beans based on classpath settings, other beans, and various property settings.

  • It is often placed on the main class that contains the main method to bootstrap the Spring Boot application.

2w ago

Q. How do you find code performance issues in code deployed in production?

Ans.

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

Asked in Caspex Corp

1w ago
Q. Can we override or replace the embedded Tomcat server in Spring Boot?
Ans.

Yes, we can override or replace the embedded Tomcat server in Spring Boot.

  • Spring Boot allows for customization of embedded servers through configuration properties.

  • You can replace Tomcat with other embedded servers like Jetty or Undertow.

  • Example: To use Jetty instead of Tomcat, exclude Tomcat dependencies and include Jetty dependencies in your pom.xml file.

5d ago

Q. Can you write a program to show the percentage of completion while a file is uploading to a server?

Ans.

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

Asked in Visa

2w ago

Q. Design a service that combines multiple sources of data/documentation and aggregates it such that all information is available centrally.

Ans.

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

Asked in UST

1w ago
Q. What are the start() and run() methods of the Thread class?
Ans.

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.

Previous
1
2
3
4
5
6
7
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