Ring Central | SDE-1 | Bangalore | 02-12-2021 | Accepted (On-Campus)
Summary
I interviewed for the SDE-1 role at Ring Central's Bangalore campus and was ultimately selected. The process included an online assessment with coding and MCQ questions, followed by two intensive interview rounds focusing on OOPs, DSA, web development, network security, and practical system design questions.
Full Experience
I was shortlisted along with 107 other students for the online assessment round out of 243 applicants. The shortlisting was based on resumes, projects, and internships. The online test was held on Hackerrank and was proctored. It consisted of two medium-to-hard difficulty dynamic programming coding questions and 11 MCQs covering CS fundamentals like Operating Systems, DBMS, and OOPs. Based on this, 20 students were shortlisted for interviews.
Interview Round 1 (1.5 hours)
This round was held virtually on Google Meet. It started with standard behavioral questions: "Tell me about yourself" and "What are your skills?" I made sure to only mention skills I was highly confident in, such as Operating Systems, Object-Oriented Programming, and DSA. The interviewer then delved deep into OOPs concepts.
I was asked about the four pillars of OOPs, polymorphism and its types, with a specific request to explain runtime polymorphism with examples. We also discussed virtual functions, their usage, and how they are stored in memory, and I was asked to code virtual functions. Following this, the interviewer questioned me on the two coding problems from the online test to verify my solutions. I confirmed my knowledge of Graphs, Trees, and Stack data structures, discussed tree traversals, and solved a medium-level problem based on a stack.
Interview Round 2 (1.5 hours)
This round also began with "Tell me about yourself." I highlighted my skills, projects (NodeJS, REST APIs, network security), my internship in security software development, and my CPI. My answer steered the conversation towards web development, where I was asked about NodeJS, REST APIs, middlewares, how a website works internally, and the pros and cons of MongoDB vs. MySQL, including when to prefer certain MongoDB database types. We also discussed REST advantages and strategies for increasing scalability. Practical system design questions were posed, such as "How does a video go trending on YouTube?" and "How to display the top 1000 users who viewed your video?"
The discussion then moved to network security. I was asked about zk SNARK, DES and AES algorithms, symmetric ciphers with examples, and block ciphers. The interviewer seemed satisfied with my answers and then transitioned to DSA, asking a medium-level greedy algorithm question and a difficult dynamic programming question, for which recursion was also acceptable. Finally, I was given an opportunity to ask questions to the interviewer.
Verdict
I was one of three students who were ultimately selected.
Interview Questions (6)
Tell me about yourself. What are your skills?
Explain the four pillars of Object-Oriented Programming (OOPs). Describe polymorphism and its types. Provide examples for runtime polymorphism. Explain virtual functions, why they are used, and how they are stored in memory. You will also be asked to code virtual functions.
Explain what NodeJS is, what REST APIs are, and what middlewares are. Describe how a website works internally. Discuss MongoDB, why to use it instead of MySQL, and which type of MongoDB database to prefer and why. Explain advantages of REST.
How to increase scalability? Answer practical questions like: How does a video go trending on YouTube? How to display the top 1000 users who viewed your video?
What is zk SNARK? Explain DES and AES algorithms. Describe symmetric ciphers with an example. What are block ciphers?
Do you have any questions for me?
Preparation Tips
I ensured I was well-prepared for common questions like 'Tell me about yourself.' Confidence is key during interviews; even if you feel underprepared, trust your knowledge. Don't hesitate to ask clarifying questions to the interviewer, as interaction can improve your chances. Always attempt to provide a solution, even if not fully optimized, as interviewers are often willing to guide you. Lastly, be ready to discuss every single detail on your resume and always have questions prepared for the interviewer, ideally by researching the company and job description beforehand.