profile-pic
Vetted Talent

Zubin Bhasin

Vetted Talent

Backend 5+ years experienced software engineering professional possessing hands-on experience in developing back-end frameworks for highly scalable applications.

  • Role

    Backend Developer

  • Years of Experience

    6.4 years

Skillsets

  • Node.js
  • Type Script
  • Hapijs
  • Node Js - 5 Years
  • Hapijs
  • MySQL
  • Type Script
  • JavaScript
  • Elasticsearch
  • SQL - 2 Years
  • MongoDB
  • Express.js
  • JavaScript
  • Elasticsearch
  • Node.js
  • MongoDB
  • Express.js
  • Node Js - 5 Years
  • Postgres
  • Node Js
  • NestJS
  • Kafka
  • Express Js
  • Mongo DB
  • Elasticsearch
  • Redis
  • Express Js
  • Node Js
  • Mongo DB - 5 Years
  • Mongo DB - 5 Years
  • Express Js - 5 Years
  • JavaScript - 5 Years
  • JavaScript - 5 Years

Vetted For

7Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Software Development Engineer (SDE) - IIIAI Screening
  • 71%
    icon-arrow-down
  • Skills assessed :Amazon Web Service (AWS), Micro services, Spring Boot, Good Team Player, Java, Postgre SQL, Problem Solving Attitude
  • Score: 64/90

Professional Summary

6.4Years
  • May, 2024 - Present1 yr 8 months

    Engineering Lead

    FlexiLoans
  • Mar, 2023 - Oct, 2023 7 months

    Senior Software Engineer - Backend

    Fitelo
  • Mar, 2022 - Oct, 20231 yr 7 months

    Senior Software Engineer - Backend Consultant

    Freelance
  • May, 2019 - Apr, 2020 11 months

    Software Engineer - Backend

    SearchUnify
  • May, 2020 - Mar, 20232 yr 10 months

    Senior Software Engineer - Backend

    FreeCharge, Axis Bank
  • May, 2020 - Feb, 20221 yr 9 months

    Software Engineer - Backend

    FreeCharge
  • Mar, 2018 - Apr, 20191 yr 1 month

    Backend Developer - NodeJS

    Code Brew Labs
  • Mar, 2018 - Apr, 20191 yr 1 month

    Backend Developer(NodeJS)

    Code Brew Labs
  • Mar, 2018 - Apr, 20191 yr 1 month

    Software Engineer - Backend

    Code Brew Labs

Applications & Tools Known

  • icon-tool

    Node.js

  • icon-tool

    Express.js

  • icon-tool

    MongoDB

  • icon-tool

    Redis

  • icon-tool

    Kafka

  • icon-tool

    Elasticsearch

  • icon-tool

    Microservices

  • icon-tool

    TypeScript

  • icon-tool

    TypeORM

  • icon-tool

    PostgreSQL

  • icon-tool

    Redis

  • icon-tool

    ElasticSearch

Work History

6.4Years

Engineering Lead

FlexiLoans
May, 2024 - Present1 yr 8 months
    Leading the optimization of latencies in existing legacy codebases.

Senior Software Engineer - Backend

Fitelo
Mar, 2023 - Oct, 2023 7 months
    Transitioned from monolithic servers to microservices architecture using NestJS, TypeScript, and TypeORM. Enhanced scalability by breaking down complex services into smaller, independent modules.

Senior Software Engineer - Backend Consultant

Freelance
Mar, 2022 - Oct, 20231 yr 7 months
    Responsible for developing and maintaining backend API servers using NodeJS (ExpressJS) for large scale applications

Software Engineer - Backend

FreeCharge
May, 2020 - Feb, 20221 yr 9 months
    Project Juno: Digital Savings Account for Axis Bank

Senior Software Engineer - Backend

FreeCharge, Axis Bank
May, 2020 - Mar, 20232 yr 10 months
    Migrated Axis Bank's digital savings accounts to the cloud, ensuring improved performance and scalability. Activated over 100k accounts using Node.js, MongoDB, and Express.js, enhancing operational efficiency. Developed and optimized backend services for seamless account creation and management. Built the backend for Axis Bank's emergency savings planner ensured robust data management, real-time responsiveness, helping customers efficiently manage their emergency savings.

Software Engineer - Backend

SearchUnify
May, 2019 - Apr, 2020 11 months
    Resolved a six-month analytics load issue for SearchUnify by overseeing queries and APIs and implementing a time series database Druid to capture user activity.

Backend Developer - NodeJS

Code Brew Labs
Mar, 2018 - Apr, 20191 yr 1 month
    Developed various applications including 3ndk - Laundry App and Kwiz App

Backend Developer(NodeJS)

Code Brew Labs
Mar, 2018 - Apr, 20191 yr 1 month
    3ndk - Laundry App, Developed an app to book a slot for getting laundry services at the doorstep.

Software Engineer - Backend

Code Brew Labs
Mar, 2018 - Apr, 20191 yr 1 month
    Led professional services initiatives for Pure Storage and National Instruments, optimizing search functionality across their data repositories. Worked closely with clients to understand their requirements and ensure seamless integration with their existing systems.

Achievements

  • Onboarded Axis bank to the cloud and successfully powered the activation of 100k+ accounts in 2.5 months
  • Solved analytics load problem for >6 months of historical data by proposing solutions on using time series database like Druid

Major Projects

11Projects

FlexiLoans

    Lead and guide a team of software engineers, delivering effective solutions.

Fitelo

    Led Fitelo's transition from a monolithic system to microservices using Node.js, TypeScript, NestJS, TypeORM, and PostgreSQL. This change made operations smoother and more scalable, setting the stage for future improvements.

Axis Juno

    Built the backend for Axis Bank's salary account app, Axis Juno, using Node.js, Express.js, JavaScript, Redis, and MongoDB. Ensured secure user data handling and a smooth onboarding experience, delivering high performance and scalability for Axis Bank's customers.

Emergency Savings Planner

    Built the backend for Axis Bank's emergency savings planner using Node.js, Express.js, JavaScript, Redis, and MongoDB. This integration ensured robust data management, real-time responsiveness, and a secure user experience, helping customers efficiently manage their emergency savings.

3ndk

    Helped craft the 3ndk Laundry app, using Node.js, Express.js, and MongoDB. It's all about making laundry hassle-free, allowing users to schedule, track, and pay for services with ease.

3ndk Laundray app

    Using Node.js, Express.js, and MongoDB making laundry hassle-free, allowing users to schedule, track, and pay for services with ease.

Wavey

    An Event Ticket Booking Application to handle user registrations, ticket bookings, and event management.

Juno - Digital Savings Account for Axis Bank

May, 2020 - Feb, 20221 yr 9 months
    Onboarded Axis bank to the cloud and successfully powered the activation of 100k+ accounts in 2.5 months

SearchUnify

May, 2019 - Apr, 2020 11 months
    Served clients with large user base like PureStorage, National Instruments Corporation, etc., managing queries and APIs

3ndk - Laundry App

Mar, 2018 - Apr, 20191 yr 1 month
    Developed an app to book slots for getting laundry services at the doorstep

Kwiz App

Mar, 2018 - Apr, 20191 yr 1 month
    Developed quiz app that allows users to earn rewards and avail discounts at partner stores

Education

  • Bachelor's in Technology in Computer Science

    Chitkara University (2018)
  • B.E Computer Science

    Chitkara University, Punjab
  • B.E: Computer Science

    Chitkara University

Certifications

  • Mongodb for nodejs developers

  • MongoDB for NodeJS developers

    MongoSchool (May, 2018)

AI-interview Questions & Answers

So, ever since graduating in 2018, I've been working as a backend developer, and I have experience in working with backend frameworks like Spring Boot, Java, and I have also experience in Node.js and Express.js. I have worked with Nest.js as well using TypeScript. So my jobs have been mainly backend heavy, and I've made use of my skill set to contribute in organizations which are working in service-based domains, B2B product-based domains, and also I've worked with FinTech environment and made use of basically my skill set in the wellness domain.

So how would you tackle connection pool in a post Grace Java backed application at scale? So for tackling Java based, uh, application, PostgreSQL, at scale, I can use library pooling library like hierarchy CP configuration parameters, such as maximizing pool size, connection time out, and idle connection time out. They should be optimized based on the application's requirement and workload. Additionally, we can, uh, monitor connection usage, tune tuning pool setting dynamically, and implement retry mechanism for database connections, which can help manage scalability efficiently.

