Coding Round Coding round with two easy/medium problems on Codility, completed in 30 minutes of a 90-minute time limit.
Received a call after five days to schedule interviews.
Round 1 (DSA Round) Question 1: Similar to Brace Expansion II, but easier. Question 2: A medium question, but not difficult. Solved both problems with working code.
Round 2 (LLD Round) Question 1: LFU Cache Solved the problem. Received a call to schedule the third round the next day.
Round 3 (HLD Round) Given many servers and files, design a system to read files from these servers, store them in a database, and enable find operations. The interviewer focused on single-server operations, rather than caching, database, or system robustness. The discussion included compiler details. Given a file with strings such as: "12:00 21 June : 192.168.8.5 " "192.175.4.6 message: 13:35 4 July 4 GB Ram " Discussed parsing and database storage. The interviewer also inquired about compiler behavior, the parsing program, and grammar. After explaining my unfamiliarity with compiler design, the discussion shifted to search methods. I proposed a Trie and indexing solution, implementing the Trie with a diagram. The interviewer seemed satisfied and praised my Trie understanding. I indicated that I was not familiar with big data analysis.
After two days, I contacted the recruiter for feedback and learned that I had passed this round, and the Hiring Manager round would be scheduled. I received the Hiring Manager round link after 3-4 days.
Round 4 (Hiring Manager Round) Problem: Design an application for booking time slots with a doctor. Discussed my approach with pseudo-code, then database design and concurrency. We discussed multi-threading and race conditions. I wrote code for a semaphore, and then for a mutex to address this. The interviewer seemed satisfied and offered significant praise.
This round went well; I answered all questions with code and felt confident about a positive review.
After two days, I contacted the recruiter and learned that the final round resulted in a "No Hire" decision. The feedback was that I did not discuss multi-threading or write pseudo-code, which was inaccurate as our discussion centered on multi-threading, and I provided working code instead of pseudo-code. I was disappointed by this outcome.