
7 Years of experience as Software Developer in design, analysis, implementation and testing of web applications.
Sr. Software Engineer
ZoomRx Healthcare TechnologiesSoftware Engineer
NortonLifeLockIntern
Expedia (via Sphota Solutions)Intern SDET
Symantec
AWS

Google Cloud Platform (GCP)

Elastic Search

Kafka
.png)
FastAPI

vs code

intellij

confluence

LoadRunner

jmeter

gatling

SumoLogic
Yes. Hi. This is Arvin. I'm born and brought up in, uh, Sri Lanka, Andhra Pradesh. It's been 7 years. I'm into, uh, back end development, and, uh, my current company is the second one. Both are in, uh, Chennai currently. My studies, um, I had studied BTech, uh, computer science in, uh, Amrita University, Coimbatore. After that, due to campus placement, uh, I worked in Symantec. It's a security cybersecurity product, and it also gives, uh, both the b to b and b to c products as well. And my current company is, um, Zoom Rx Healthcare. I have been working in multiple, uh, tech, like, uh, JavaScript, uh, Python, JavaScript, TypeScript, and few frameworks of these languages. I've always been passionate about these things and, uh, wanted I'm working on being an architect in back end. We're not really back end in the technical world. Web web applications. Thank you.
Okay. How would a implement error handling and retrace for failed API calls in microservice communication? Recently, I was, uh, working on such instance where we need to use, uh, the JWT application, Azure 1. For that, uh, we have some token limitation. So due to that, at that time, while parallel processing the request, token will token limit will will get hit. And during that time, we should wait for, uh, 1 minute or so. So in such situations, the server will stop. The other request will stop processing. So what we have done is we have created a retry mechanism that also taking care of, uh, the, uh, how much time available for our request to fulfill again. Also, we had implemented some 3 instances of, um, I mean, 333 different keys we are maintaining. If this one if, uh, number I mean, key number 1 fails, we'll try key number 2. Key number 2 also fails. We'll try key number 3. So in that small span of 1 minute, we'll make sure the request is not lost in the communication. And as we log, uh, all the details too so that we'll know where we could, uh, make some improvements. In yeah. Specific to Java, uh, we'll create business level exceptions. So these business level exceptions are are technical level exceptions will help us identify what kind of error came. So if it if we feel, um, this error could be resolved if we retry again, So such errors will be retried with a particular threshold. If that threshold, uh, uh, is crushed, I have to come back and, uh, verify. So while testing itself, we should take care of all these things.
Discuss the coordination required between microservices and a typical other pattern application. I am really not sure about the saga pattern, but, um, coordination I'll talk about the coordination between microservices. So there are different ways that we can microservice can communicate with each other. Um, if we use gRPC calls so that are, like, faster compared to other calls. So the gRPC calls, um, gRPC calls can, uh, that is one way of communication. Others are Huddl, so or we can use GraphQL. So, no, these are few communications and a few more, like, uh, we can use pops up notifications to communicate them, or we can have a a master slave architecture so that, um, the master will take care of which slave to be called next. So that is one thing. And, uh, yeah, these are a few ways we could implement the coordination. Thank you.
What status would you implement to ensure scalable security for multiple Java microservices? Scalable I mean, if we are using Google's Cloud Services, for each microservice, based on its requirement, few microservices, uh, don't need to be up all the time. Few microservices need to be up all the time. Few microservices, uh, should be spawned at that time, get things done, and close it off. So based on that, um, we should decide which tool we should use for making it live or deployment. For example, if you know that, uh, microservice, uh, is used on daily basis and, uh, yeah, and we might know, like, how many requests uh, that microservice will get. So we could, uh, put it in a workload, um, and it'll spawn how many number of parts if one it can use it. And, um, if we think, like, a a microservice should be started only at particular, uh, instances or, uh, some, uh, triggering, uh, should happen. Like, um, we can use, uh, latest Kubernetes server that is SCADA server. So when the notification comes, it will spawn itself and, uh, do that task and close it off. This will save cost and resources too. And Yeah. For example, if a microservice should be run every day at one particular time, we can use, uh, some scheduler provided by the clouds cloud and around I mean, cloud services. Using that scheduler, we'll just start it, and the Microsoft will close down based on those services, uh, I mean, a particular service capacity of, uh, and the the kind of resources it use, we could use. Few other, like, uh, AWS Lambda or, um, DCS, Cloud Functions, or, uh, or data flow if we are focusing on batch processing. Yeah. These are few strategies, I would say. Um, these strategies are already implemented in forms of tools, so if we get to know those tools so it's like we'll get to know the strategies as well. Yeah.
Can you outline the process of creating a doc file? Java application. I believe it should be a is there a task that's been a while I didn't, uh, work on this? But, yeah, uh, I have used my own Docker file, but, um, it could be a simple command or as such. So, yeah, not sure about this.
Can you guys hear how people integrate React to programming models into a springboard project that we'll just do it? How would you integrate React to programming models? React 2 programming models. Do a Spring Boot project. When you say React 2, I believe it is, like, based on a request or with based on some, uh, change in, uh, state of storage or any change in particular, um, instance should start programming. Not sure. Never implemented that in SpringBoard.
And you report snippet. K. In this code snippet, identify the possibility by the runtime exception of us, and we'll try to add an element to the list. It is not as list of 1, 2, 3. We'll create a list, But, um, while instead initializing a list, uh, I mean, while declaring it, we should use you know, we should tell about, like, uh, what kind of list it is, what data type of list it is. Since that is not, uh, present, uh, this might lead to a exception.
Get this Python code segment boost in microservice for the logging. Is there a solid principle being violated? Explain what changes should be done. I mean, There might be different, uh, output streams for, uh, logging console file or any other, um, elastic I mean, uh, EMS environment. We can't really keep saying log to this log to that, uh, every time. It's better. We create, um, interface, uh, for logging. And based on the selection, we'll see which log should be used, like console or file or anything. But the generic I mean, on a high level, it's better we create a interface.
Okay. Not getting what you're asking exactly. Like, To me to say I mean, CSCD pipeline, we can have multiple branching, so like, um, release, master, develop. Uh, and, uh, based on that, we can do some things. I mean, when a person needs to update the feature, he'll create his feature branch. And once that is tested, he'll put it in the development branch and it is, uh, put it in development environment. And once integration testing is also done, then that branch will be merged to master. Sorry. Not matched there. Uh, it's better it's switched I mean, merged to release branch, and um, we do the release. Once all good, everything is good, we can just move that to master.
So these optimizations for a Java application that leverages both relational and NoSQL databases for different types of data processing. Both relational and the NoSQL databases for different types of data visualization. The optimizations for a Okay. Okay. Yeah. One good example is, for example, if we take, uh, we take MySQL as a relational database and, um, Elastic, uh, the Elasticsearch database has no SQL database, and we are creating a chat application. In chat application, I mean, uh, we'll use, um, Elasticsearch. I mean, in Elasticsearch, we'll put all the content. Okay. Why am I saying content is because, for example, we have some documents, and all these documents can be stored in an elastic search. Um, just the all the text will be stored in an elastic search, And, um, we have users to track users and a proper structured data. We'll use, uh, MySQL database. And during the chat application based on the question, we need to check which document is applied, uh, for this, uh, question, and we need to reduce those documents. To retrieve those documents, we can use elasticity because my sorry. MySQL, uh, is good for retrieving structured data, but, uh, the paragraphs or the contents of a file and, uh, ranking them based on the given query, We can it's better to use a NoSQL database and, uh, get the data and give it to the, uh, user. So that will track, like, what data we have given to the user in a again, in, uh, MySQL. So, yeah, here's one way we can implement. So list optimizations, actually, is that, uh, optimization. We should not make sure redundant data is stored here and there. For, uh, NoSQL databases, um, like, the IDs could be stored in the MySQL database, uh, for any document. If a particular document is required, uh, we'll check for that, um, ID and directly go and ask in query in NoSQL database rather than doing a search. So, basically, NoSQL, either we can use Elasticsearch or DocumentDB for, uh, blob storage. So this kind of blob storage will help us in to drill the data.
Set your approach to implement a resilient transaction management system in the microservice leveraging Spring Boot and message tools. Transaction system in the microservice service in Spring Boot and message queues. Yeah. As I mentioned in one one of the earlier questions, communication between microservices can be done via SSQs. That is also one way of doing it. So by using message queues, Spring Boot application will will will keep checking if a message has come or not. Um, if a message comes, it will start processing the data. And, um, yeah, once a message comes to I mean, Spring Boot should, uh, acknowledge the message also so that, uh, if we have multiple, uh, instances of that, uh, Spring Boot application, uh, other instances also wanted to, um, take that message. And, yeah, for suppose if, uh, for instance, Spring Boot was down Spring Boot application was down, and the message is there. And, uh, somehow, due to some error, if it goes to a dead letter queue, We should have a mechanism to verify the dead letter queue I mean, data in the dead letter queue is valid or not. If that is valid, we'll process or we'll log those, um, messages.