One Convergence interview experience Real time questions & tips from candidates to crack your interview

Software Developer

One Convergence
upvote
share-icon
3 rounds | 13 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 6 months
Topics: Data Structures, Algorithms, Networking, System Design, Aptitude, OOPS
Tip
Tip

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.

Application process
Where: Campus
Eligibility: Above 7 CGPA
Resume Tip
Resume tip

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.

Interview rounds

01
Round
Easy
Coding Test - Pen and paper
Duration60 minutes
Interview date20 May 2015
Coding problem0

There was only one written round after ppt presentation. It was pure technical based paper consisting of C, java, Data structures, networking and operating system.
There were around 60 questions to be done in one hour. All questions were easy but conceptual and little bit tricky.

1. In C : Most of the questions were based on bits manipulation and string and union. 
2. In Data structure : Questions on tree , heap, red black tree and balanced tree and complexity. 
3. In Operating System : It was really conceptual. Most of the questions were on virtual memory concept and scheduling and semaphore. 
4. Networking : Questions on layers and their protocols. Numerical that needed transmission ,propagation and bandwidth formula. Some general conceptual question including switch, hub and gateway. 

I attempted every section since sectional cutoff was there. I didn’t attempt any question that I was not sure for, since there was negative marking. I also didn’t attempt any numerical. So, attempt each section such that you can clear cut off. No need to attempt all questions of each section.

02
Round
Medium
Face to Face
Duration60 minutes
Interview date20 May 2015
Coding problem6

After written test , only 4 from Mca and 4 from Mtech were selected for next round.
It was also pure technical round. Interview started just after result was declared. Since there was only two panels, It was taking time.

1. Flip Bits

Easy
15m average time
85% success
0/40
Asked in companies
InfosysFlipkartMyntra

You are given an array of integers ARR[] of size N consisting of zeros and ones. You have to select a subset and flip bits of that subset. You have to return the count of maximum one’s that you can obtain by flipping chosen sub-array at most once.

A flip operation is one in which you turn 1 into 0 and 0 into 1.

For example:
If you are given an array {1, 1, 0, 0, 1} then you will have to return the count of maximum one’s you can obtain by flipping anyone chosen sub-array at most once, so here you will clearly choose sub-array from the index 2 to 3 and then flip it's bits. So, the final array comes out to be {1, 1, 1, 1, 1} which contains five ones and so you will return 5.
Problem approach

Property of XOR can be used to solve this problem. 1^0 = 1 and 1^1 = 0
First, we calculate the number of digits in the given number using log. 
Next, generate a number with digits equal to the digits in the given number and all bits set to 1.
The last step is to take the xor of the given number with the generated number. 
The time complexity of this solution is O(log n).

Try solving now

2. Count Set Bits

Hard
15m average time
85% success
0/120
Asked in companies
AmazonHewlett Packard EnterpriseSnapdeal

You are given a positive integer ‘N’. Your task is to find the total number of ‘1’ in the binary representation of all the numbers from 1 to N.

Since the count of ‘1’ can be huge, you are required to return it modulo 1e9+7.

Note:
Do not print anything, just return the number of set bits in the binary representation of all integers between 1 and ‘N’.
Problem approach

The direct approach would be to loop through all bits in an integer, check if a bit is set and if it is, then increment the set bit count.
Time Complexity: Θ(logn) (Theta of logn)
Auxiliary Space: O(1)

Brian Kernighan’s Algorithm can also be used here. 
This algorithm is based on the idea that subtracting 1 from a decimal number flips all the bits after the rightmost set bit(which is 1) including the rightmost set bit. 
For example : 
10 in binary is 00001010 
9 in binary is 00001001 
8 in binary is 00001000 
So if we subtract a number by 1 and do it bitwise & with itself (n & (n-1)), we unset the rightmost set bit. If we do n & (n-1) in a loop and count the number of times the loop executes, we get the set bit count. 
The number of times it loops is equal to the number of set bits in a given integer. 

Algorithm : 
1 Initialize count: = 0
2 If integer n is not zero
(a) Do bitwise & with (n-1) and assign the value back to n
n: = n&(n-1)
(b) Increment count by 1
(c) go to step 2
3 Else return count

Try solving now

3. Networking Question

What is NAT and what are its functions?

Problem approach

NAT stands for network address translation. It’s a way to map multiple local private addresses to a public one before transferring the information. Organizations that want multiple devices to employ a single IP address use NAT, as do most home routers.

The functions of NAT are −

