Software Engineer III

100+ Software Engineer III Interview Questions and Answers

Updated 14 Feb 2025

Q51. find the longest substring in string without repeating characters

Ans.

Find the longest substring in a string without repeating characters.

  • Use a sliding window approach to iterate through the string.

  • Keep track of the characters seen so far in a set.

  • Update the start of the window when a repeating character is encountered.

  • Calculate the length of the current substring and update the longest substring found.

  • Repeat until the end of the string is reached.

Q52. use of microsevices in java. and its implmenatation

Ans.

Microservices in Java are a way to design software applications as a collection of small, loosely coupled services.

  • Microservices architecture breaks down a large application into smaller, independent services that can be developed, deployed, and scaled independently.

  • Each microservice typically focuses on a specific business function and communicates with other services through APIs.

  • Java is a popular language for implementing microservices due to its strong ecosystem, librarie...read more

Q53. How do you scale the application?

Ans.

Scaling the application involves optimizing performance, increasing capacity, and ensuring reliability.

  • Implementing load balancing to distribute traffic evenly across multiple servers

  • Using caching mechanisms to reduce database load and improve response times

  • Utilizing horizontal scaling by adding more servers to handle increased traffic

  • Optimizing database queries and indexes for faster data retrieval

  • Implementing microservices architecture to break down the application into sma...read more

Q54. find the height of binary tree using recursion?

Ans.

Recursively find the height of a binary tree by comparing the heights of left and right subtrees.

  • Start by checking if the root is null, return -1 if so.

  • Recursively find the height of the left subtree and right subtree.

  • Return the maximum of the heights of the left and right subtrees, plus 1 for the current node.

Are these interview questions helpful?

Q55. what is java8. its features and uses

Ans.

Java 8 is a major release of the Java programming language with new features like lambda expressions, streams, and default methods.

  • Lambda expressions allow functional programming in Java.

  • Streams provide a new way to work with collections in a more concise and efficient manner.

  • Default methods allow interfaces to have method implementations.

  • Java 8 also introduced the new Date and Time API for better handling of date and time.

  • The Optional class helps to avoid NullPointerExceptio...read more

Q56. Given a Tree with 0's and 1's find number of distinct islands. Joined 1's together form an island.

Ans.

Count the number of distinct islands in a tree with 0's and 1's where joined 1's form an island.

  • Traverse the tree and identify connected components of 1's to form islands.

  • Use a set to store the unique shapes of islands to avoid counting duplicates.

  • Consider different shapes of islands like horizontal, vertical, diagonal, etc.

  • Example: [['1', '0', '1'], ['1', '1', '0']] has 2 distinct islands.

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q57. Map based problem to find shortest path in 0 and 1

Ans.

Map based problem to find shortest path in 0 and 1

  • Use BFS to traverse the map

  • Create a 2D array to store the map

  • Assign a weight of 1 to 0 and infinity to 1

  • Update the weight of each cell based on its neighbors

  • Keep track of the shortest path found so far

Q58. Design Chatbot that support 1-1 as well as group chats

Ans.

Design a chatbot that supports both 1-1 and group chats

  • Implement a user authentication system to differentiate between 1-1 and group chats

  • Create separate chat rooms for group chats where multiple users can join

  • Include features like message notifications, file sharing, and message search functionality

  • Utilize natural language processing to understand and respond to user messages

  • Allow users to customize their chatbot settings and preferences

Software Engineer III Jobs

Software Engineer III - GBS IND 9-12 years
BA Continuum India Pvt. Ltd.
4.2
Chennai
Software Engineer III - GBS IND 9-14 years
BA Continuum India Pvt. Ltd.
4.2
Chennai
Software Engineer III - GBS IND 9-14 years
BA Continuum India Pvt. Ltd.
4.2
Chennai

Q59. 2. write get and put methods of Java Hashamap.

Ans.

