Software Development Engineer

300+ Software Development Engineer Interview Questions and Answers

Updated 1 Dec 2024

Popular Companies

search-icon

Q51. How do you prioritize tasks when you have multiple deadlines to meet?

Ans.

Prioritize tasks based on deadlines, importance, and impact on overall project goals.

  • Evaluate deadlines and prioritize tasks based on urgency

  • Consider the importance of each task in relation to project goals

  • Assess the impact of completing each task on overall project progress

  • Communicate with stakeholders to understand priorities and expectations

  • Break down tasks into smaller sub-tasks to manage workload effectively

Q52. What is difference between DBMS and RDBMs?

Ans.

DBMS is a software to manage databases while RDBMS is a type of DBMS that uses a relational model.

  • DBMS stands for Database Management System while RDBMS stands for Relational Database Management System.

  • DBMS can manage any type of database while RDBMS uses a specific model to manage data.

  • RDBMS uses tables to store data and relationships between tables are defined by keys.

  • Examples of RDBMS include MySQL, Oracle, and SQL Server while examples of DBMS include MongoDB and Cassandr...read more

Q53. What is Sum Of Digit and ProductOfDogit why used ?

Ans.

Sum of Digit and Product of Digit are mathematical operations used in various applications.

  • Sum of Digit is the sum of all the digits in a number. It is used in various applications like checking if a number is divisible by 3 or 9.

  • Product of Digit is the product of all the digits in a number. It is used in various applications like checking if a number is a perfect square or if it has any repeated digits.

  • Both operations are used in cryptography to generate and verify checksums...read more

Q54. what is difference between stored procedure and function?

Ans.

Stored procedures are used to perform a set of actions, while functions return a single value.

  • Stored procedures are precompiled and stored in a database, while functions are compiled at runtime.

  • Functions can be used in SQL statements, while stored procedures cannot be used in SQL statements.

  • Stored procedures can have input and output parameters, while functions can only have input parameters.

  • Functions can be called from within stored procedures, but stored procedures cannot b...read more

Are these interview questions helpful?

Q55. One coding Question 1. Number of pairs in array having sum k.

Ans.

Count pairs in array with sum k.

  • Use a hashmap to store the frequency of each element in the array.

  • For each element, check if k - element exists in the hashmap.

  • Increment the count of pairs if found and update the hashmap accordingly.

Q56. Design a photo viewer app (Technical architecture) for android device.

Ans.

A photo viewer app for Android devices.

  • Use RecyclerView to display a grid of photos

  • Implement a caching mechanism to improve performance

  • Support gestures for zooming and swiping between photos

  • Integrate with a cloud storage service for photo storage and retrieval

  • Implement a search feature to allow users to find specific photos

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q57. Check the given sentence is palindrome or not by taking input by user.

Ans.

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

  • Prompt the user to input a sentence

  • Remove all spaces and punctuation from the sentence

  • Reverse the sentence and compare it with the original sentence to check for palindrome

Q58. Find a string in a 2D character matrix in any order(horizontal/vertical/diagonal)

Ans.

Search for a string in a 2D character matrix in any direction

  • Iterate through each cell of the matrix

  • For each cell, check all possible directions for the string

  • If found, return the starting and ending coordinates of the string

Software Development Engineer Jobs

GPU Software Development Engineer 4-9 years
Intel Technology India Pvt Ltd
4.3
Bangalore / Bengaluru
Sr Software Dev Engineer, Amazon Tax Services 5-10 years
Amazon India Software Dev Centre Pvt Ltd
4.1
Bangalore / Bengaluru
Sr Software Dev Engineer, Amazon 5-10 years
Amazon India Software Dev Centre Pvt Ltd
4.1
Bangalore / Bengaluru

Q59. What is Firebase Dynamic Links & how to handle it?

Ans.

Firebase Dynamic Links is a deep linking platform that allows users to share content across different devices and platforms.

  • Firebase Dynamic Links are URLs that allow users to share content across different devices and platforms

  • They can be used to redirect users to specific content within an app or website

  • They can also be used to track user engagement and measure the effectiveness of marketing campaigns

