Software Engineer Trainee

100+ Software Engineer Trainee Interview Questions and Answers for Freshers

Updated 3 Feb 2025
search-icon

Q1. Palindromic Linked List Problem Statement

Given a singly linked list of integers, determine if it is a palindrome. Return true if it is a palindrome, otherwise return false.

Example:

Input:
1 -> 2 -> 3 -> 2 -> ...read more

Q2. Search in a 2D Matrix

Given a 2D matrix MAT of size M x N, where M and N represent the number of rows and columns respectively. Each row is sorted in non-decreasing order, and the first element of each row is g...read more

Q3. Slot Game Problem Statement

You are given a slot machine with four slots, each containing one of the colors Red (R), Yellow (Y), Green (G), or Blue (B). You must guess the colors without prior knowledge. For ea...read more

Q4. Maximum Level Sum in a Binary Tree

Given a Binary Tree with integer nodes, determine the maximum level sum among all the levels in the tree. The sum for a level is defined as the sum of all node values present ...read more

Are these interview questions helpful?

Q5. Left Rotations of an Array

Given an array of size N and Q queries, each query requires left rotating the original array by a specified number of elements. Return the modified array for each query.

Input:

The fi...read more

Q6. Reverse Linked List Problem Statement

Given a Singly Linked List of integers, your task is to reverse the Linked List by altering the links between the nodes.

Input:

The first line of input is an integer T, rep...read more

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q7. Palindrome Linked List Problem Statement

You are provided with a singly linked list of integers. Your task is to determine whether the given singly linked list is a palindrome. Return true if it is a palindrome...read more

Q8. Inversion Count Problem

Given an integer array ARR of size N with all distinct values, determine the total number of 'Inversions' that exist.

Explanation:

An inversion is a pair of indices (i, j) such that:

  • AR...read more

Software Engineer Trainee Jobs

Software Engineer Trainee 0-3 years
Acciojob
4.1
₹ 4 L/yr - ₹ 5 L/yr
Hyderabad / Secunderabad
Trainee Software Engineer 0-2 years
IRIS Business Services
2.8
Mumbai
Trainee Software Engineer 0-1 years
Diensten Tech Limited
3.1
Bangalore / Bengaluru

Q9. Pair Sum Problem Statement

You are given an integer array 'ARR' of size 'N' and an integer 'S'. Your task is to find and return a list of all pairs of elements where each sum of a pair equals 'S'.

Note:

Each pa...read more

Q10. Power Calculation Problem Statement

Given a number x and an exponent n, compute xn. Accept x and n as input from the user, and display the result.

Note:

You can assume that 00 = 1.

Input:
Two integers separated...read more

Q11. N Queens Problem

Given an integer N, find all possible placements of N queens on an N x N chessboard such that no two queens threaten each other.

Explanation:

A queen can attack another queen if they are in the...read more

Q12. Two complement of a number 1001 what is data structures?, types of data structures ? what is maching learning name diff methods used in machine learning basic Java concepts from OOPs as per my interview experie...

read more
Ans.

The question covers topics like two's complement, data structures, machine learning, and OOPs concepts in Java.

  • Two's complement of a number 1001 is -0111.

  • Data structures are ways of organizing and storing data in a computer so that it can be accessed and used efficiently. Examples include arrays, linked lists, stacks, queues, trees, and graphs.

  • Machine learning is a subset of artificial intelligence that involves training algorithms to make predictions or decisions based on da...read more

Q13. How is an abstract class different from an interface?

Q14. Develope "To Do List" full fledged Application with modern design including header footer and also implement functionality like 'Add' , 'Edit', 'Delete' and 'View List' within ½ hour of time span of Interview '...

read more
Ans.

Develop a 'To Do List' application with modern design and functionality like 'Add', 'Edit', 'Delete', and 'View List' within ½ hour.

  • Use HTML, CSS, and JavaScript for front-end development

  • Implement CRUD operations for tasks (Create, Read, Update, Delete)

  • Design a user-friendly interface with header and footer

  • Utilize localStorage or backend server for data storage

Q15. What are Hooks in ReactJs and Explain useState, useRef, useEffect Hooks with their usecases?

Ans.