The get and put methods of Java HashMap are used to retrieve and store key-value pairs respectively.

  • To retrieve a value from a HashMap, use the get() method and pass the key as a parameter.

  • To store a key-value pair in a HashMap, use the put() method and pass the key and value as parameters.

  • Example: HashMap map = new HashMap<>(); map.put("apple", 5); int count = map.get("apple"); // returns 5

Q60. Find the largest subsequence in the given string.

Ans.

Find the largest subsequence in a given string.

  • Iterate through the string and keep track of the current subsequence length

  • Update the length when encountering a character that is greater than the previous character

  • Return the longest subsequence found

Q61. System design + Projects that you worked on

Ans.

I have experience in designing and implementing scalable systems for various projects.

  • Designed and implemented a microservices-based architecture for a healthcare platform

  • Developed a distributed system for real-time data processing using Apache Kafka and Spark

  • Optimized database schema and queries for a high-traffic e-commerce website

  • Implemented caching and load balancing strategies for a social media platform

  • Designed and developed a RESTful API for a mobile application

Q62. The program which checks String Reverse

Ans.

The program checks if a given string is a palindrome or not.

  • Create a function that takes a string as input

  • Reverse the string and compare it with the original string

  • Return true if they are the same, false otherwise

Q63. What is Routing in MVC?

Ans.

Routing in MVC is the process of mapping URLs to controller actions.

  • Routing determines which controller and action should handle a request.

  • Routes are defined in the RouteConfig.cs file.

  • Routes can include parameters that are passed to the controller action.

  • Routes can also include constraints to limit which requests match the route.

  • Example: /products/5 maps to the ProductsController's Details action with id parameter 5.

Q64. What is Angular Dependency Injection?

Ans.

Angular Dependency Injection is a design pattern in Angular where objects are passed to a class instead of the class creating them.

  • Angular Dependency Injection allows for easier testing and reusability of code.

  • It helps in decoupling components and services in Angular applications.

  • Dependencies are provided at the root level or at component level using providers array in @NgModule or @Component decorator.

  • Example: @Injectable() decorator is used to define a service that can be i...read more

Q65. Difference b/w global and static variable in C

Ans.

Global variables are accessible throughout the program, while static variables are limited to the scope in which they are defined.

  • Global variables are declared outside of any function and can be accessed by any function in the program.

  • Static variables are declared within a function and retain their value between function calls.

  • Example: int globalVar = 10; static int staticVar = 5;

  • Example: Global variable can be accessed in multiple functions, while static variable retains its...read more

Q66. Number of alternate substrings in a string.

Ans.

Count the number of alternate substrings in a given string.

  • Iterate through the string and check for alternating characters.

  • Keep track of the count of alternate substrings found.

  • Return the total count of alternate substrings.

Q67. Familiarity with different Azure services

Ans.

Familiarity with different Azure services is essential for a Software Engineer III role.

  • Understanding of Azure Virtual Machines for scalable computing

  • Knowledge of Azure Blob Storage for storing large amounts of unstructured data

  • Experience with Azure Functions for serverless computing

  • Familiarity with Azure SQL Database for relational database management

  • Understanding of Azure Cognitive Services for AI and machine learning capabilities

Q68. Technical architecture of current project

Ans.

Microservices architecture using Docker containers and Kubernetes for scalability and flexibility.

  • Utilizing microservices to break down the application into smaller, independent services

  • Using Docker containers for easy deployment and scalability

  • Leveraging Kubernetes for orchestration and management of containers

Q69. What's new in .Net 7?

Ans.

Some of the new features in .Net 7 include performance improvements, new language features, and enhanced tooling.

  • Performance improvements such as faster startup times and reduced memory usage

  • New language features like records, top-level statements, and pattern matching enhancements

  • Enhanced tooling with improved support for Visual Studio and Visual Studio Code

  • Support for ARM64 architecture and WebAssembly

  • Improved support for cloud-native applications and microservices