Q60. what is polymorphism and interface , what is difference between interface and abstract class

Ans.

Polymorphism allows objects of different classes to be treated as objects of a common superclass. Interface is a contract that defines a set of methods that a class must implement.

  • Polymorphism allows for flexibility in programming by enabling a single interface to be used to represent multiple types of objects

  • Interfaces in Java are similar to abstract classes, but they cannot contain any implementation code

  • Abstract classes can have both abstract and concrete methods, while in...read more

Q61. Difference between DFS and BFS?When to use which one?

Ans.

DFS and BFS are graph traversal algorithms. DFS explores as far as possible before backtracking. BFS explores level by level.

  • DFS stands for Depth First Search, while BFS stands for Breadth First Search.

  • DFS explores as far as possible along each branch before backtracking, while BFS explores level by level.

  • DFS uses a stack data structure, while BFS uses a queue data structure.

  • DFS is often used for solving problems like finding connected components, topological sorting, and sol...read more

Q62. Number of binary strings of length N, not containing consecutive 1s. Link: - -----/

Ans.

The number of binary strings of length N without consecutive 1s.

  • Use dynamic programming to solve the problem.

  • Create an array to store the number of valid strings for each length.

  • Initialize the array with base cases.

  • Iterate through the array and calculate the number of valid strings for each length.

  • Return the value at the Nth index of the array.

Q63. what approach you follow to debud java script code ?

Ans.

I follow a systematic approach to debug JavaScript code.

  • Identify the problem area and reproduce the issue

  • Use console.log() to print values and debug

  • Use browser developer tools to step through code

  • Check for syntax errors and typos

  • Use a linter to catch common errors

  • Use a debugger tool like Chrome DevTools

  • Break down the code into smaller parts for easier debugging

Q64. Create a news application like InShorts using Flutter & Open News API

Ans.

A news app like InShorts using Flutter & Open News API

  • Use Flutter to build the UI for the app

  • Integrate Open News API to fetch news articles

  • Display news articles in a concise and easy-to-read format

  • Allow users to customize their news feed based on topics and sources

  • Implement push notifications for breaking news

  • Include social sharing options for articles

Q65. which access modifier to restrict interface method access to only derived or implemented classes

Ans.

Protected access modifier restricts interface method access to only derived or implemented classes.

  • Use 'protected' access modifier to restrict access to only derived or implemented classes

  • Protected members are accessible within the same package or by subclasses

  • Example: 'protected void methodName() {}' in an interface

Q66. How would you write an update query in SQL ?

Ans.

An update query in SQL is used to modify existing records in a database table.

  • Use the UPDATE keyword followed by the table name

  • Set the column(s) to be updated using SET keyword

  • Specify the new values for the column(s)

  • Add a WHERE clause to specify which records to update

Q67. 1) Time complexity of binary search for array and linked list

Ans.

Binary search has O(log n) time complexity for arrays and O(n) for linked lists.

  • Binary search is efficient for arrays due to their random access nature.

  • Linked lists require sequential traversal, making binary search inefficient.

  • For arrays, the time complexity is O(log n) as the search space is halved with each iteration.

  • For linked lists, the time complexity is O(n) as all nodes must be visited to find the target.

  • Binary search can be implemented recursively or iteratively.

Q68. Find one string in another big string without inbuild function, what if bigger string is too big, complexity

Ans.

Use a sliding window approach to search for a substring in a larger string without using built-in functions.

  • Iterate through the larger string using a window of the size of the substring to search for.

  • Compare the characters in the window with the substring to check for a match.

  • Move the window one character at a time until the end of the larger string is reached.

  • Time complexity is O(n*m) where n is the length of the larger string and m is the length of the substring.

Q69. Write the artificial intelligence logic in code for your Chess representation

Ans.

AI logic for Chess representation

  • Implement minimax algorithm with alpha-beta pruning

  • Use evaluation function to assign values to board positions

  • Implement move ordering to improve efficiency

  • Use transposition tables to store previously evaluated positions

  • Implement iterative deepening to improve search depth

Q70. what is caching ? Different type of caching techniques ?

