Arcesium Interview Experience for Senior Software Engineer - GeeksforGeeks

09 Sep, 2020
Online Coding Round (HackerRank): 3 Coding Questions with 1-hour time limit.
Given a binary string, find the minimum number of replacements to make the binary string alternatingThere are N product numbers from 1 to N. There are two numbers X and Y. There are two types of discounts $A and $B. A discount of $A is given if i (index of the item) is divisible by X. Discount of $B is given if I(index of the item) is divisible by Y. If the i (index of the item) is divisible by both X and Y, either $A or $B discount can be given. You need to calculate the maximum discount on all the items.Given a string of lowercase chars and a dictionary having key-value pairs as a character. Replace all characters in string (which are present as a key in the dictionary) to their corresponding value OR Replace all characters in the string (which are present as the value in the dictionary) to their corresponding key.
Given a binary string, find the minimum number of replacements to make the binary string alternating
There are N product numbers from 1 to N. There are two numbers X and Y. There are two types of discounts $A and $B. A discount of $A is given if i (index of the item) is divisible by X. Discount of $B is given if I(index of the item) is divisible by Y. If the i (index of the item) is divisible by both X and Y, either $A or $B discount can be given. You need to calculate the maximum discount on all the items.
Given a string of lowercase chars and a dictionary having key-value pairs as a character. Replace all characters in string (which are present as a key in the dictionary) to their corresponding value OR Replace all characters in the string (which are present as the value in the dictionary) to their corresponding key.
Example: 
if string is ‘abc’ and the dictionary has pair
{‘a’:’c’}, then replace all ‘a’s with ‘c’ and all ‘c’s with ‘a’.

Round 1:
Quick introductionOOPS ( What is Interface? What is Abstraction?)What is HashMap? What is HashTable?What is Synchronization? How is it achieved in Java?Given a root node, Write an algorithm to give the list of the nodes which contribute to the left view of the tree.What is garbage collection in java? When it is invoked? How does it work?What is ExecutorService in java? What is CompletionService in java?There is one old grocery shop. They have an old computer system that uses a linked list to add customer info (Customer mobile number and Customer name) and retrieve the information through mobile number. When a customer comes to Shope, we ask for their number and fetch the customer info from the system. If not present, we ask for a name and add the info. There are many frequent customers also. The system already has many records, so retrieval is becoming very slow. Now, you need to alter the addition and retrieval logic such that we can improve the performance. You can not change the data structure. I provided different policies for different scenarios and discussed each:Whenever we find the customer in the linked list, we move that node to first. We add new customers at the start of the list.We keep the insertion point for the new insertion. Just after the logic change, it will be at the start of the list. Whenever we find the customer in the linked list, we move that node to first. Every new insertion is at the insertion point. New insertion will be shifting one place right, whenever there is a repeated customer. By this, all the nodes on the left of the insertion point will be the recently visited customers. so, a new customer will also be recently visited, but the last of it as it has visited the shop only once.Every time we retrieve the customer info we need to bring the node 2-3 steps ahead.I have discussed that every policy is inclined to a particular case.For example, 1st is for the assumption that a new customer will visit the store again. 2nd, the new customer does not visit again. 3rd, general policy, where we are gradually increasing the position. The interviewer was satisfied.You are receiving feedback from the customer that your service has become slow for 2 months, It was fine 2 months ago. How will you debug this? This question was a very generic question. He wanted to see what steps I take when I have to debug something. For example, Checking the commits of the past 2 months for that function, etc.How do you review code?
Quick introduction
OOPS ( What is Interface? What is Abstraction?)
What is HashMap? What is HashTable?
What is Synchronization? How is it achieved in Java?
Given a root node, Write an algorithm to give the list of the nodes which contribute to the left view of the tree.
What is garbage collection in java? When it is invoked? How does it work?
What is ExecutorService in java? What is CompletionService in java?
There is one old grocery shop. They have an old computer system that uses a linked list to add customer info (Customer mobile number and Customer name) and retrieve the information through mobile number. When a customer comes to Shope, we ask for their number and fetch the customer info from the system. If not present, we ask for a name and add the info. There are many frequent customers also. The system already has many records, so retrieval is becoming very slow. Now, you need to alter the addition and retrieval logic such that we can improve the performance. You can not change the data structure. I provided different policies for different scenarios and discussed each:Whenever we find the customer in the linked list, we move that node to first. We add new customers at the start of the list.We keep the insertion point for the new insertion. Just after the logic change, it will be at the start of the list. Whenever we find the customer in the linked list, we move that node to first. Every new insertion is at the insertion point. New insertion will be shifting one place right, whenever there is a repeated customer. By this, all the nodes on the left of the insertion point will be the recently visited customers. so, a new customer will also be recently visited, but the last of it as it has visited the shop only once.Every time we retrieve the customer info we need to bring the node 2-3 steps ahead.I have discussed that every policy is inclined to a particular case.For example, 1st is for the assumption that a new customer will visit the store again. 2nd, the new customer does not visit again. 3rd, general policy, where we are gradually increasing the position. The interviewer was satisfied.
Whenever we find the customer in the linked list, we move that node to first. We add new customers at the start of the list.
We keep the insertion point for the new insertion. Just after the logic change, it will be at the start of the list. Whenever we find the customer in the linked list, we move that node to first. Every new insertion is at the insertion point. New insertion will be shifting one place right, whenever there is a repeated customer. By this, all the nodes on the left of the insertion point will be the recently visited customers. so, a new customer will also be recently visited, but the last of it as it has visited the shop only once.
Every time we retrieve the customer info we need to bring the node 2-3 steps ahead.
I have discussed that every policy is inclined to a particular case.
For example, 1st is for the assumption that a new customer will visit the store again. 2nd, the new customer does not visit again. 3rd, general policy, where we are gradually increasing the position. The interviewer was satisfied.
You are receiving feedback from the customer that your service has become slow for 2 months, It was fine 2 months ago. How will you debug this? This question was a very generic question. He wanted to see what steps I take when I have to debug something. For example, Checking the commits of the past 2 months for that function, etc.
How do you review code?
This round lasted for 75 minutes.
Round 2: In an assembly, Students from the same class are standing in increasing order of height in the same row. There are N class and K students in each class. You need to give the set of students which follows below two policies :
The set should contain at least one student from each class.
The difference in maximum height and minimum height in the set should be minimum.
This round lasted for 60 minutes.
Round 3:
OOP design for the Bank system. Banks have different kinds of accounts. Account has withdrawal, deposit, compute balance, and compute interest functions. Not all the accounts have all these functions. For example, Current accounts do not have the compute interest function. The interviewer was more interested to know how I design my class structure.
SQL question:
t_Product :
P_id , P_name
1,     OnePlus 6T
2,     OnePlus 7
3,     Oppo F7

