Date - 16th March 2024
I was in one of the 1st Offline Super Saturday (Hiring Drive) at New Relic Hyderabad.
I was scheduled to have 2 interviews. 1st one of 45min and 2nd one was for 1hr.
The location was in WeWork. I reached the building just 10min before the interview time which was a bad idea. I was facing difficulty finding the correct area and room where my interview would be taken. They gave me a map printed on the paper where all the interview rooms were labelled. I was late in 1st interview by few minutes.
Duration - 45min. Started at 10am.
Whiteboard provided.
Q - Check if a given string was an anagram of a palindrome or not.
It took me some time to understand the exact question and the inputs. She didn’t explain the question clearly. But anyways when we were on the same page, I was able to quickly come to its answer handling the cases of odd length and even length string separately.
Problem Statement - Develop a 1 - 1 chat application
Discussion on sockets. Why sockets? Etc
I ask cross questions what features should be built. Gathered requirements.
Built a rough UI. And then built high level APIs (list chats, list messages from chat, etc)
When I went to build the schema of backend she steered my back into frontend. Felt awkward at this point.
She said “How will you show the messages in the chat?”. I replied “In the react state”. From her face it looked like she wanted a deeper answer. I thought a little bit more and replied “Virtualized Components need to be built for rendering messages because there can be 1000s of messages. If we render all the messages in the DOM the web app would be laggy. By using Virtualized Components we will only render 10-15 messages at a time and rotate the list so that DOM is small and app is responsive.” She was looking for the keyword Virtualization.
I was about to start on showing chat status like “Online” , “Typing…” but then time was over.