i
FIS
Work with us
Proud winner of ABECA 2025 - AmbitionBox Employee Choice Awards
Filter interviews by
MD5 is a hash function that produces a 128-bit hash value while SHA-2 is a family of hash functions that produce hash values of varying lengths.
MD5 produces a fixed-length hash value of 128 bits while SHA-2 produces hash values of 224, 256, 384, or 512 bits.
MD5 is considered less secure than SHA-2 due to its susceptibility to collision attacks.
SHA-2 is a family of hash functions that includes SHA-224, SHA-256, SHA...
Various types of packets can be used for DOS attacks, including SYN floods, UDP floods, and ICMP floods.
SYN floods involve sending a large number of SYN packets to overwhelm the target server's resources.
UDP floods involve sending a large number of UDP packets to consume the target server's bandwidth.
ICMP floods involve sending a large number of ICMP packets to flood the target server with traffic.
Other types of p...
Switches work on layer 2 and routers work on layer 3. Types of switches include unmanaged, managed, and layer 3 switches.
Switches work on layer 2 of the OSI model and routers work on layer 3.
Switches are used to connect devices within a network and forward data based on MAC addresses.
Types of switches include unmanaged, managed, and layer 3 switches.
Routers are used to connect different networks and forward data b...
SSL and TLS are both cryptographic protocols used to secure internet communications.
SSL stands for Secure Sockets Layer and is an older protocol that has been largely replaced by TLS.
TLS stands for Transport Layer Security and is the successor to SSL.
TLS is more secure than SSL and offers better encryption algorithms.
TLS also supports newer protocols and ciphers, while SSL does not.
SSL is vulnerable to attacks suc...
Three way handshake is a method used in TCP/IP communication to establish a connection between a client and a server.
Three way handshake involves three steps: SYN, SYN-ACK, and ACK.
The client sends a SYN packet to the server to initiate the connection.
The server responds with a SYN-ACK packet, acknowledging the client's request.
Finally, the client sends an ACK packet to the server, confirming the connection establ...
CIA Triad ensures data security. DOS attack can cause loss of availability.
CIA Triad stands for Confidentiality, Integrity, and Availability.
It ensures data security by protecting against unauthorized access, alteration, and destruction.
DOS attack can cause loss of availability by overwhelming a system with traffic or requests.
This can result in the system becoming unresponsive or crashing, making the data unavai...
Cryptography is the practice of secure communication in the presence of third parties.
Symmetric-key cryptography
Asymmetric-key cryptography
Hash functions
Encryption algorithms
Digital signatures
I applied via Campus Placement and was interviewed in Aug 2020. There was 1 interview round.
Three way handshake is a method used in TCP/IP communication to establish a connection between a client and a server.
Three way handshake involves three steps: SYN, SYN-ACK, and ACK.
The client sends a SYN packet to the server to initiate the connection.
The server responds with a SYN-ACK packet, acknowledging the client's request.
Finally, the client sends an ACK packet to the server, confirming the connection establishme...
SSL and TLS are both cryptographic protocols used to secure internet communications.
SSL stands for Secure Sockets Layer and is an older protocol that has been largely replaced by TLS.
TLS stands for Transport Layer Security and is the successor to SSL.
TLS is more secure than SSL and offers better encryption algorithms.
TLS also supports newer protocols and ciphers, while SSL does not.
SSL is vulnerable to attacks such as ...
Switches work on layer 2 and routers work on layer 3. Types of switches include unmanaged, managed, and layer 3 switches.
Switches work on layer 2 of the OSI model and routers work on layer 3.
Switches are used to connect devices within a network and forward data based on MAC addresses.
Types of switches include unmanaged, managed, and layer 3 switches.
Routers are used to connect different networks and forward data based ...
CIA Triad ensures data security. DOS attack can cause loss of availability.
CIA Triad stands for Confidentiality, Integrity, and Availability.
It ensures data security by protecting against unauthorized access, alteration, and destruction.
DOS attack can cause loss of availability by overwhelming a system with traffic or requests.
This can result in the system becoming unresponsive or crashing, making the data unavailable...
Various types of packets can be used for DOS attacks, including SYN floods, UDP floods, and ICMP floods.
SYN floods involve sending a large number of SYN packets to overwhelm the target server's resources.
UDP floods involve sending a large number of UDP packets to consume the target server's bandwidth.
ICMP floods involve sending a large number of ICMP packets to flood the target server with traffic.
Other types of packet...
Cryptography is the practice of secure communication in the presence of third parties.
Symmetric-key cryptography
Asymmetric-key cryptography
Hash functions
Encryption algorithms
Digital signatures
MD5 is a hash function that produces a 128-bit hash value while SHA-2 is a family of hash functions that produce hash values of varying lengths.
MD5 produces a fixed-length hash value of 128 bits while SHA-2 produces hash values of 224, 256, 384, or 512 bits.
MD5 is considered less secure than SHA-2 due to its susceptibility to collision attacks.
SHA-2 is a family of hash functions that includes SHA-224, SHA-256, SHA-384,...
What people are saying about FIS
I applied via Campus Placement and was interviewed before Jun 2020. There was 1 interview round.
I appeared for an interview before Sep 2020.
Round duration - 90 Minutes
Round difficulty - Medium
The test was organized online on Amcat and there were 3 coding problems. There were no MCQs in this round.
Implement a function that determines whether a given numeric string contains any substring whose integer value equals the product of two consecutive integers. The functio...
Implement a function to determine if a numeric string contains a substring whose value equals the product of two consecutive integers.
Iterate through all substrings of the input string and check if their integer value equals the product of two consecutive integers.
Use nested loops to generate all possible substrings efficiently.
Check if the product of two consecutive integers matches the integer value of the substring.
...
Given a binary tree, a target node within this tree, and an integer K
, identify and return all nodes that are exactly K
edges away from the t...
Find nodes at a specific distance from a target node in a binary tree.
Traverse the binary tree to find the target node.
Perform a depth-first search to identify nodes at distance K from the target node.
Return the values of nodes found at distance K in an array.
Round duration - 50 Minutes
Round difficulty - Medium
This round was scheduled by the college Training and Placement team virtually. The interviewer asked me questions pertaining mainly to DSA and we discussed my projects.
You are given the head node of a singly linked list head
. Your task is to modify the linked list so that all the even-valued nodes appear before all the odd-v...
Reorder a singly linked list so that all even-valued nodes appear before odd-valued nodes while preserving the original order.
Create two separate linked lists for even and odd nodes
Traverse the original list and move nodes to respective even or odd lists
Merge the even and odd lists while maintaining the original order
Round duration - 60 Minutes
Round difficulty - Easy
Again, the round was virtual. This was a Tech + Managerial round organized by the college T & P cell. The interviewer asked questions related to fundamental subjects such as Operating Systems, Object-oriented programming, and DBMS. There was one coding round at the end.
Given a binary tree of integers, find its diagonal traversal. Refer to the example for clarification on diagonal traversal.
Consider lines at a...
Diagonal traversal of a binary tree involves printing nodes at 135 degree angle in between lines.
Traverse the tree in a diagonal manner, starting from the root node.
Maintain a map to store nodes at each diagonal level.
Print the nodes at each diagonal level in the order of traversal.
Round duration - 40 Minutes
Round difficulty - Easy
The round was virtual and was organized by the T & P cell of the college. The interviewer asked some behavioural and situation-based questions. There was one puzzle at the end.
Tip 1 : For a product-based company, the first important thing is to solve as many DSA problems as possible. I solved problems mainly on GeeksforGeeks, LeetCode, and Coding Ninjas.
Tip 2 : Prepare 2-3 good projects based on your technical skillset. Prepare it very well as there is a high chance that projects would be discussed in the interview.
Tip 3 : Prepare fundamental college subjects like Operating systems, Object-oriented Programming, Database Management.
Tip 1 : Keep it short and concise
Tip 2 : Describe your projects very specifically
I appeared for an interview before Sep 2020.
Round duration - 70 minutes
Round difficulty - Medium
It consisted of three coding questions varying from easy to medium.
You are provided with the root of a binary tree that consists of 'N' nodes. Each node in this tree contains coins, and the total number of coins across all nodes is equ...
Determine the minimum number of moves required to distribute coins in a binary tree so that every node has exactly one coin.
Traverse the binary tree in a bottom-up manner to distribute coins efficiently.
Keep track of the excess or deficit of coins at each node to calculate the minimum moves required.
Transfer coins from nodes with excess coins to nodes with deficits to balance the distribution.
Example: For the input ROO...
Given an array arr
of N integers that may include duplicates, determine the number of subsets of this array containing only distinct elements.
The result should be returned modulo ...
Count the number of distinct-element subsets in an array modulo 10^9+7.
Iterate through the array and keep track of distinct elements using a set.
Calculate the number of subsets using the formula 2^distinct_count - 1.
Return the result modulo 10^9+7 for each test case.
A thief is robbing a store and can carry a maximal weight 'W' in his knapsack. There are 'N' items, where the i-th item has a weight 'wi' and value 'vi'. Consider the maximu...
The 0-1 Knapsack Problem involves maximizing the value of items a thief can steal within a weight limit.
Use dynamic programming to solve the problem efficiently.
Create a 2D array to store the maximum value that can be achieved at each weight limit.
Iterate through the items and weights to fill the array with optimal values.
Return the maximum value achievable at the given weight limit.
Round duration - 60 minutes
Round difficulty - Medium
The interview was focused on data structures as well as computer fundamentals along with puzzles.
You are given an unsorted array ARR
. Your task is to sort it so that it forms a wave-like array.
The first line contains an integer 'T', the number of test cases.
For ea...
Sort an array in wave form where each element is greater than or equal to its adjacent elements.
Iterate through the array and swap adjacent elements to form a wave pattern.
Ensure that the first element is greater than or equal to the second element.
There can be multiple valid wave arrays, so any valid wave array is acceptable.
You are given a Singly Linked List of integers. Your task is to reverse the Linked List by changing the links between nodes.
The first line of input contai...
Reverse a given singly linked list by changing the links between nodes.
Iterate through the linked list and reverse the links between nodes
Use three pointers to keep track of the current, previous, and next nodes
Update the links between nodes to reverse the list
Return the head of the reversed linked list
Round duration - 90 minutes
Round difficulty - Easy
The Round was mainly focused on resume+ dsa + system design +computer fundamentals
Given a stream of integers, calculate and print the median after each new integer is added to the stream.
Output only the integer part of the median.
N = 5
Stre...
Calculate and print the median after each new integer is added to the stream.
Use a min heap to store the larger half of the numbers and a max heap to store the smaller half.
Keep the two heaps balanced by ensuring the size difference is at most 1.
If the total number of elements is odd, the median is the top of the larger heap. If even, average the tops of both heaps.
LRU cache in a database management system stores most recently used data and removes least recently used data when full.
LRU cache is implemented using a doubly linked list and a hash map.
Each node in the linked list represents a key-value pair.
When a key is accessed, it is moved to the front of the linked list.
If the cache is full, the least recently used node at the end of the list is removed.
Example: If cache size is...
Use two stacks - one to store actual values and one to store minimum values.
Use two stacks - one to store actual values and one to store minimum values
When pushing a new value, check if it is smaller than the current minimum and push it to the min stack if so
When popping a value, check if it is the current minimum and pop from min stack if so
getMin() operation can be done by peeking at the top of the min stack
Tip 1 : Properly grasp over basic concepts
Tip 2 : Prepare good for DS & Algo as most companies have a separate round for it.
Tip 3 : Don't lie over your resume
Tip 1 : Don't Lie over your resume
Tip 2 : Avoid unnecessary details like Hobbies, family details, declaration, date, signature, etc.
I appeared for an interview in Nov 2020.
Round duration - 70 minutes
Round difficulty - Medium
Given two binary trees, T and S, determine whether S is a subtree of T. The tree S should have the same structure and node values as a subtree of T.
Given two binary trees T and S, determine if S is a subtree of T with the same structure and node values.
Traverse through tree T and check if any subtree matches tree S
Use recursion to compare nodes of both trees
Handle edge cases like null nodes and empty trees
Given an integer K
, your task is to produce all binary strings of length 'K' that do not contain consecutive '1's.
The input begins with an integer ...
Generate all binary strings of length 'K' with no consecutive '1's in lexicographically increasing order.
Use backtracking to generate all possible binary strings without consecutive '1's.
Start with an empty string and recursively add '0' or '1' based on the condition.
Keep track of the current string and its length to ensure no consecutive '1's are added.
Sort the generated strings in lexicographically increasing order b...
Round duration - 60 minutes
Round difficulty - Medium
This was a data structures round.
You are provided with an unsorted array/list ARR
of N
integers. Your task is to determine the length of the longest consecutive sequence present in the array...
The task is to find the length of the longest consecutive sequence in an unsorted array of integers.
Iterate through the array and store all elements in a set for constant time lookup.
For each element, check if it is the start of a sequence by looking for element-1 in the set.
If it is the start, keep incrementing the count until the next element is not found in the set.
Given an array of distinct integers, find all possible permutations of the array.
A permutation is a mathematical way of determining the number of possible ar...
Find all possible permutations of an array of distinct integers.
Use backtracking to generate all possible permutations
Swap elements to create different permutations
Return the permutations as an array of arrays of integers
Round duration - 60 minutes
Round difficulty - Easy
This was a data structures round.
Your task is to verify if the given string STR1
is a subsequence of the string STR2
. A subsequence means characters from STR2
are retained in their original order but som...
Verify if a string is a subsequence of another string by checking if characters are retained in order.
Iterate through both strings simultaneously, checking if characters match in order.
If a character in STR1 matches a character in STR2, move to the next character in STR2.
If all characters in STR1 are found in STR2 in order, return True; otherwise, return False.
Given a square array VEC
of integers with N
rows and N
columns, you need to determine the minimum sum of a falling path through this square array. The array has ...
Find the minimum sum of a falling path through a square array by selecting one element from each row with constraints on column selection.
Iterate through the array from the second row, updating each element with the minimum sum of the element and its adjacent elements from the previous row.
The minimum sum path will end in the last row with the minimum value.
Use dynamic programming to efficiently calculate the minimum f...
Round duration - 25 minutes
Round difficulty - Easy
This round was all about OS/DBMS questions.
Tip 1 : Practice atleast 100-150 Medium problems and 20-30 hard problems from leetcode
Tip 2 : Try to give a short contest maybe on leetcode, codeforces or codechef as it is beneficial to crack in Online Test.
Tip 3 : Do atleast 2 projects and ask find answers like why are you choosing this tech stack? why did not you choose its alternatives Know your project in and out because they might ask you an modification in your project.
Tip 1 : Have some projects on resume.
Tip 2 : Do not put false things on resume.
Tip 3 : Try to keep a single page resume.
Tip 4 : If your CGPA is quite low do not mention it on the resume.
Tip 5 : In achievements sections only add relevant achievements. Putting achievements like "won painting competition" or "won dancing competition" wont help.
Design an MVC controller system to route URLs to the appropriate controllers based on the URL structure.
Define a routing mechanism that maps URLs to controller actions.
Use a hierarchical structure where each segment of the URL corresponds to a controller.
Example: For 'xyz.com/a/b/c', 'a' routes to 'AController', 'b' to 'BController', and 'c' to 'CController'.
Implement a method to parse the URL and invoke the correspond...
Autocomplete in IDEs helps developers write code faster by suggesting code snippets and completing code as they type.
Autocomplete should suggest code snippets based on the context of the code being written
Autocomplete should prioritize suggestions based on frequency of use
Autocomplete should also suggest variable and function names
Autocomplete should be customizable to allow for user-defined snippets and suggestions
Exa...
My weakness is public speaking.
I tend to get nervous when speaking in front of large groups.
I am working on improving my public speaking skills by practicing and seeking feedback.
I have taken courses and attended workshops to help me overcome my fear of public speaking.
Comparing 2 basketball game scenarios with different number of trials and baskets required to win
Calculate the probability of winning in each game scenario using binomial distribution formula
Compare the probabilities to determine which game scenario is preferable
In game1, the probability of winning is p. In game2, the probability of winning is the sum of probabilities of making 2 or 3 baskets
If p is high, game1 is pref...
I want to join Visa to contribute to innovative payment solutions and be part of a global leader in financial technology.
Visa is at the forefront of digital payment innovation, allowing me to work on cutting-edge technologies.
The company's commitment to security aligns with my passion for developing secure software solutions.
Visa's global presence offers opportunities to collaborate with diverse teams and learn from di...
I'm a passionate software engineer with a strong background in full-stack development and a love for problem-solving.
Graduated with a degree in Computer Science from XYZ University.
Worked at ABC Corp, where I developed a web application that improved user engagement by 30%.
Proficient in languages like JavaScript, Python, and Java, with experience in frameworks like React and Django.
Enjoy collaborating in agile teams an...
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
Implement Binary Search Tree using given array of strings.
Sort the array in ascending order
Find the middle element and make it the root of the tree
Recursively create left and right subtrees using the left and right halves of the array
Repeat until all elements are added to the tree
Print the given Binary search tree in ascending order
Traverse the left subtree recursively
Print the root node
Traverse the right subtree recursively
Chennai faces problems related to water scarcity, traffic congestion, and pollution.
Water scarcity due to inadequate rainfall and poor management of water resources.
Traffic congestion due to the increasing number of vehicles and poor road infrastructure.
Pollution caused by industries, vehicular emissions, and improper waste disposal.
Need more context on the question to provide an answer.
Please provide more information on the problem to be solved.
Without context, it is difficult to provide a solution.
Can you please provide more details on the problem statement?
I appeared for an interview before Apr 2021.
Round duration - 45 minutes
Round difficulty - Easy
This was a technical interview round.
AJAX allows web pages to be updated asynchronously by exchanging data with a web server behind the scenes.
AJAX stands for Asynchronous JavaScript and XML.
It allows web pages to update content without reloading the entire page.
AJAX uses XMLHttpRequest object to send and receive data from a server.
Commonly used in web applications to provide a more responsive user experience.
SOAP is a protocol, while REST is an architectural style for web services.
SOAP is a protocol that uses XML for message format and relies on a request-response model.
REST is an architectural style that uses standard HTTP methods like GET, POST, PUT, DELETE.
SOAP is more rigid and requires more bandwidth, while REST is lightweight and flexible.
SOAP has built-in security features like WS-Security, while REST relies on exte...
GET is used to request data from a server, while POST is used to submit data to a server.
GET requests data from a specified resource, while POST submits data to be processed to a specified resource.
GET requests are cached by browsers, while POST requests are not.
GET requests can be bookmarked and shared, while POST requests cannot.
GET requests have length restrictions, while POST requests do not.
Example: Using GET to r...
The Observer Pattern is a behavioral design pattern where an object (subject) maintains a list of dependents (observers) that are notified of any state changes.
Allows for one-to-many dependency between objects
When the subject's state changes, all observers are automatically notified and updated
Commonly used in event handling systems and GUI frameworks
Round duration - 40 minutes
Round difficulty - Easy
This was the second technical interview round.
A singleton class is a class that can only have one instance created throughout the entire application.
Singleton classes have a private constructor to prevent multiple instances from being created.
They typically provide a static method to access the single instance.
Commonly used for logging, database connections, and configuration settings.
Immutability in Java refers to the property of objects whose state cannot be changed once they are created.
Immutability ensures that once an object is created, its state cannot be modified.
Immutable objects are thread-safe and can be shared without the risk of data corruption.
String class in Java is an example of an immutable class.
To create an immutable class, make the class final, all fields private, and provide only...
Dependency injection is a design pattern where components are given their dependencies rather than creating them internally.
Allows for easier testing by providing mock dependencies
Promotes loose coupling between components
Improves code reusability and maintainability
Examples: Constructor injection, Setter injection, Interface injection
To create an immutable class in Java, make the class final, make all fields private and final, provide only getter methods, and do not provide any setter methods.
Make the class final to prevent inheritance.
Make all fields private and final to prevent modification.
Provide only getter methods to access the fields.
Do not provide any setter methods to modify the fields.
Round duration - 30 minutes
Round difficulty - Easy
HR round with typical behavioral problems.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
based on 7 reviews
Rating in categories
12-14 Yrs
Not Disclosed
Senior Software Engineer
2.7k
salaries
| ₹12.5 L/yr - ₹25.7 L/yr |
Software Engineer
1.8k
salaries
| ₹7.4 L/yr - ₹13 L/yr |
Lead Engineer
742
salaries
| ₹12.5 L/yr - ₹20.8 L/yr |
Senior Leader Engineer
714
salaries
| ₹17.1 L/yr - ₹28.7 L/yr |
Team Member
610
salaries
| ₹1.8 L/yr - ₹5.5 L/yr |
Paytm
PhonePe
Fiserv
KFintech