Hooks are functions that allow us to use state and other React features in functional components.

  • useState is a hook that allows us to add state to functional components.

  • useRef is a hook that allows us to create a mutable reference that persists across renders.

  • useEffect is a hook that allows us to perform side effects in functional components.

  • useState example: const [count, setCount] = useState(0);

  • useRef example: const inputRef = useRef(null);

  • useEffect example: useEffect(() =>...read more

Q16. What is meant by static polymorphism?

Q17. What advanced Java concepts are you familiar with, such as JDBC, Servlets, Hibernate, Spring, and servers like Apache Tomcat or IBM, as well as any build tools you have experience using?

Ans.

I am familiar with JDBC, Servlets, Hibernate, Spring, Apache Tomcat, and build tools like Maven.

  • Experience with JDBC for database connectivity in Java applications

  • Knowledge of Servlets for handling web requests and responses

  • Understanding of Hibernate for object-relational mapping in Java

  • Familiarity with Spring framework for building enterprise Java applications

  • Experience with Apache Tomcat for deploying Java web applications

  • Proficiency in build tools like Maven for project ma...read more

Q18. What is the difference between overloading and overriding?

Q19. Software process models? differentiating the waterfall model and the incremental model.

Ans.

Waterfall model is a linear sequential approach, while incremental model divides the project into small increments.

  • Waterfall model follows a linear and sequential approach, where each phase must be completed before moving on to the next.

  • Incremental model divides the project into small increments, with each increment building upon the previous one.

  • Waterfall model is less flexible to changes, as requirements are finalized early in the process.

  • Incremental model allows for change...read more

Q20. What are private and special IP addresses?
Q21. What is meant by normalization and denormalization?

Q22. Write Typescript code from scratch of "Finding maximum length of palindromic substring from the given Strings". Do this question in ½ hour live coding interview.

Ans.

Finding the maximum length of palindromic substring from an array of strings using Typescript.

  • Iterate through each string in the array

  • For each string, iterate through all possible substrings and check if it is a palindrome

  • Keep track of the maximum length palindrome found

Q23. How can you compose multiple HOCs with render props in a React component

Ans.

Compose multiple HOCs with render props in a React component

  • Create a render prop component that accepts a function as a prop

  • Wrap the render prop component with HOCs

  • Pass the function as a prop to the HOCs

  • Use the function to render the component's content

  • Example: withAuth(withTheme(RenderPropComponent))

Q24. Why is java called the partial OOP concept?

Ans.

Java is not called the partial OOP concept.

  • Java is a fully object-oriented programming language.

  • It supports all the principles of OOP such as encapsulation, inheritance, and polymorphism.

  • Java allows the creation of classes, objects, and methods to implement OOP concepts.

  • It provides features like abstraction and encapsulation to achieve data hiding and modularity.

  • Java also supports interfaces, which are a key component of OOP.

  • The misconception of Java being a partial OOP conce...read more

Q25. Explain the difference between the DELETE and TRUNCATE commands in a DBMS.

Q26. Write a program to print the length of number of permutations if the given input is "123"

Ans.

Program to print the length of number of permutations of a given input

  • Use recursion to generate all permutations

  • Count the number of permutations and print the length

Q27. Swap 2 integers without using 3rd integer

Ans.

Swap 2 integers without using 3rd integer

  • Use XOR operator

  • Addition and subtraction can also be used

  • Bitwise operations can be used

Q28. What are the features of Java 8 that you are familiar with?

Ans.

Java 8 features include lambda expressions, functional interfaces, streams, and default methods.

  • Lambda expressions allow you to write code in a more concise and readable way.

  • Functional interfaces are interfaces with a single abstract method, used for lambda expressions.

  • Streams provide a way to work with sequences of elements and perform operations like filter, map, and reduce.

  • Default methods allow interfaces to have method implementations.

  • Example: (1) Lambda expression - (a, ...read more

Q29. > Given an array of n-1 numbers 1<=a[i]<=n. We need to find the number that was missing from the array.

Ans.

Given an array of n-1 numbers 1<=a[i]<=n, find the missing number.

  • Calculate the sum of all numbers from 1 to n using the formula n*(n+1)/2

  • Calculate the sum of all elements in the array

  • Subtract the sum of array elements from the sum of all numbers to get the missing number

Q30. What are Components and state in ReactJs?

Ans.

Components are reusable UI elements in ReactJs. State is an object that stores data and controls a component's behavior.

  • Components are like building blocks that can be combined to create complex UIs

  • State is used to store and manage data within a component

  • Changes to state trigger a re-render of the component

  • State should be kept as minimal as possible to avoid performance issues

  • Example: A button component can have a state that tracks the number of times it has been clicked

Q31. Define the 7 different layers of the OSI Reference Model.

Q32. How to find the reverse of a string of a particular order seperated by dots.

Ans.

To reverse a string of a particular order separated by dots, split the string into an array, reverse the array, and join it back into a string.

  • Split the string using the dot separator

  • Reverse the resulting array

  • Join the array back into a string using the dot separator

Q33. What are the key Object-Oriented Programming (OOP) concepts in Java?

Ans.

Key OOP concepts in Java include classes, objects, inheritance, polymorphism, encapsulation, and abstraction.

  • Classes: Blueprint for creating objects, containing attributes and methods.

  • Objects: Instances of classes that encapsulate data and behavior.

  • Inheritance: Allows a class to inherit attributes and methods from another class.

  • Polymorphism: Ability to present the same interface for different data types.

  • Encapsulation: Bundling data and methods that operate on the data into a ...read more

Q34. How to find the year is leap or not using single if condition.

Ans.

To find leap year using single if condition

  • Check if year is divisible by 4 and not divisible by 100

  • Or check if year is divisible by 400

  • If either of the above conditions is true, then it's a leap year

Q35. What is Distinct keyword in SQL ?

Ans.

Distinct keyword in SQL is used to retrieve unique values from a column in a table.

  • Distinct keyword eliminates duplicate rows from the result set

  • It is often used in conjunction with SELECT statement

  • Example: SELECT DISTINCT column_name FROM table_name

Q36. Concise code to add two strings such as str1="1234" and str2="8765".

Ans.

Use concatenation operator to add two strings.

  • Use '+' operator to concatenate two strings.

  • Example: str1 + str2 will result in '12348765'.

Q37. Built a simple web application to store the data and show it to the browser

Ans.

I would use a combination of HTML, CSS, and JavaScript to create a simple web application that stores and displays data.

  • Use HTML to create the structure of the web application

  • Use CSS to style the elements on the page

  • Use JavaScript to handle user interactions and store/retrieve data

  • Consider using a backend server (e.g. Node.js) to handle data storage and retrieval

  • Utilize AJAX to fetch data from the server asynchronously

Q38. Explain setTimeout, setImmediate and process.nextTick ?

Ans.

setTimeout, setImmediate and process.nextTick are Node.js functions used for asynchronous programming.

  • setTimeout is used to execute a function after a specified amount of time has passed.

  • setImmediate is used to execute a function immediately after the current event loop iteration.

  • process.nextTick is used to execute a function at the beginning of the next event loop iteration.

  • setTimeout and setImmediate are similar, but setImmediate has higher priority in the event loop.

  • proces...read more

Q39. What Algorithm you used in your Project?

Ans.

I used the Dijkstra's algorithm for finding the shortest path in my project.

  • Implemented Dijkstra's algorithm to find the shortest path between nodes in a graph

  • Used priority queue to optimize the algorithm

  • Considered edge weights and node distances while calculating the shortest path

Q40. What is life cycle in ReactJS ?

Ans.

ReactJS life cycle refers to the series of methods that are invoked in the process of creating, updating and destroying a component.

  • ReactJS life cycle consists of three phases: Mounting, Updating and Unmounting.

  • Mounting phase includes methods like constructor, render, componentDidMount.

  • Updating phase includes methods like shouldComponentUpdate, render, componentDidUpdate.

  • Unmounting phase includes method componentWillUnmount.

  • These methods help in managing the state and props o...read more

Q41. code snippets on note pad. eg reverse string

Ans.

Reverse a string using array manipulation

  • Create an array of characters from the input string

  • Use a loop to iterate through the array in reverse order

  • Append each character to a new string to form the reversed string

Q42. What is the difference between method overloading and overwriting?

Ans.

Method overloading involves multiple methods in the same class with the same name but different parameters. Method overriding involves a subclass providing a specific implementation of a method that is already provided by its superclass.

  • Method overloading is achieved within the same class by having multiple methods with the same name but different parameters.

  • Method overriding occurs in a subclass that provides a specific implementation of a method that is already provided by ...read more

Q43. Purpose of getDerivedStateFromProps() and getSnapshotBeforeUpdate() Lifecyle method?

Ans.

getDerivedStateFromProps() updates state based on props changes. getSnapshotBeforeUpdate() captures current state before update.

  • getDerivedStateFromProps() is called before rendering and updates state based on changes in props.

  • getSnapshotBeforeUpdate() is called after rendering but before updating the DOM. It captures current state before update.

  • getDerivedStateFromProps() is a static method and should return an object to update state or null to indicate no update.

  • getSnapshotBe...read more

Q44. What is Integrity Constraints ?

Ans.

Integrity constraints are rules that ensure data integrity and consistency in a database.

  • Integrity constraints are used to enforce business rules or data quality rules in a database.

  • They can include rules such as unique constraints, foreign key constraints, and check constraints.

  • Unique constraints ensure that no two rows have the same value in a specified column.

  • Foreign key constraints enforce referential integrity by ensuring that values in one table match values in another ...read more

Q45. What is exception handling in programming?

Ans.

Exception handling is a mechanism to handle runtime errors in a program to prevent it from crashing.

  • Exceptions are unexpected events that occur during the execution of a program.

  • Exception handling allows the programmer to gracefully handle these errors and prevent the program from crashing.

  • Common exception handling constructs include try, catch, and finally blocks.

  • Example: try { // code that may throw an exception } catch(Exception e) { // handle the exception }

  • Example: final...read more

Q46. What is inheritance and encapsulation?

Ans.

Inheritance is a mechanism where a new class is derived from an existing class. Encapsulation is the process of hiding implementation details from the user.

  • Inheritance allows the new class to inherit properties and methods of the existing class.

  • Encapsulation helps in achieving data abstraction and security.

  • Inheritance promotes code reusability while encapsulation promotes data security.

  • Example of inheritance: class Car extends Vehicle

  • Example of encapsulation: private variable...read more

Q47. Write code for merging two shorted Arrays.

Ans.

Code to merge two sorted arrays

  • Create a new array to store the merged result

  • Use two pointers to iterate through both arrays and compare elements

  • Add the smaller element to the new array and move the pointer for that array

Q48. Definitions and example code of OOPS Concepts

Ans.

OOPS Concepts are fundamental principles of Object-Oriented Programming.

  • Encapsulation - bundling of data and methods that operate on that data

  • Inheritance - ability of a class to inherit properties and methods from its parent class

  • Polymorphism - ability of objects to take on multiple forms

  • Abstraction - hiding of complex implementation details from the user

  • Example code: class Car { private String make; public void setMake(String make) { this.make = make; } }

Q49. Explain Local Storage, Session Storage, cache in Web development

Ans.

Local Storage, Session Storage, and Cache are used to store data in the browser for faster access and better user experience.

  • Local Storage: stores data with no expiration date and can be accessed across multiple windows and tabs

  • Session Storage: stores data for a single session and is cleared when the session ends

  • Cache: stores data temporarily to reduce server load and improve performance

  • Examples: storing user preferences, caching images and scripts for faster page load

Q50. Why do we need databases?

Ans.

Databases are essential for storing, organizing, and retrieving large amounts of data efficiently.

  • Databases provide a structured way to store and manage data.

  • They allow for efficient retrieval of data through queries.

  • Databases can handle large amounts of data and ensure data integrity.

  • They enable multiple users to access and modify data simultaneously.

  • Examples include MySQL, Oracle, MongoDB, and SQL Server.

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

Interview experiences of popular companies

3.7
 • 10.4k Interviews
3.8
 • 5.6k Interviews
3.8
 • 3k Interviews
3.6
 • 581 Interviews
4.0
 • 490 Interviews
3.4
 • 268 Interviews
3.2
 • 180 Interviews
3.3
 • 58 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 Trainee 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