Ans.

Caching is the process of storing frequently accessed data in a temporary storage area for faster access.

  • Caching reduces the number of requests made to the server, improving performance.

  • Types of caching include browser caching, server caching, and database caching.

  • Browser caching stores web page resources like images and scripts on the user's device.

  • Server caching stores frequently accessed data in the server's memory.

  • Database caching stores frequently accessed data in the da...read more

Q71. what is state management? Different type of state management?

Ans.

State management is the process of managing and maintaining the state of an application or system.

  • State management involves storing and updating data that represents the current state of an application or system.

  • There are different types of state management, including client-side state management and server-side state management.

  • Client-side state management involves storing state data on the client-side, typically in the browser's memory or local storage.

  • Server-side state man...read more

Q72. 1. How do process a big CSV file and serve data to UI without storing in db

Ans.

Process big CSV file and serve data to UI without storing in db

  • Use streaming API to read CSV file in chunks

  • Transform data into JSON format

  • Serve JSON data to UI using REST API

  • Use pagination to limit the amount of data sent to UI

  • Cache data in memory to improve performance

Q73. Find the sum of pairs in the binary search tree which is equal to k

Ans.

Find the sum of pairs in a binary search tree equal to k.

  • Traverse the tree in-order and store the values in an array.

  • Use two pointers approach to find the pairs that sum up to k.

  • Time complexity: O(n), Space complexity: O(n).

Q74. Separate prime from non prime in array if order matters

Ans.

Use two separate arrays to store prime and non-prime numbers from the input array.

  • Iterate through the input array and check if each element is prime or not.

  • Store prime numbers in one array and non-prime numbers in another array.

  • Maintain the order of elements in the input array while separating prime and non-prime numbers.

Q75. Find the nth largest element from last in a singly linked list

Ans.

Find the nth largest element from last in a singly linked list

  • Traverse the list to find its length

  • Traverse again to the (length-n)th node

  • Return its value

Q76. Life Cycle of Spring Bean, difference between java versions, difference between throw and throws, exception, abstraction, polymorphism and so on.

Ans.

Questions related to Spring Bean, Java versions, exception handling, and OOP concepts.

  • Spring Bean goes through various stages in its lifecycle such as instantiation, initialization, and destruction.

  • Java versions have differences in terms of features, performance, and security. For example, Java 8 introduced lambda expressions and streams.

  • throw is used to throw an exception explicitly while throws is used to declare the exceptions that a method may throw.

  • Exception handling is ...read more

Q77. merge point of two inked lists which will be same from a node. (Linked List)

Ans.

Find the merge point of two linked lists.

  • Traverse both linked lists to find their lengths.

  • Calculate the difference in lengths and move the pointer of the longer list by the difference.

  • Traverse both lists in parallel until the merge point is found.

Q78. What is the difference between front end and backed , and what do you mean by full stack developer

Ans.

Front end deals with user interface, while back end deals with server-side operations. Full stack developers work on both.

  • Front end involves HTML, CSS, and JavaScript for creating user interfaces

  • Back end involves server-side programming languages like Java, Python, or PHP

  • Full stack developers work on both front end and back end, and may also work on databases and server management

  • Examples of full stack frameworks include MEAN, MERN, and LAMP

Q79. Can it be improved? Is there any other way to do it?

Ans.

Yes, it can be improved by considering alternative approaches or technologies.

  • Consider different algorithms or data structures for optimization

  • Explore new technologies or frameworks that may offer better performance

  • Collaborate with team members to brainstorm alternative solutions

  • Conduct code reviews and seek feedback for improvement

Q80. How you will handle errors in Sql Server?

Ans.

Errors in SQL Server can be handled using TRY-CATCH blocks and error handling functions.

  • Use TRY-CATCH blocks to catch and handle errors

  • Use error handling functions like ERROR_MESSAGE(), ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), and ERROR_PROCEDURE() to get more information about the error

  • Use RAISERROR() to raise custom errors

Q81. What is Diff between static and final keyword in java

Ans.

