WriteSonic | Full Stack Developer - Interview Experience
Summary
I interviewed with WriteSonic for a Full Stack Developer role across four rounds covering technical concepts, frontend coding, system design, and open-ended technical discussion. Although the final feedback was not positive, it was a valuable learning experience.
Full Experience
I had a chance to interview with WriteSonic for Full Stack Developer Role.
A third party agency reached out to me informing that your profile seems impressive and they are sending it to WriteSonic for screening. Within 3 days, I got a call that I have been shortlisted and asked the availability for interview.
Round 1: Technical Round
- Find output of given JS code. Tested knowledge of promise, event loop and callback queue.
- Find output of given react code. Tested knowledge of batching.
- What is Event loop
- Difference between concurrency and parallelism.
- What is virtual dom and why its used.
- ACID properties
- AWS RDS benefits
- Why choose next.js Framework
- Microservices and Monolithic advantages and disadvantages
Round 2: Frontend Coding Round
- Given a problem statement, Asked to code the basic frontend (No CSS) with proper functionality. Code should be modular, clean and working. Modified it according to the Follow-ups.
Round 3: Design Round
- Asked to design a flow when user uploads any document in chatgpt and receives the response in text format. Gave a High level design about the services involved, Rate-limiter, load balancing, database, storage, cache, messaging queue etc. After that, we dived deep into the functionalities of each services, limitations, failure handling, extensibility etc. There were some limitations that a user can't upload more than 10k documents, user after uploading 1 document, cannot upload before a certain interval.
Round 4: Technical Discussion - Open ended
- This was sort of a technical discussion. Given 1000 unlinked blogs, Design a flow or algorithm to perform internal linking among those blogs efficiently. Had a good discussion regarding the functions required, data structure, ML algorithm to extract anchor tags, score computation etc. At the end, told to design postgres db schema for the same.
Result - Final round feedback was not positive. Overall, it was a great learning experience.
Interview Questions (11)
JavaScript Promise, Event Loop, and Callback Queue Output
Find output of given JS code. Tested knowledge of promise, event loop and callback queue.
React Batching Output
Find output of given react code. Tested knowledge of batching.
What is Event Loop?
What is Event loop
Difference between Concurrency and Parallelism
Difference between concurrency and parallelism.
Virtual DOM and its Use
What is virtual dom and why its used.
ACID Properties
ACID properties
AWS RDS Benefits
AWS RDS benefits
Why Choose Next.js Framework?
Why choose next.js Framework
Microservices vs. Monolithic Advantages and Disadvantages
Microservices and Monolithic advantages and disadvantages
ChatGPT Document Upload System Design
Asked to design a flow when user uploads any document in chatgpt and receives the response in text format. Gave a High level design about the services involved, Rate-limiter, load balancing, database, storage, cache, messaging queue etc. After that, we dived deep into the functionalities of each services, limitations, failure handling, extensibility etc. There were some limitations that a user can't upload more than 10k documents, user after uploading 1 document, cannot upload before a certain interval.
Efficient Internal Linking for 1000 Unlinked Blogs
Given 1000 unlinked blogs, Design a flow or algorithm to perform internal linking among those blogs efficiently. Had a good discussion regarding the functions required, data structure, ML algorithm to extract anchor tags, score computation etc. At the end, told to design postgres db schema for the same.