Software Development Engineer
300+ Software Development Engineer Interview Questions and Answers
Q51. How do you prioritize tasks when you have multiple deadlines to meet?
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?
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 ?
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?
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
Q55. One coding Question 1. Number of pairs in array having sum k.
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.
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 🌟
Q57. Check the given sentence is palindrome or not by taking input by user.
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)
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
Q59. What is Firebase Dynamic Links & how to handle it?
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
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?
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: - -----/
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 ?
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
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
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 ?
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
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
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
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 ?
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?
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
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
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
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
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.
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)
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
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?
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?
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
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
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
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?
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
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().
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
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
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 ?
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.
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.
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?
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
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?
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)
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
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
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
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
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.
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
Interview Questions of Similar Designations
Top Interview Questions for Software Development Engineer Related Skills
Interview experiences of popular companies
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
Reviews
Interviews
Salaries
Users/Month