Q70. Cycle in linked list and behavioral

Ans.

Detecting cycle in a linked list and discussing behavioral aspects

  • Explain how to use Floyd's Tortoise and Hare algorithm to detect a cycle in a linked list

  • Discuss the importance of understanding memory management in linked lists to prevent cycles

  • Explain the impact of cycles in linked lists on time complexity and space complexity of algorithms

Q71. design for a date picker in javascript

Ans.

A date picker in JavaScript allows users to select a date from a calendar interface.

  • Use HTML input element with type 'date' for modern browsers

  • For older browsers, use a JavaScript library like jQuery UI Datepicker

  • Implement validation to ensure selected date is within acceptable range

Q72. right and left view of binary tree

Ans.

To get the right and left view of a binary tree, perform a level order traversal and keep track of the first node encountered at each level.

  • Perform a level order traversal of the binary tree

  • Keep track of the first node encountered at each level for both left and right views

  • Store the first node encountered at each level in separate arrays for left and right views

Q73. Find maximum ZigZag length in a tree.

Ans.

Find the maximum ZigZag length in a tree.

  • Perform a depth-first search (DFS) on the tree to traverse all nodes.

  • Keep track of the maximum ZigZag length encountered during traversal.

  • At each node, calculate the ZigZag length by comparing the depths of the left and right children.

  • Update the maximum ZigZag length if the current ZigZag length is greater.

Q74. Finding patterns in a stream of numbers

Ans.

Finding patterns in a stream of numbers involves analyzing the sequence for recurring trends or relationships.

  • Look for repeating sequences or intervals in the numbers.

  • Check for arithmetic progressions or geometric progressions.

  • Consider using algorithms like sliding window or dynamic programming for efficient pattern detection.

Q75. Implement merge sort in linked list

Ans.

Merge sort implemented in a linked list

  • Divide the linked list into two halves using slow and fast pointers

  • Recursively sort each half

  • Merge the sorted halves back together

Q76. System Design and current job role

Ans.

I have experience in system design and currently work as a Software Engineer III.

  • I have designed scalable systems using microservices architecture.

  • I have implemented caching mechanisms to improve system performance.

  • I have worked on optimizing database queries for faster data retrieval.

  • I have experience in designing RESTful APIs for communication between different services.

Q77. sort 0 1 2 array binary tree left view

Ans.

Sort an array of 0s, 1s, and 2s and find the left view of a binary tree.

  • To sort the array of 0s, 1s, and 2s, you can use the Dutch National Flag algorithm which sorts the array in a single pass.

  • To find the left view of a binary tree, perform a level order traversal and keep track of the first node at each level.

Q78. Difference between join and subqueries

Ans.

Join is used to combine rows from two or more tables based on a related column, while subquery is a query nested within another query.

  • Join is used to retrieve data from multiple tables based on a related column

  • Subquery is a query nested within another query

  • Join is typically more efficient than subqueries for large datasets

  • Example: SELECT * FROM table1 JOIN table2 ON table1.id = table2.id

  • Example: SELECT * FROM table WHERE id IN (SELECT id FROM another_table)

Q79. LLD for a S3 or a storage based system

Ans.

LLD for a S3 or a storage based system involves designing the detailed architecture and components of the system.

  • Define the data model including objects, metadata, and storage classes

  • Design the system components like storage nodes, metadata servers, and access control mechanisms

  • Consider scalability, fault tolerance, and data consistency in the design

  • Implement features like versioning, encryption, and access control policies

  • Optimize for performance and cost efficiency

Q80. HLD for a commerce application?

Ans.

High Level Design (HLD) for a commerce application involves designing the overall architecture and components of the application.

  • Identify key components such as user interface, database, payment gateway, product catalog, and order processing.

  • Define the interactions between components and how data flows through the system.

  • Consider scalability, security, and performance requirements.

  • Use technologies like microservices architecture, RESTful APIs, and cloud services.

  • Example: Use ...read more