Address translation for data transfer
The border router is configured for NAT. The border router has two parts
Local interface
Global interface.
When the packets are transmitted from local host to another host in another network, then the packets are moved from local network to global network. Then, the NAT process of the border router converts the local IP address of the transmitted packet to a global IP address. When that packet moves from global network to local network, then again the global IP is converted to local IP and the packet reaches the local host of that network.

Security in IP addresses
NAT provides privacy of the device IP addresses by keeping them hidden when traffic flows through the network. Using the IP masquerading process NAT hides the device IP addresses.

Eliminates address renumbering
It eliminates the address renumbering, when a network evolves.

Firewall security
It has important applications in firewall security, by conserving the number of public addresses within an organization along with strict control over accessing resources at both sides of the firewall.

4. Networking Question

What is VLAN?

Problem approach

VLAN is a custom network which is created from one or more local area networks. It enables a group of devices available in multiple networks to be combined into one logical network. The result becomes a virtual LAN that is administered like a physical LAN. The full form of VLAN is defined as Virtual Local Area Network.

5. Networking Question

What is socket buffer?

Problem approach

Socket buffers are the short queues of packets the kernel holds on behalf of your app, as it's shuffling data between the NIC and your app's memory space.

6. Networking Question

What is the function of a bridge?

Problem approach

The Bridges connect two or more different LANs that have similar protocols and provide communications between the devices.
Bridges are connected between two LANs in which some devices are connected in LAN A and LAN B.
Bridges have the capability to take the Mac address of the devices which are connected in both the LANs.
If any device sends data to the other device then it first goes to the bridge later it reads the Mac address of that device that wants to send data.
It also recognizes where the data has to be sent and to which device, then the bridges read the Mac address of that particular device for further process.
In some cases, the device sends a message that goes to the bridge, and if it does not match with any of the Mac addresses stored in the bridges the data transfer is stopped or discarded.

03
Round
Medium
Face to Face
Duration60 minutes
Interview date20 May 2015
Coding problem7

Technical interview round with questions based on DSA/OS etc.

1. Reverse the String

Easy
15m average time
85% success
0/40
Asked in companies
American ExpressHarman InternationalDelhivery

You are given a string 'STR'. The string contains [a-z] [A-Z] [0-9] [special characters]. You have to find the reverse of the string.

For example:

 If the given string is: STR = "abcde". You have to print the string "edcba".
follow up:
Try to solve the problem in O(1) space complexity. 
Problem approach

This can be done by iterative swapping using two pointers. The first pointer points to the beginning of the string, whereas the second pointer points to the end. Both pointers keep swapping their elements and go towards each other. Essentially, the algorithm simulates the rotation of a string with respect to its midpoint.
Time Complexity : O(n)

Try solving now

2. Longest Common Subsequence

Moderate
0/80
Asked in companies
ShareChatSquadstackTata Consultancy Services (TCS)

You have been given two Strings “STR1” and “STR2” of characters. Your task is to find the length of the longest common subsequence.

A String ‘a’ is a subsequence of a String ‘b’ if ‘a’ can be obtained from ‘b’ by deletion of several (possibly, zero or all) characters. A common subsequence of two Strings is a subsequence that is common to both Strings.

Problem approach

This problem can be solved using recursion. In this approach, we will start form last element of both the strings. If elements at the last matches then we will decrement length of both the string else we will decrement the length of either of the string.
lcs(s1, s2, n, m):
if n == 0 or m == 0:
return 0
if s1[n-1] == s2[m - 1]:
return 1 + lcs(s1, s2, n-1, m-1)
else:
return max(lcs(s1, s2, n-1, m), lcs(s1, s2, n, m-1))

But this approach would result in TLE for longer test cases. It can be optimized using dynamic programming.
In the top down approach, we make a table of size [m+1][n+1] where m and n are the length of the strings. The intermediate row and column of the table indicates what will be the value of the longest common subsequence if its called for the smaller inputs.
if s1[i - 1] == s2[j - 1]:
dp[i][j] = dp[i - 1][j - 1] + 1
else:
dp[i][j] = max(dp[i][j - 1], dp[i - 1][j])

Try solving now

3. OS Question

Difference between Zombie, Orphan and Daemon Processes

Problem approach

