Role: SDE Intern
College: Not Specified
Interview Date: August 9, 2024
Interview Type: On-Campus/Internship
Result: Not Specified
Difficulty: Medium (Coding question)
Rounds: 1 Technical Interview
Topics Asked: Distributed Systems, Cloud Architectures, Load Balancing, Fault Tolerance, CAP theorem, SOLID design principles, TCP, REST, SOAP, AWS EC2, Docker, Paging, Hashmaps, Cache, Hashing, Process and Thread, Virtual Memory, Data Structures & Algorithms (Anagrams).
Experience:
The interview lasted around 45-50 minutes and was conducted by a Cloud Solution Architect with 17 years of experience.
Round 1: Technical Interview
The interviewer started with an introduction, followed by the candidate's introduction. The questions began with basics and covered a wide range of technical topics:
- System Design/Concepts: What is distributed systems? Say something on cloud architectures (candidate couldn't answer fully). What is load balancing? What is fault tolerance? What's CAP theorem?
- Design Principles: Explain SOLID design principles with detailed explanations on where each principle can be used, keeping modularity in mind.
- Networking: What is TCP? Layers of TCP. What is REST? Why is it called restful APIs? Have you heard about SOAP? Explain.
- Cloud Technologies: What is AWS EC2? What services can we make use of using EC2 instances? What is Docker? Why do we need it?
- Operating Systems: What is paging? What is process and thread? Can processes share the same memory? Follow up: Can threads share the same memory? What is virtual memory? Follow up: Why then virtual memory? We could have increased the RAM simply.
- Data Structures & Hashing: Difference between hashmaps and cache. What is hashing? Can we de-hash a hashed string?
- DSA Question: "You are given two strings (say BEAR and BARE). You need to find if they are anagrams or not."
- The candidate first thought of hashmaps and came up with a solution in 2 minutes, then coded it on Notepad (O(N) time, O(N) space).
- Follow-up: Asked to solve without hashmaps (no space constraint). The candidate explained the intuition using sorting (O(N log N) time, O(1) space if in-place sort). Coding was not required for the second approach.