Q81. What are Solid Principles?

Ans.

Solid Principles are a set of five design principles for writing maintainable and scalable software.

  • Single Responsibility Principle (SRP)

  • Open/Closed Principle (OCP)

  • Liskov Substitution Principle (LSP)

  • Interface Segregation Principle (ISP)

  • Dependency Inversion Principle (DIP)

Frequently asked in,

Q82. Low level design for ola uber

Ans.

Low level design for a ride-sharing service like Ola or Uber

  • User requests a ride through the app

  • App calculates fare based on distance and time

  • Driver accepts the ride request

  • GPS tracking for real-time location updates

  • Payment processing through the app

Q83. Internal implementation of HashMap

Ans.

HashMap is implemented using an array of linked lists to store key-value pairs.

  • HashMap consists of an array of buckets, each containing a linked list of key-value pairs.

  • Hashing function is used to determine the index of the bucket where a key-value pair will be stored.

  • Collision resolution techniques like chaining or open addressing are used to handle collisions.

  • HashMap allows null keys and values, but only one null key.

  • Example: HashMap map = new HashMap<>();

Q84. OYO Rooms System design

Ans.

OYO Rooms system design involves creating a platform for booking budget accommodations with standardized amenities.

  • Implement user-friendly interface for searching and booking rooms

  • Develop a robust backend system for managing bookings, payments, and room availability

  • Utilize data analytics to optimize pricing and room allocation

  • Integrate with third-party services for reviews, location mapping, and payment gateways

Q85. LLD for a storage based system

Ans.

LLD for a storage based system involves designing the detailed architecture and components of the system to efficiently store and retrieve data.

  • Identify the requirements for the storage system, including data types, volume, access patterns, and performance expectations.

  • Design the data storage architecture, including data structures, indexing mechanisms, and storage technologies like databases or file systems.

  • Define the data access and retrieval mechanisms, such as APIs, proto...read more

Q86. Level of water between buildings

Ans.

Determining the level of water between buildings based on various factors

  • Consider the elevation of each building

  • Take into account the distance between the buildings

  • Factor in any natural or man-made barriers that may affect water flow

Q87. Maximum Length of increasing subsequence

Ans.

Find the maximum length of increasing subsequence in an array of strings.

  • Use dynamic programming to keep track of the length of increasing subsequences ending at each index.

  • Iterate through the array and update the length of increasing subsequences.

  • Return the maximum length found.

Q88. design patterns in java.

Ans.

Design patterns in Java are reusable solutions to common problems in software design.

  • Design patterns help in creating maintainable and scalable code.

  • Examples include Singleton, Factory, Observer, Strategy, and Decorator patterns.

  • Each design pattern has its own purpose and implementation details.

  • Design patterns promote code reusability and flexibility in software development.

Q89. Instagram system design

Ans.

Design a scalable system like Instagram for sharing photos and videos

  • Use a distributed architecture with multiple servers for handling user uploads, storage, and retrieval

  • Implement a content delivery network (CDN) for fast delivery of media content to users worldwide

  • Utilize a database system for storing user data, media metadata, and relationships between users and content

  • Incorporate caching mechanisms to improve performance and reduce load on the database

  • Implement a notifica...read more

Q90. Lifetime scopes in .Net

Ans.

Lifetime scopes in .Net refer to the lifespan of objects managed by a dependency injection container.

  • Lifetime scopes define how long an object should exist within the container

  • Common lifetime scopes include transient, singleton, scoped

  • Transient objects are created each time they are requested

  • Singleton objects are created once and reused for the lifetime of the application

  • Scoped objects are created once per request or scope

Q91. SIngle sign on process

Ans.

