Aricent Technologies (Holdings) Limited interview experience Real time questions & tips from candidates to crack your interview

Software Engineer

Aricent Technologies (Holdings) Limited
upvote
share-icon
2 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 4 months
Topics: Data Structures, Algorithms, Operating Systems, 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
Face to Face
Duration60 minutes
Interview date27 Apr 2015
Coding problem3

Technical Interview round with questions on DSA, OS.

1. Reverse a linked list

Easy
15m average time
85% success
0/40
Asked in companies
IBMBig BasketSAP Labs
Note :
You do not need to print anything, just return the head of the reversed linked list. 
Problem approach

This can be solved both: recursively and iteratively.
The recursive approach is more intuitive. First reverse all the nodes after head. Then we need to set head to be the final node in the reversed list. We simply set its next node in the original list (head -> next) to point to it and sets its next to NULL. The recursive approach has a O(N) time complexity and auxiliary space complexity.
For solving the question is constant auxiliary space, iterative approach can be used. We maintain 3 pointers, current, next and previous, abbreviated as cur, n and prev respectively. All the events occur in a chain.
1. Assign prev=NULL, cur=head .
2. Next, repeat the below steps until no node is left to reverse:
1. Initialize n to be the node after cur. i.e. (n=cur->next)
2. Then make cur->next point to prev (next node pointer).
3. Then make prev now point to the cur node.
4. At last move cur also one node ahead to n.
The prev pointer will be the last non null node and hence the answer.

Try solving now

2. Factorial of a number

Easy
0/40
Asked in companies
HCL TechnologiesNagarro SoftwareCapegemini Consulting India Private Limited

Write a program to find the factorial of a number.

Factorial of n is:

n! = n * (n-1) * (n-2) * (n-3)....* 1

Output the factorial of 'n'. If it does not exist, output 'Error'.

Problem approach

Factorial can be calculated using following recursive formula: 
n! = n * (n-1)!
n! = 1 if n = 0 or n = 1
Factorial can also be calculated iteratively as recursion can be costly for large numbers. 
Factorial(n)
{
Initialise a variable res = 1
for (i = 2 to i <= n) do :
res = res* i
return res
}

Try solving now

3. Operating System Question

What is the difference between page and frame?

Problem approach

A page in a paging system is a virtual memory block with a fixed length. But a frame in a paging system is a main memory block with fixed length.
A page has virtual address and it is transferred as a unit between main memory and secondary memory. But a frame can only hold one page of virtual memory.
Programs and data are stored on disk which is divided into fixed sized blocks. They are called pages. These blocks are used as virtual memory. Main memory on the other hand is divided into fixed sized blocks such that the size is equal to the size of a page.
A page address is a virtual address that refers to the address on secondary memory. But a frame address is an address of physical location on main memory.

02
Round
Easy
Face to Face
Duration45 minutes
Interview date27 Apr 2015
Coding problem3

Technical Interview round with questions on OOPS, OS.

1. Level order traversal of Binary Tree

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

You have been given a Binary Tree of integers. You are supposed to return the level order traversal of the given tree.

For example:
For the given binary tree

Example

The level order traversal will be {1,2,3,4,5,6,7}.
Problem approach

A queue can be used to do level order traversal of the tree. For each node, first visit the node and then push its children nodes in the FIFO queue. 
printLevelorder(tree)


1) Create an empty queue q
2) temp_node = root /*start from root*/
3) Loop while temp_node is not NULL
a) print temp_node->data.
b) Enqueue temp_node’s children 
(first left then right children) to q
c) Dequeue a node from q.


Time Complexity : O(n) where n is the number of nodes in the binary tree 
Space Complexity : O(n) where n is the number of nodes in the binary tree

Try solving now

2. Operating System Question

Difference between Mutex and Semaphore

Problem approach

Mutex uses a locking mechanism i.e. if a process wants to use a resource then it locks the resource, uses it and then release it. But on the other hand, semaphore uses a signaling mechanism where wait() and signal() methods are used to show if a process is releasing a resource or taking a resource.
A mutex is an object but semaphore is an integer variable.
In semaphore, we have wait() and signal() functions. But in mutex, there is no such function.
A mutex object allows multiple process threads to access a single shared resource but only one at a time. On the other hand, semaphore allows multiple process threads to access the finite instance of the resource until available.
In mutex, the lock can be acquired and released by the same process at a time. But the value of the semaphore variable can be modified by any process that needs some resource but only one process can change the value at a time.

3. C Question

Explain the sizeof operator.

Problem approach

Sizeof is a compile time unary operator which can be used to compute the size of its operand. The result of sizeof is of unsigned integral type which is usually denoted by size_t. sizeof can be applied to any data-type, including primitive types such as integer and floating-point types, pointer types, or compound datatypes such as Structure, union etc.

Here's your problem of the day

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

Skill covered: Programming

What is the purpose of the return keyword?

Choose another skill to practice
Similar interview experiences
Software Engineer
3 rounds | 6 problems
Interviewed by Aricent Technologies (Holdings) Limited
906 views
0 comments
0 upvotes
Software Engineer
2 rounds | 9 problems
Interviewed by Aricent Technologies (Holdings) Limited
888 views
0 comments
0 upvotes
Software Engineer
2 rounds | 8 problems
Interviewed by Aricent Technologies (Holdings) Limited
772 views
0 comments
0 upvotes
Software Engineer
2 rounds | 14 problems
Interviewed by Aricent Technologies (Holdings) Limited
0 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Software Engineer
3 rounds | 7 problems
Interviewed by Optum
7923 views
1 comments
0 upvotes
company logo
Software Engineer
5 rounds | 5 problems
Interviewed by Microsoft
10070 views
1 comments
0 upvotes
company logo
Software Engineer
2 rounds | 4 problems
Interviewed by Amazon
4395 views
1 comments
0 upvotes