Static keyword is used to create class-level variables and methods, while final keyword is used to make a variable constant.

  • Static keyword is used to create variables and methods that belong to the class itself, rather than to any specific instance of the class.

  • Final keyword is used to make a variable constant and cannot be changed once it has been assigned a value.

  • Static variables are shared among all instances of a class, while final variables are unique to each instance.

Q82. SQL vs NoSQL and when to use what

Ans.

SQL is best for structured data, NoSQL for unstructured. Use SQL for complex queries, NoSQL for scalability and speed.

  • SQL is best for structured data, NoSQL for unstructured

  • Use SQL for complex queries, NoSQL for scalability and speed

  • SQL is ACID compliant, NoSQL is BASE

  • Examples of SQL: MySQL, Oracle, PostgreSQL

  • Examples of NoSQL: MongoDB, Cassandra, Redis

Q83. To solve a program which removes the duplicate characters from the string using asingle loop

Ans.

The program removes duplicate characters from a string using a single loop.

  • Iterate through each character in the string

  • Check if the character is already present in a separate array

  • If not present, add it to the array

  • Finally, concatenate the characters in the array to form the resulting string

Q84. what is OS, and what is the difference between macOS and Windows?

Ans.

OS stands for Operating System. macOS and Windows are two different operating systems with different user interfaces and functionalities.

  • OS (Operating System) is a software that manages computer hardware and provides common services for computer programs.

  • macOS is the operating system developed by Apple for their Macintosh computers.

  • Windows is the operating system developed by Microsoft for personal computers.

  • macOS has a more user-friendly interface and is known for its stabil...read more

Q85. Find a palindrome, longest possible palindrome, find remainder without using modulus operator

Ans.

Answering questions on finding palindromes and remainders without modulus operator.

  • To find a palindrome, compare the first and last characters of the string and move towards the center until they meet or the string is not a palindrome.

  • To find the longest palindrome, iterate through all possible substrings and check if they are palindromes.

  • To find remainder without modulus operator, use repeated subtraction until the dividend is less than the divisor.

Q86. Design a data structure for efficient insert(),delete(),search(), return_any_value().

Ans.

Design a data structure for efficient insert(),delete(),search(), return_any_value().

  • Consider using a hash table or a balanced binary search tree

  • For return_any_value(), use a random number generator to select a value

  • Optimize for the most frequently used operations

Q87. how does one services interact with other in microservice

Ans.

Microservices interact with each other through APIs, messaging, or events.

  • Microservices communicate with each other through APIs, which can be synchronous or asynchronous.

  • Messaging systems like RabbitMQ or Kafka can be used for communication between microservices.

  • Events can be used for loosely coupled communication between microservices.

  • Service discovery mechanisms like Eureka or Consul help microservices locate and communicate with each other.

  • API gateways can be used to mana...read more

Q88. Why is spring framework used in your project

Ans.

Spring framework is used for dependency injection, MVC architecture, and easy integration with other frameworks.

  • Enables loose coupling between components

  • Provides support for transaction management

  • Offers easy integration with other frameworks like Hibernate

  • Follows the Model-View-Controller (MVC) architecture

  • Simplifies testing with its built-in testing features

Q89. What is opps concept ?

Ans.

OOPs (Object-Oriented Programming) is a programming paradigm based on the concept of objects.

  • OOPs focuses on creating objects that contain both data and functions.

  • It emphasizes on encapsulation, inheritance, and polymorphism.

  • Encapsulation is the process of hiding the implementation details of an object from the outside world.

  • Inheritance allows a class to inherit properties and methods from another class.

  • Polymorphism allows objects to take on multiple forms or behaviors.

  • Exampl...read more

Q90. How do you do DeepLinking in android.

Ans.

Deep linking in Android allows linking to specific content within an app, enabling seamless navigation.

  • Deep linking is achieved by defining intent filters in the app's manifest file.

  • The intent filter specifies the data format and scheme for the deep link.

  • Deep links can be triggered from other apps, websites, or even notifications.

  • Handling deep links involves extracting data from the intent and navigating to the appropriate screen.

  • Example:

Q91. what is Temp table ? how you will create it.

Ans.

