Summary
I recently interviewed with TA Digital for a full-stack developer role, where the discussion heavily revolved around my social media project, focusing on design choices, scalability, and core JavaScript concepts.
Full Experience
During my interview for a full-stack developer role at TA Digital, the conversation started by delving into my social media project. I was asked to justify my choice of MongoDB for the project, discussing its advantages and potential drawbacks in that context. Following this, we moved onto system design principles, where I had to explain various scaling strategies, including vertical and horizontal scaling, along with concepts like replication and load balancing. The interview also covered fundamental JavaScript concepts such as asynchronous programming and threading, with specific questions about async/await. Networking knowledge was tested with a question differentiating ports and sockets, and I also faced questions on more general tech topics like explaining vehicle number plate detection using AI, a basic overview of blockchain, and clarifying what it means for an application to be 'listening on a port'.
Interview Questions (8)
Explain the rationale and design choices for using MongoDB in a social media project, including its advantages and disadvantages for such an application.
Describe various system scaling strategies, including vertical scaling, horizontal scaling, data replication, and load balancing. Explain when and how to apply each.
Explain asynchronous programming concepts in JavaScript and discuss JavaScript's threading model, including how it handles concurrent operations despite being single-threaded.
Explain how async and await keywords work in JavaScript, their purpose, and how they simplify asynchronous code compared to callbacks or Promises.
Differentiate between network ports and sockets, explaining their roles in network communication and how they relate to each other.
Explain the concepts and typical approaches involved in using Artificial Intelligence (AI) for vehicle number plate detection.
Provide a basic explanation of what blockchain is, its fundamental principles, and common use cases.
Explain what it means for a server or application to be 'listening on a port' in the context of network communication.