How can you create a change history of table which is written by many systems, some of which are not even known. So so as to create the change history of table, which is written by many systems and some of which which are not known, uh, would be a challenging to, uh, achieve. Our the approach is to implement our database trigger that captures changes made to table and logs them into a separate audit table. Triggers can record, basically, time stamps and user making the changes, the nature of change. And, uh, additionally, we can employ the metadata management tools and data, uh, lineage tracking to reduce the, uh, trace changes backing to the source even if some sources are unknown.

What is rank and row number in window functions? So, basically, rank and row number are in context of SQL, uh, and, uh, basically, rank, uh, assigns a unique rank to each row with within the partition, whereas rows with some same values get the same rank. And the next row gets a rank incremented by the number of tied rows. And row number assigns a unique integer to each row within the partition regardless of their duplicate value.

How would you monitor a SQS or any other queue in production? So so as to implement and monitor a SQS, uh, or any other queue in production, we can make use of CloudWatch matrix matrix, and we can make use of CloudWatch logs. We can make use of, uh, queue lengthening monitoring, tracking the queue size and depth over time to ensure it doesn't grow too large, and we can make use of dead letter queue. So as for handling messages which could not be processed and its activity is separately, uh, monitored, and we can make, uh, q consumer metrics to monitor the health of our, uh, basically, queue and make use of external monitoring tools, 3rd party tools for q, uh, query mon

What is a vac vacuum and when is it used? So, basically, vacuum is basically a operator that marks space occupied by delete or absolute rows available for reuse. It basically updates the internal data structure to reflect the changes, and it reclaim disk by compacting the storage and moving absolute data. It updates statistics to help the query planner to make better decisions.

Given Java code, identify the code, which can, okay. So we are using max event as the, uh, parameter to the maximum events, which can happen. And the maximum event is sent, set to be 10. So in cases where the sample event entered is greater than a hundred. So it can, uh, uh, only have events which are less than a hundred. So the max event, uh, acts as the, uh, uh, highest, uh, goal, which can be achieved by using this code.

In a SpringBoard microservice architecture, how do you handle shared domain models? So, basically, in a Spring Boot microservice architecture, we can handle shared domain models by using shared libraries, uh, basically, creating libraries and modules containing shared domain models, enums, and interfaces. And these can be versioned as well, and we can make use of defined API contracts. And, uh, we can make use of event driven architecture. And, also, we can make use of service mesh. Uh, domain driven design to apply and identify bounded context can define, uh, boundaries around the domain models. And, basically, testing and validation also helps us to handle shared domain models. And, basically, this can help us in urine testing and integration testing, and contractless test can help us verify interactions and prevent regressions.

What approach would you take to refactor a monolithic Java application into microservices without causing a system downtime? So refactoring the monolith Java application into microservices without causing downtime can basically, we can have to identify the boundaries and and analyze the monolith application to identify, basically, based on the domain driven design principles, which components can be decoupled and encapsulated into separate services. We can implement refactoring and rig the monolith application into smaller modules, um, by isolating the functionalities and with that can be extracted as microservices without, uh, affecting the overall functionality of the system. We can implement a API gateway to introduce the API routes to request monolith application and newly created microservices. And we can make use of basically, we can make use of the strangler design pattern and deploy the microservice newly created microservice, uh, along with the monolith and gradually use techniques like green blue deployment to minimize the risk, uh, of downtime. And we can make you monitor and test it and iterate and refine the Microsoft with architecture based on the feedback which is provided to us. And we can continuously evaluate the performance and maintainability of the system.

How would you optimize the usage of a AWS and MoDB for a microservice with highly variable access patterns. So to optimize the DynamoDB microservice with highly value variable access patterns, We can make use of their partition key design and choose a appropriate partition key, which distribute work workload across partitions and basically make use of on demand capacity considering automatically adjust the read and write capabilities based on the actual design, uh, actual usage. And we can make use of the DynamoDB accelerator to improve the read performance, basically, by caching frequently excess items and reducing the number of reads from the Dynamo table, uh, directly. We can make use of time to live feature to, uh, basically, automatically delete the items from the DynamoDB. It basically has manages the time to live of the particular, uh, item. We can also implement it using the monitoring, uh, continuous DynamoDB performance such as, uh, consume capacity, throttling events latency, and make use of AWS, uh, CloudWatch alarms to trigger automatic scaling or optimize the index configuration on a workload pattern.

How would you troubleshoot how would you what would you approach to diagnose and troubleshoot a memory leak in Java based microservice?