Backend Developer Mock Interview | Interview Questions for Senior Backend Developers

Author: neptune | 28th-Jun-2024
#Interview #Node.js

1. Could you please introduce yourself and tell me a little bit about your professional experience?

   I'm Faizal from Pune, India. I am a Google certified associate cloud engineer and a full-stack developer with five years of experience in designing, developing, and deploying scalable, highly available, and secure applications on web 2.0 and 3.0 technology stack. I have solid expertise on web 2.0 technology such as React, Angular, Node, MongoDB, and SQL. Moreover, I have hands-on experience on web 3.0 technologies such as Ethereum, Polygon, Solidity, and IPFS.


2. Could you please tell me a little bit about some exciting back-end projects or any kind of project that you have worked on?

   Recently, I developed a cross-platform application for an American client in the domain of automobile servicing. It involved user authentication, scheduling automobile servicing appointments, pick-up and drop-off tracking, service history of a vehicle, and nudging users for regular servicing. We used React and React Native for the front end and Node.js and MongoDB for the back end, deployed on Microsoft Azure. This tech stack provided dynamic scalability, business continuity, and low operational cost to our client.


3. Why did you choose this tech stack: React, React Native, Node.js, MongoDB, and Azure?

  React and React Native: We needed to create a cross-platform application. The shared library between React and React Native reduced the time and effort needed for the front end, promoting reusability.

  Node.js and MongoDB: Node.js scales well and integrates smoothly with MongoDB. MongoDB provides horizontal scaling with sharding out of the box.

  Microsoft Azure: As a Microsoft Azure partner, we chose Azure to reduce costs for the client while providing dynamic scalability and business continuity.


v

4. What are some of the best practices you are using for performance testing?

  Created a separate performance testing environment on Azure cloud.

  Used Azure serverless functions for dynamic scalability.

  Deployed load balancers to distribute load evenly.

  Used JMeter to track performance and tweak the architecture based on assumed queries per second and requests per second.


5. In your experience, what is acceptable in terms of requests per second?

   It depends on the expected number of users. The queries per second and requests per second should be based on the user load, which affects both application and database layers. It’s a case-by-case basis rather than a fixed number.


6. How did you scale up your Node.js application in that project?

  Used Microsoft Azure serverless functions for dynamic scalability, allowing Azure to handle deployment and scalability.

  Implemented horizontal scaling in MongoDB using sharding based on the state the car belonged to.

  Created multiple read replicas to handle read queries, separating them from write transactions.

7. What do you understand by ACID properties of a system?

  Atomicity: Ensures complete transactions; if one part fails, the entire transaction fails.

  Consistency: Maintains the database in a valid state as per the constraints after a transaction.

  Isolation: Concurrent transactions result in the same state as if executed sequentially.

  Durability: Ensures committed transactions remain in the database despite failures.


8. What do you mean by layering your application and why is it important?

   Layering ensures separation of concerns, unit testability, and code reusability. A common approach is dividing the application into controller/routing layer, services/business logic layer, and repositories/data access layer. It’s crucial for maintainable and scalable code architecture.

9. Could you explain the difference between WHERE and HAVING in SQL?

  WHERE: Adds conditions on rows in the table.

  HAVING: Adds conditions on aggregations obtained from those rows.


10. What's the difference between WHERE and ON in SQL?  

   ON: Defines join conditions between tables.

   WHERE: Defines filter criteria on the joined rows.


11. What is an API Gateway pattern?

    An API gateway sits between clients and services, acting as a reverse proxy to route requests from clients to APIs. It handles authentication, monitoring, load balancing, SSL termination, caching, static response handling, and more. It encapsulates the internal structure of the application, providing a single entry point for clients.

12. What kind of caching mechanisms are you familiar with?

    We used Redis for in-memory caching to store frequently accessed data. For example, master data was loaded into Redis during service startup to reduce load on MongoDB read replicas.


13. When should we use Redis over MongoDB, or should we use both?

    Use Redis for faster access to frequently accessed, non-permanent data, and MongoDB for permanent, schema-less document storage. For example, we used Redis for leaderboards that change frequently but are accessed often, while MongoDB stored the permanent servicing data.


14. If Node.js is single-threaded, how does it handle concurrency?

    Node.js handles asynchronous operations by offloading I/O requests to separate threads. Once the operation is complete, an event is placed in the event queue, which the event loop continuously checks, ensuring efficient handling of concurrent operations.




Related Blogs
Where you applied OOPs in Automation Testing?
Author: neptune | 28th-Aug-2023
#Interview #Java
You may face this question Where you have applied OOPs concept in Automation Framework? in almost all the Selenium Interviews. Let's learn OOP’s concept in Java before going further...

Mostly asked Python Interview Questions - 2023.
Author: neptune | 30th-May-2023
#Python #Interview
Python interview questions for freshers. These questions asked in 2022 Python interviews...

Core Python Syllabus for Interviews
Author: neptune | 26th-Jul-2023
#Python #Interview
STRING MANIPULATION : Introduction to Python String, Accessing Individual Elements, String Operators, String Slices, String Functions and Methods...

Top 50+ Selenium Interviews Questions 2023 based on Years of Experience
Author: neptune | 02nd-Apr-2023
#Selenium #Testing #Interview
Every interview difficulty is based on how many years of experience you have in that field. For the Selenium Automation Tester I have divided the question on the number of years of experience...

Top 10 Selenium Interview Questions with answers (2021).
Author: neptune | 02nd-Apr-2023
#Selenium #Interview
In this article I will cover top 10 Selenium interview questions...

30+ SQL Interview Questions
Author: neptune | 05th-Jan-2023
#Interview #SQL
Data Definition Language (DDL) – It allows end-users to CREATE, ALTER, and DELETE database objects...

25 Basic Java interview questions.
Author: neptune | 30th-May-2022
#Interview #Java
We will explore 25 basic Java interview questions...

Black Mirror Season 6: A Glimpse into the Future of Technology and Society
Author: neptune | 27th-Apr-2023
#Interview
Black Mirror Season 6, starring Salma Hayek and Aaron Paul, promises more violence and thought-provoking explorations of technology and society...

Top 20+ Appium Interview Questions and Answers (2023)
Author: neptune | 30th-May-2023
#Interview
This article provides a comprehensive list of 20 common interview questions on Appium mobile automation, covering various topics and providing solutions for each question...

Skills Required for Full-Stack Developer at IBM Onsite, CA
Author: neptune | 25th-Feb-2024
#Interview #Jobs
The company's commitment to pushing the boundaries of what is possible necessitates a team of skilled professionals...

What is a Module in Node.js?
Author: neptune | 20th-Jun-2024
#Interview #Node.js
In Node.js, a module is a reusable block of code whose existence does not accidentally impact other code...

How to Create an HTTP Server in Node.js ?
Author: neptune | 26th-Jun-2024
#Node.js
Node.js runs in a single process without creating a new thread for every request...

View More