Company Name: Newfold Digital (Formerly Endurance International Group)
Job Role: Database Administrator
Years of Experience Required: 0
Drive: On-campus
CTC: 15 LPA
Preparation
Topics: DSA, DBMS, CN, OS , System Design
Duration: 2-4 months
Source of Preparation:
- GFG and youtube tutorials
[BONUS]:
- Check Striver’s SDE Sheet for Interview Preparation.
- Check the ultimate resume building guide for coding interviews.
- Blind 75 Leetcode
Interview Rounds
Round 1: Online Coding Test
Problem 1: Given N and a string S of N letters, sort the string such that letters having their ASCII value as the prime come first in ascending order of ASCII value and letters with composite ASCII value are then placed in descending order of their ASCII value.
Constraints :
1<=N<=10^6
String S contains only English letters
Examples:
Input Format: N = 5, str = abcde Result: aedcb Explanation: Here ascii of [a,b,c,d,e] is [97,98,99,100,101] where 97 and 101 are prime so ‘a’ and ‘e’ comes first and others come in descending order of their ascii. Note - You could solve this easily with a brute force as the question said it would include only english alphabets , whose ascii value wont go above 122 (z) . So, you could pre calculate all prime numbers upto 122.
Problem 2: Given a string S of length N, you can take any substring of the string and reverse it. You can do the above procedure any number of times. Do the above operation in such a way that the string T obtained after any number of such operations has the maximum number of mismatching characters with S.
So, the number of positions such that Ti != Si for all i from 1 to N, should be the maximum possible.
Output the maximum number of mismatches that you can achieve.
Constraints:
1<=N<=10^6
String S contains only English letters.
Examples:
Input N = 5 , str = aabbc Result: 5 Explanation: We can convert aabbc to bbaca to mismatch all 5 characters. aabbc -> bbaac -> bbaca. So, S = aabbc T = bbaca Input: N=4, str = aaab Result : 2 Explanation: The best you can do is convert aaab to baaa and mismatch S and T at 2 positions.
Hint: Think of applying the pigeonhole principle to know how many characters you can mismatch.
Round 2: Video Call (technical round)
Topics asked: OS, DBMS, CN
OS – multithreading, Linux boot process, locks and types of locks, deadlocks and how to prevent it, Interrupts in OS.
CN – TCP vs UDP, Subnets ( was also given an IP and asked how many network and host addresses can we get from it ), how does DNS works, how does an email gets delivered from source to destination.
DBMS – Indexes and its types, how does crash recovery work in databases, ACID properties, CAP theorem, SQL vs NoSQL DBs, and which should be used where.
This round lasted for about 1 hour.
Round 3: Video Call (technical round)
Topics asked: System Design
The whole round was a system design round where I was asked to create a highly available system, starting from a monolithic design and scaling it up to a microservices architecture.
I was also asked questions on how data replication is handled in distributed systems.
Round 4: HR
It was a pretty chill conversation after 2 long technical rounds. I was asked about my strengths and weaknesses and why I was interested in joining the company.
Verdict: Selected
Message to Aspiring Students:
Practice DSA even if you are not aiming for a SDE role as DSA is the basis for the company to check your logical reasoning and coding/scripting skills.
Also focus on other CS subjects like OS,CN,DBMS as I think that is what got me through the interview rounds.
Always keep communicating with the interviewer if you are asked a system design question. I got many hints from the interviewer just because I was explaining to him my approaches.
I really wanted to bring this experience out to the community as this was for a different role than the general SDE role that most people go for. I had been an avid competitive programmer but was never interested in development so I chose this path.
You might hear from others that a DBA/operations role does not have as much growth as an SDE role but it’s not true. You get to see the work a company is doing from a whole different perspective and you learn to take more risks as you will be directly handling customers’ data.
~ Vruttant Mankad