Temp table is a temporary table used to store data temporarily during a session.

  • Temp table is created using CREATE TABLE statement with a # symbol before the table name.

  • It is used to store intermediate results during complex queries.

  • Temp tables are automatically dropped when the session ends or when the table is explicitly dropped.

  • They can be used to improve query performance by reducing the number of joins or subqueries.

  • Example: CREATE TABLE #tempTable (id INT, name VARCHAR(...read more

Q92. where you will write Rollback in Try Catch block?

Ans.

Rollback should be written in the Catch block to undo the changes made in the Try block.

  • Rollback should be used to undo the changes made in the Try block if an exception occurs in the Catch block.

  • The Rollback code should be placed in the Catch block after the exception handling code.

  • The Rollback code should be written to reverse the changes made in the Try block.

  • For example, if a database transaction was started in the Try block, the Rollback code should be used to rollback t...read more

Q93. 3. Check whether a string is palindrome or not

Ans.

Check if a string is a palindrome or not.

  • A palindrome is a word, phrase, number, or other sequence of characters that reads the same forward and backward.

  • To check if a string is a palindrome, compare the first and last characters, then the second and second-to-last characters, and so on.

  • If all pairs match, the string is a palindrome. If any pair does not match, the string is not a palindrome.

  • Ignore spaces, punctuation, and capitalization when checking for palindromes.

Q94. How to search in a dictionary?

Ans.

To search in a dictionary, use the key-value pairs and access the value using the desired key.

  • Access the dictionary using the key to retrieve the corresponding value.

  • If the key is not present, handle the error or return a default value.

  • Example: dictionary['key'] returns the value associated with 'key'.

Q95. Print the count of words in a paragraph. (Easy)

Ans.

Count the number of words in a paragraph.

  • Split the paragraph into words using whitespace as a delimiter.

  • Count the number of words in the resulting array.

  • Exclude any punctuation marks from the count.

Q96. Find all subsets of a number set such that sum of these numbers is equal to a given number

Ans.

Find all subsets of a number set with a given sum

  • Use a recursive approach to generate all possible subsets

  • For each subset, calculate the sum and check if it matches the given number

  • Store the subsets that satisfy the condition

Q97. DB queries on finding the second largest element

Ans.

Query to find the second largest element in a database table

  • Use ORDER BY and LIMIT to select the second largest element

  • For MySQL: SELECT column FROM table ORDER BY column DESC LIMIT 1,1

  • For Oracle: SELECT column FROM (SELECT column FROM table ORDER BY column DESC) WHERE ROWNUM <= 2 MINUS SELECT column FROM (SELECT column FROM table ORDER BY column DESC) WHERE ROWNUM <= 1

Q98. features of java 8 Like lambda expression,functional interface, foreach

Ans.

Java 8 introduced lambda expressions, functional interfaces, and forEach method.

  • Lambda expressions allow functional programming in Java.

  • Functional interfaces are interfaces with only one abstract method.

  • forEach method is used to iterate over collections in a concise way.

  • Stream API is also introduced in Java 8 for processing collections.

  • Optional class is introduced to handle null values.

  • Default and static methods are also introduced in interfaces.

Q99. find the longest length of consecutive number from array whose sum is lesser or equal to target

Ans.

Find the longest consecutive numbers in an array whose sum is less than or equal to a target.

  • Iterate through the array and keep track of the current sum and length of consecutive numbers.

  • Update the longest length whenever the current sum is less than or equal to the target.

  • Reset the current sum and length when the sum exceeds the target.

Q100. 1. DFS based question Find number of rotten tomatoes.

Ans.

DFS based question to find number of rotten tomatoes in an array of strings.

  • Implement DFS to traverse the array of strings

  • Check each element for rotten tomatoes

  • Keep track of the count of rotten tomatoes

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

Interview experiences of popular companies

3.7
 • 10k Interviews
3.9
 • 7.8k Interviews
4.1
 • 4.9k Interviews
3.6
 • 3.6k Interviews
4.0
 • 1.3k Interviews
4.4
 • 813 Interviews
3.5
 • 188 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 Development Engineer 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
Get AmbitionBox app

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