1. A Zombie is a process that has completed its task but still, it shows an entry in a process table. A child process that remains running even after its parent process is terminated or completed without waiting for the child process execution is called an orphan. A daemon process is a system-related process always running in the background.
2. Zombie process states always indicated by Z . The orphan process was created unknowingly due to a system crash. Daemon process state indicated by ? in the field of tty column in the output
3. The zombie process has controlling terminals Orphan The zombie process has controlling terminals. The daemon process does not have controlling terminals.
4. The zombie process treated as dead they are not used for system processing An orphan process is a computer process even after their parent terminates init is become a parent and continue the remaining task. A program that runs for a long time makes them as a daemon process and runs it in the background.

4. OS Question

What is little endian and big endian?

Problem approach

Little and big endian are two ways of storing multibyte data-types ( int, float, etc). In little endian machines, last byte of binary representation of the multibyte data-type is stored first. On the other hand, in big endian machines, first byte of binary representation of the multibyte data-type is stored first.

5. OS Question

What is linking?

Problem approach

Linking is the process of collecting and combining various pieces of code and data into a single file that can be loaded (copied) into memory and executed. Linking can be performed at compile time, when the source code is translated into machine code, at load time, when the program is loaded into memory and executed by the loader, and even at run time, by application programs. On early computer systems, linking was performed manually. On modern systems, linking is performed automatically by programs called linkers. Linkers play a crucial role in software development because they enable separate compilation. Instead of organizing a large application as one monolithic source file, we can decompose it into smaller, more manageable modules that can be modified and compiled separately.

6. OS Question

Explain the memory layout of a C program.

Problem approach

1. Text Segment: 
A text segment, also known as a code segment or simply as text, is one of the sections of a program in an object file or in memory, which contains executable instructions.
As a memory region, a text segment may be placed below the heap or stack in order to prevent heaps and stack overflows from overwriting it. 

2. Initialized Data Segment: 
Initialized data segment, usually called simply the Data Segment. A data segment is a portion of the virtual address space of a program, which contains the global variables and static variables that are initialized by the programmer.
Note that, the data segment is not read-only, since the values of the variables can be altered at run time.
This segment can be further classified into the initialized read-only area and the initialized read-write area.

3. Uninitialized Data Segment: 
Uninitialized data segment often called the “bss” segment, named after an ancient assembler operator that stood for “block started by symbol.” Data in this segment is initialized by the kernel to arithmetic 0 before the program starts executing
uninitialized data starts at the end of the data segment and contains all global variables and static variables that are initialized to zero or do not have explicit initialization in source code.

4. Stack: 
The stack area traditionally adjoined the heap area and grew in the opposite direction; when the stack pointer met the heap pointer, free memory was exhausted.
The stack area contains the program stack, a LIFO structure, typically located in the higher parts of memory. On the standard PC x86 computer architecture, it grows toward address zero; on some other architectures, it grows in the opposite direction. A “stack pointer” register tracks the top of the stack; it is adjusted each time a value is “pushed” onto the stack. The set of values pushed for one function call is termed a “stack frame”; A stack frame consists at minimum of a return address.

5. Heap: 
Heap is the segment where dynamic memory allocation usually takes place.
The heap area begins at the end of the BSS segment and grows to larger addresses from there. The Heap area is managed by malloc, realloc, and free, which may use the brk and sbrk system calls to adjust its size . The Heap area is shared by all shared libraries and dynamically loaded modules in a process.

7. Compiler Design Question

What is symbol table?

Problem approach

Symbol Table is an important data structure created and maintained by the compiler in order to keep track of semantics of variables i.e. it stores information about the scope and binding information about names, information about instances of various entities such as variable and function names, classes, objects, etc. 
It is built-in lexical and syntax analysis phases.
The information is collected by the analysis phases of the compiler and is used by the synthesis phases of the compiler to generate code.
It is used by the compiler to achieve compile-time efficiency.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

Which SQL keyword removes duplicate records from a result set?

Choose another skill to practice
Similar interview experiences
SDE - 1
3 rounds | 5 problems
Interviewed by One Convergence
763 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by OYO
1632 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 9 problems
Interviewed by Salesforce
1100 views
0 comments
0 upvotes
company logo
System Engineer
2 rounds | 2 problems
Interviewed by Tata Consultancy Services (TCS)
878 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Software Developer
5 rounds | 14 problems
Interviewed by Microsoft
3255 views
1 comments
0 upvotes
company logo
Software Developer
6 rounds | 12 problems
Interviewed by SAP Labs
2002 views
0 comments
0 upvotes
company logo
Software Developer
3 rounds | 8 problems
Interviewed by Tata Consultancy Services (TCS)
0 views
0 comments
0 upvotes