t_Transactions:
P_id, Date,     Quantity
2,    8/1/2020, +20
1,    8/1/2020, +10
2,    8/2/2020, -2

Retailers have these two tables. +Ve quantity in the Transaction table shows, retailer purchased items from the supplier. -Ve quantity in the Transaction table shows, retailers sold items. Given a date, write an SQL query to give current stock(Product Name, Quantity) of item till that date.
Answer:
Select t_Product.P_name as Product_Name,
SUM(t_Transactions.Quantity) from t_Product 
inner join t_Transactions where t_Product.P_id 
= t_Transactions.P_id AND t_Transactions.Date. 
<= @date GROUP By Product_Name;

This round lasted for 60 minutes.
Round 4 (HR Round) :
Quick IntroductionInformation about familyWhy do you want to leave your current organisation?Why do you want to join Arcesium?You have left your organisation in a short period. Convince me why I should not believe that you will do the same with Arcesium.Expected CTC.
Quick Introduction
Information about family
Why do you want to leave your current organisation?
Why do you want to join Arcesium?
You have left your organisation in a short period. Convince me why I should not believe that you will do the same with Arcesium.
Expected CTC.
Hired! the interview process was remote on the blue jean platform. It was quick and well arranged. Just after 2-3 hours of finishing an online coding round, I have received the mail from Arcesium to schedule the first round of interview. On Average, every round was scheduled 2-3 days apart. The offer letter was sent after a week from the HR interview. So, the Interview process was around 15 days long.
Arcesium
Marketing
Interview Experiences
Arcesium
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Amazon Interview Experience for SDE-1 (Off-Campus)
Amazon AWS Interview Experience for SDE-1
Difference between ANN, CNN and RNN
Zoho Interview | Set 3 (Off-Campus)
Amazon Interview Experience for SDE-1 (Off-Campus) 2022
Directi Interview | Set 7 (Programming Questions)
Amazon Interview Experience
Amazon Interview Experience for SDE-1
EPAM Interview Experience (Off-Campus)
Amazon Interview Experience (Off-Campus) 2022