Single sign-on (SSO) is a process that allows users to access multiple applications with a single set of login credentials.

  • SSO eliminates the need for users to remember multiple usernames and passwords.

  • It improves security by reducing the risk of password-related security breaches.

  • SSO can be implemented using various protocols such as SAML, OAuth, and OpenID Connect.

  • Examples of SSO providers include Okta, OneLogin, and Microsoft Azure AD.

Q92. SAML process explain

Ans.

SAML is a protocol used for exchanging authentication and authorization data between parties.

  • SAML stands for Security Assertion Markup Language.

  • It is used for single sign-on (SSO) authentication.

  • SAML has three main components: the identity provider (IDP), the service provider (SP), and the user.

  • The SAML process involves the user requesting access to a service, the SP redirecting the user to the IDP for authentication, the IDP authenticating the user and generating a SAML asse...read more

Q93. What are PropTypes

Ans.

PropTypes are a way to type-check props in React components to ensure they are passed correctly.

  • Used in React to specify the data type of props passed to a component

  • Helps catch bugs by providing warnings if incorrect data types are passed

  • Can be defined using PropTypes library or as static properties in a component

Q94. HLD of order processing system

Ans.

The High-Level Design (HLD) of an order processing system involves outlining the overall architecture and components of the system.

  • Identify the main components of the system such as order creation, order validation, order fulfillment, and order tracking.

  • Define the interactions between these components and how data flows between them.

  • Consider scalability, fault tolerance, and performance requirements in the design.

  • Include details on data storage, processing logic, and external...read more

Q95. Multithreading in Java

Ans.

Multithreading in Java allows multiple threads to execute concurrently, improving performance and responsiveness.

  • Multithreading in Java is achieved by extending the Thread class or implementing the Runnable interface.

  • Threads share the same memory space, so synchronization is important to prevent data corruption.

  • Java provides synchronized keyword, locks, and concurrent data structures for thread safety.

  • Example: Creating a new thread - Thread thread = new Thread(new MyRunnable(...read more

Q96. Remove Leaf Nodes of Tree

Ans.

Remove leaf nodes of a tree

  • Traverse the tree in postorder fashion

  • For each node, check if it is a leaf node (both children are null)

  • If it is a leaf node, remove it by setting its parent's reference to null

Q97. Train water trapping problem

Ans.

Train water trapping problem involves calculating the amount of water that can be trapped between blocks.

  • Calculate the maximum height of blocks on left and right of each block

  • Find the minimum of the two heights and subtract the height of the current block to get trapped water

  • Sum up the trapped water for all blocks to get total trapped water

Q98. Cycle detection in graph

Ans.

Cycle detection in graph involves detecting if there is a cycle present in a graph data structure.

  • Use Depth First Search (DFS) or Breadth First Search (BFS) to detect cycles in a graph.

  • Maintain a visited set to keep track of visited nodes and a recursion stack to keep track of nodes in the current path.

  • If a node is visited again and is in the recursion stack, then a cycle is detected.

  • Example: Detecting a cycle in a directed graph using DFS.

Q99. Design a note taking app

Ans.

A note taking app that allows users to create, edit, and organize their notes.

  • Implement a user interface for creating and editing notes

  • Include features like text formatting, image attachments, and voice recordings

  • Provide options for organizing notes into folders or categories

  • Include search functionality to easily find specific notes

  • Implement synchronization across devices for seamless access to notes

Q100. Create a timer in react

Ans.

Create a timer in React using useState and useEffect hooks

  • Use useState hook to store the timer value

  • Use useEffect hook to update the timer value every second

  • Display the timer value in the component's render method

Previous
1
2
3
Next
Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories

Interview experiences of popular companies

4.4
 • 825 Interviews
3.8
 • 386 Interviews
3.8
 • 75 Interviews
3.7
 • 56 Interviews
3.8
 • 47 Interviews
3.8
 • 23 Interviews
4.0
 • 10 Interviews
View all

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

Software Engineer III Interview Questions
Share an Interview
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

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

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter