profile-pic
Vetted Talent

Akanksha Panchal

Vetted Talent

I have 10+ Years of experience in enterprise application development using Java along with supporting frameworks. I have lead end-to-end development of APIs, Features and Modules followed by testing and deployment.

Technologies : Java, J2EE, MySQL, Spring MVC, Spring boot, Microservices, Hibernate, Data Structures, Algorithms, OOPS Concept, Design Patterns

  • Role

    Back End Developer

  • Years of Experience

    10 years

Skillsets

  • Java - 10 Years
  • Core Java
  • Hibernate
  • HTML
  • JavaScript
  • MySQL
  • Oracle
  • RESTful
  • SOAP
  • Spring Boot
  • Spring MVC
  • Java EE
  • Spring Boot - 5 Years
  • Algorithms
  • Data Structure

Vetted For

6Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Staff EngineerAI Screening
  • 54%
    icon-arrow-down
  • Skills assessed :CI/CD, Python, Java, Micro services, Spring Boot, System Design
  • Score: 49/90

Professional Summary

10Years
  • Mar, 2021 - Present4 yr 7 months

    Principal Software Engineer

    Dell International Services
  • Jun, 2020 - Mar, 2021 9 months

    Software Development Engineer III

    Nineleaps Technology
  • May, 2017 - Jun, 20203 yr 1 month

    Senior Software Engineer

    IBM India Private Limited
  • Feb, 2014 - May, 20173 yr 3 months

    Senior System Engineer

    Infosys Limited

Applications & Tools Known

  • icon-tool

    Eclipse

  • icon-tool

    IntelliJ

  • icon-tool

    Visual Studio

  • icon-tool

    SVN

  • icon-tool

    Jira

  • icon-tool

    Oracle

  • icon-tool

    MySQL

  • icon-tool

    Tomcat

  • icon-tool

    ADO

  • icon-tool

    Figma

Work History

10Years

Principal Software Engineer

Dell International Services
Mar, 2021 - Present4 yr 7 months
    Engage in discussions about the product roadmap & assume responsibility for the associated development tasks. Determine improvements for the feature based on user input and devise a plan for implementation. Enumerate all development tasks and areas affected by the new feature implementation, and segment the task into stories for the team to tackle. Participate in all stages of development, from execution and testing through to deployment. Conducting deployment tests across all environments. Engaging in data modelling and definition of schema, tables and views. Constructing queries for the generation of reports that will be incorporated into dashboard interfaces. Establishing GitLab pipelines for the deployment of the project across development, production and UAT environments. Undertake responsibility for feature development, contributing to both frontend and backend tasks.

Software Development Engineer III

Nineleaps Technology
Jun, 2020 - Mar, 2021 9 months
    Adding Category based mapping for newly added products from store managers. Adding a store approval panel for approving newly added stores in locality. Dashboard for tracking any newly launched campaign. Email Notification feature for any order status change.

Senior Software Engineer

IBM India Private Limited
May, 2017 - Jun, 20203 yr 1 month
    Globalized the product by externalizing messages and tags for different locales thus expanding the customer base globally. Enhanced the Event Framework for new solution implementation and updated the Monitor module to display replication status and additional details. Developed Recovery Location Abstraction Layer (RAL) for Backup Snapshot selections and updated health status and implemented Bulk Upload for automated dataset creation. Improved Group Creation Framework for Cyber Site discovery and enabled two-way TLS authentication for communication between RO and its agents. Utilized Cloud APIs (like Azure, AWS SQS) for solution building and contributed to the Rapid Product Development (RPD) Framework to increase team throughput. Tested APIs for feasibility checks provided by solution engineers.

Senior System Engineer

Infosys Limited
Feb, 2014 - May, 20173 yr 3 months
    Developed an international dialing use case allowing user-specific access to various international zones. Designed BPMN scripts and flow for all use cases catered by CCPS and deployed builds in customer's UAT and production environments. Developed a Report Generation Module using the BIRT framework and consumed SOAP and RESTful services for data gathering. Managed weekly stats processing for the number of requests processed by the application. Maintenance and Enhancements for the existing use cases. Production bug Fixes and Deployment of the same.

Achievements

  • Received Multiple internal awards for quality feature delivery within short span of time and of high business impact.
  • Appreciation for the performance and quality product from client & internal team.
  • Delivered tech talks and training to the team on other technologies.
  • No Escalation till date
  • Received Multiple internal awards for high business impact by quality feature delivery within short span of time.
  • Delivered tech talks & training to the team on other technologies. Ensuring smooth transition for new on-boarders.
  • Appreciation for the performance and quality product from client & internal team. No Escalation till date.

Major Projects

10Projects

DBaaS (Database as a Service)

    A self-tool aimed at automating the operations of DDC provisioned databases as requested by Database Administrators. It serves a significant purpose in executing day-to-day operations for DBAs, streamlining the processes and improving efficiency.

DAAT (Database automation and analytics tool)

    A unified portal for all the insights and operations of DDC provisioned DBs are made available to the user & business. It offers utilities like reports, change in assignments groups, migrating DB owner region, changing backup owner, etc.

IBM RO (Resiliency Orchestrator)

    A tool for managing disaster recovery, ensuring business process continuity by protecting applications, data and infrastructure. Enables operations like Switchover, Switchback and Failover.

CCPS (Cisco Collaboration provisioning services)

    A middleware application to cater to the provisioning request made by customers service request portal. It made changes to the end users phone & voice mail profile, providing auto provisioning for VOIP devices.

DBaaS(Database as a Service)

Mar, 2021 - Present4 yr 7 months
    DBaaS is a self-tool aimed at automating the operations of DDC provisioned databases as requested by Database Administrators. It serves as a significant purpose in executing day-to-day operations for DBAs, streamlining the processes and improving efficiency.

DAAT(Database Automation and Analytics Tool)

Mar, 2021 - Present4 yr 7 months
    DAAT is a consolidated portal where all the insights of DDC provisioned DBs are made available to the user and business. It offers a plethora of utilities like reports, change in assignments groups, moving DB owner from one region to another, changing DB backup owner and many other features.

MyGate Commerce

Jun, 2020 - Mar, 2021 9 months
    MyGate is an app-based security and community management solution for gated premises. MyGate Commerce is a service which enables eCommerce for MyGate App users. Using this feature new stores can be added and users can place orders from stores serving their localities.

IBM RO (IBM Resiliency Orchestrator)

May, 2017 - Jun, 20203 yr 1 month
    IBM RO is a tool for managing disaster recovery, ensuring business process continuity by protecting applications, data, and infrastructure. It offers a centralized dashboard for monitoring RPO, RTO, and overall IT health.

CCPS(Cisco Collaboration Provisioning Services)

Feb, 2014 - May, 20173 yr 3 months
    CCPS is a middleware application to cater to the provisioning request submitted customers service request portal and processing them by making changes to the end users phone or voicemail profile, thus providing auto provisioning for VOIP devices associated with the end user.

CFA(Call Forward Anyline)

Feb, 2014 - May, 20173 yr 3 months
    CFA is an IP Phone service offering a call forwarding feature, facilitating forwarding calls to other numbers or voicemail and presenting a menu showing the call forwarding status for each line.

Education

  • Bachelor of Technology: Electronics & Communication Engineering

    Vivekananda Institute of Technology (Rajasthan Technical University), Jaipur
  • Bachelor of Technology: Electronics & Communication Engineering

    Vivekananda Institute of Technology (Rajasthan Technical University)

AI-interview Questions & Answers

Yeah. So, my name is Akank Shavanchal, and I am working as a principal software in Dell. I worked mostly, as an individual contributor. I also have worked as a team leader in the past. I worked, so my responsibility are mainly, to implement back end, APIs and end to end region implementation, primarily focusing on the back end implementation. I use technologies like Java, Spring Boot, microservices. SQL, and, hibernate other supporting frameworks, so which are needed for the Java Enterprise application. I have worked, in, both monolithic and microservice architecture, and I'm familiar with the design soft system, which, goes in while designing any new application. So

Elaborate a Python utility that could dynamically address microservices based on based on system load. Okay. So I have I haven't worked with Python, um, but I worked with Java or Microsoft Business. So I'm unaware of any such utility, uh, which goes, uh, which is available.

What's the approach to identify and resolve a Springwood application startup failure to to creation. Okay. Okay. Let me think about it. Identify and So any, uh, spring boot application or spring application would be, um, so, um, can can have, um, like, um, unidentified bean exception by startup, uh, because, uh, that bean in which we are expecting to be available or which is getting injected somewhere or getting auto wired somewhere, uh, that is not available with the, uh, with the application for us to use. So in that case, uh, mostly, uh, beams are created with class name, and we would go there and identify how we have, uh, annotated, uh, how we have annotated the, uh, bin if, uh, if we have annotated it right or are are we, um, using any other qualifiers over there for bin creation. So, uh, we would make use of it. And what happens is in case of multiple wins with same name, uh, the place we are we are auto wiring or using, we need to use a qualifier as well just to, uh, resolve the ambiguity. So, um, yeah, uh, that is one of the approach. Uh, so I would check for the bin name or the class name causing the issue. And, I mean, it would be, uh, no such win definition, um, kind of exception. Also, we would we would check for if there is a dependency chain, if there is, uh, like, beans which are dependent on other beans, so we would have to, uh, trace back till that point. And we can also, uh, we we can we can run the application and debug, uh, with debug logs for us to get more information. Uh, the common causes are actually the annotation missing and, uh, misconfiguring, uh, of the beam, uh, or there is also sometimes they can set circular dependency as well. Uh, so or maybe the beam scope is very much limited. Um, so we would check if we have, uh, if we have mentioned any of that. That would be my approach to, uh, deal with, uh, any independent start up error. Okay. And, also, of course, if there are third party means which we are using, we would have to check for class path for the dependencies. So yeah. Thank you.

Um, again, I haven't worked with Python, so I cannot really, um, answer on the tools and frameworks available for monitoring and logging, uh, the health of microservices. But, uh, in Java, we we do have um, ELK and other stacks and some monitoring logging tools, uh, which we use with the, uh, application for

Yeah. Just wanna get is out of scope for me because, uh, Python based AI models, I'm not aware I am not aware of, so I would skip

Explain a strategy to ensure 0 downtime deployments in microservices using Spring Boot. Okay. Uh, 0 downtime means there would be, um, there would be a backup application available or something like so, uh, downtime do happens in the primary application, and, uh, it does happen, uh, uh, for any any I mean, anything would go wrong in the, uh, primary site. So how do we, um, how do we normally deal with it is we have secondary sites available for the application or basically, uh, backup applications also, uh, backup server available where we have deployed the, uh, microservice. But specific to Spring Boot, if we have to answer, then, um, so what we can make, uh, what we can, uh, do over here is we can have a load balancer configured, uh, which we have done for one of our applications. So, uh, in the load balancer, if, uh, there is, um, let's suppose a particular request is not, uh, solved, then it could, uh, send the request to the next in the cyclical order it does send and, uh, it would send it to the next server. And we can also have so spring boot comes with an actuator, uh, which provides the health check end points so that we can make use of, um, if for the health of the applicate if the activation is down or the health is not as per the parameters, then it can, uh, indicate us. Then, uh, then there is, uh, then and then I told about the backup, I mean, another secondary deployment of the same application. And then, um, what else? So, yeah, uh, there there is one specific design pattern. Uh, I'm sorry. I forgot about that earlier. So there is, uh, this specific design pattern while designing the microservices architecture applications, so which is called a circuit breaker pattern. And, uh, this circuit breaker pattern, um, actually is meant to serve the zero round time. So what happens is that, uh, it it, uh, it basically uses the history. So for this purpose, and, uh, it it so it breaks the circuit to the unhealthy instance. Okay. Uh, if if you, uh, it has identified any such instance, it would it would not send the request through that. So we can implement the circuit breaker pattern also. Yeah. I mean, these are some of the ways to deal, uh, with downtime in the application, monitoring alerts, logging, all of that. So that's it.

Name with the block of job or for. Can you sort threshold that may arise from exception? And you suggest how this could protection compromise the web? Slow business when an exception, of course. Rest con okay. Uh, there is a rest controller, and then there is request mapping, which is for API users. Then there is get mapping. Then there is get all users. Okay. So that will get all the users. And then if it is not able to get all users, then it may throw exception over here, and then it will say, okay, um, from the this thing. From this method, We just put down from this method, or catch and then return an exception. Okay. So this response entity So, um, I mean, the runtime exception, when it occurs, it, um, before that, I could see 1 compile time exception also. In the method, uh, declaration, the response entity, um, has to specify a generic and within those, there is a missing bracket for specifying the generic before or, like, public response entity is not right and then get all user is fine. Okay. Um, so once we do get all users and the list of users will get assigned, then users would be sent as an response entity. But if we are not able to get, we would be catching the exception, whatever it is. So parent exception, we are catching. And, um, then again, we are forming a response entity with the error, which is error code. Internal server error. Okay. We are not showing any message over here. We are just uh, the code is internal server error. So it will show internal server error over there. Uh, okay. And then wherever we are calling this find all users from, we are doing get all user. Then in the service implementation since there is in the user, okay, user classes, they are user service. Okay.

Examine the 1 in Java code that is intended to easily initiate an instance of a second. You explain what is wrong with this code and what could happen if multiple threads try to access get service and instance methods amending nicely? Okay. So if multiple, uh, this is an implementation of, uh, single time. And if, uh, we, uh, uh, try to lazily initialize lazy initialize means, first, we are checking that service instances are not available. And if it is not available, then we are assigning up. But if multiple threads, uh, access the get service instance at the same time, since there is no synchronized, uh, use over here, multiple threads would be able to execute this code, which is inside the method, which is, um, if uh, which is inside the if block also. So what will happen is that multiple new service, uh, method new service object would be created. And, uh, this, uh, I mean, the service instance will be able to point to only 1 at the end, but then again, uh, we would have, uh, the for what we would, uh, have to return, uh, which is service instance. So the singleton pattern will be broke over here because we wanted to have only one object of this, and we did not, uh, want others to create unlimited objects. But if as many threads let's suppose 3 or 4 threads come together to get this instance, then, uh, because this is not synchronized, uh, it will be able to create as many objects as the threads are. So for that, uh, method, uh, for that way, we can actually make use of synchronized keyword with the method or with the block, uh, so that, uh, and, also, we can implement a double check method over here for to overcome this

Then we have a comprehensive backup strategy for a microservices ecosystem that spans multiple data store. Comprehensive backup, uh, strategy. Okay. Let me think about it. Sorry. We may answer this screen if this happens. Okay. Okay. Got it. Sorry. My laptop is still just screen. Okay. So with multiple, uh, data store, what, uh, problem I see is that the the application will have to every now and then, it will have to, like, create connections with this data storage. Okay. And then we, um, because it's the data is not all in the same place, uh, then, um, again, it would be an inter dependent, uh, this thing, um, to fetch, uh, probably for, uh, single API. We might have to, uh, we might have to, like, contact multiple, uh, this thing. Okay. Okay. So I mean, there has to be the consistency, availability, scalability, uh, and, uh, ease of recovery in all the data store. So how do I design a backup for it? Backup for backup, we need to We would need to have we will have to actually, um, have a backup for each kind of data store. That is what I'm I'm thinking of. Like, for relational, uh, databases, there would be a logical backup like a dump or something. And or maybe there could be a clouds cloud based backup or a replication backup or a higher ability backup kind of thing. And for no sequel, uh, kind of data stores, we again can have snapshots available of them, okay, for the recovery purpose. But yeah, so I discussed MySQL and no sequel, then there could be, uh, message queues. So again, for message queues, there has to be a different strategy, uh, like, uh, a parallel queue or something.