As an Electronics Engineer with a passion for technology, I have taken a non-traditional approach to learning programming and computer science concepts by using online platforms such as YouTube. This unconventional approach has proven to be effective as I have gained a deep understanding of these topics.
I started my professional journey at Fivetran, a leading datapipe line platform, where I was involved in designing and developing many projects. During my four years at Fivetran, I had the opportunity to work with a team of highly skilled professionals, which allowed me to develop a strong foundation in software engineering and gain valuable experience in the industry.
Currently, I am working as an interviewer and have conducted over 2000 interviews. In this role, I have gained extensive experience in evaluating candidates for technical positions and have developed a keen eye for identifying potential candidates who will make great additions to the team.
Senior Interview Engineer
KaratSenior Software Engineer
FivetranSoftware Engineer-II
FivetranSoftware Engineer-I
FivetranHi. My name is, and I am from Gujarat. I have total 4 years of experience as became engineer or data engineer at 5.1. And After that, I have been working as an agent as an engineer at, uh, for 2 years. And over the course of years, I have conducted more than 800 interviews on behalf of. So in total, I have 6 years of experience. Uh, I am if we talk about my background, then I am an electronics engineer, and all the programming that I have learned is from, Uh, YouTube, Stack Outflow, and other various platforms. Uh, I have I was graduated in 2016 from the DDIT, which is in Gujarat only. Yep. That's all about me.
An API that It requires high high traffic, high availability, and High availability is very important, so I would suggest to use multiple instance of a server And, uh, against the load balancer, the servers can be hosted on different regions geographically based on from where the traffic is Coming? Yep. Apart from that, I would also consider the cost. How much cost can we, How can cost how much cost that we can bear and, uh, Uh, the number of projected users, our expected load for the future, and our previous load, like, what was What has been the growth and what will be the growth? Uh, the the number of requests per second, maybe, The number of read and write requests as well. How depending on whether the If the read request are there, then keep more slaves and less masters. And if the system is re write heavy, then keep more Masters, it will it can, uh, redirect the load across various,
The cloud services which could be quite cost effective, but still maintain the performance. So in order to ensure that I would monitor the peak load, uh, for each of the CPU or for all system. And I will Try to use as many servers as I can, uh, but not more than that. So, basically, what I will do is I might try to use auto scaling so that, uh, whenever there is a traffic when the traffic would go, High. It will scale up automatically, and we can scale it down. Uh, we can also monitor the CPU and, Frame usage, basically. And we can keep the usage as, let's say, 70%. And if the If the Lord goes above 70%, then maybe we can spawn more instances. And as soon as A load goes below, let's say, 30% or 40%, then we can just, uh, reduce the number of instances so that we can Keep on serving as many users as we can, uh, without bringing down without bringing down any API. Sorry. Without breaking down any servers. Uh, Yeah. That's
Food implement and importancy in this kind of in distributed transaction. Uh, the very easiest way to measure the item potency is Uh, just keep just take the last transaction in the system and update the last transaction in the database. In order to implement the item potency, basic mostly delete plus insert, uh, queries works. Uh, first, you just split you just split all the IDs, uh, that are present or or all the rows that are present present for the given primary key or a combination of primary key, and then reinsert all those values. So this this will, uh, make system, idempotent. But in order to In order to ensure idempotency in distributed transaction system, maybe we can segregate. We can we we can segregate. Maybe we can segregate the rows based on some particular factors either if the primary keys are based on alphanumerical or alphabets, then we can send Those party we can store those particular rows in those in a specific row server so that we can make sure we can just revert, we can just redirect to those goes to a given server so that, uh, we can easily, uh, perform the delete plus insert
What design pattern would you use to enhance the scalability of Jarvis cloud application and why? For the same pattern. So if we talk about, uh, various Clouds. Can I guess polymorphism would be great for for in uh, polymorphism or, Basically, interface or abstract class? So that will help us to support various cloud where is cloud vendors? Like, let's say we can support BigQuery or AWS or Azure Without, uh, changing anything in the main code, we can just pass at the runtime, we can pass the instance of any cloud vendor or any cloud And, uh, without changing a single code by using this interface or by using the polymorphism, uh, we can customize it for any customer or customize our application based on the
What steps would you take to diagnose and fix a service experience and convenient failures in Kubernetes. Um, I haven't worked that much with the clouds, but the very first thing that is coming into my mind is you can just monitor the logs, and, uh, we can monitor the usage, CPU usage, or RAM usage for a given port. Um, if it is an intermediate failure, then then mostly it can, Uh, it might be because of, uh, sudden peaks, um, or maybe a d t o s attack. So if it is a DDoS attack, then we can can stop those requests based on the IP address. But but is specific to Kubernetes. I'm not sure. But mostly, I will just check the logs, and I will monitor, uh, the usage. And based on the time, uh, try to diagnose and fix
Here's a new piece of which is use which is using so Chris, can you identify what principle is being used and explain any issues with I I don't, uh, I don't remember the exact number. It's maybe let's go something, uh, or or dependency inversion here. Basically, we have an interface, and that interface is uh, being implemented by various shapes like circle and rectangle. However, when from the core, like, the draw shape method that is present in the chef factory. When we call shape to Chrome. Uh, it seems like, uh, we don't know, uh, which instance RV which instance of, uh, shape are we calling? It can be either circle or it can be either rectangle. But as far as this code goes, I think we don't know. If we have created an instance of Chef Victory, and if we are passing a specific shape, either rectangle or circle, then that would not cause any problem. Uh, but, yeah, as far as I can see, this seems to be, I think the program might fail at the run time by saying that shape did not fall. What to fix this issue, maybe we can just, uh, rather than keeping the draw method empty in the interface. Uh, we can just give the default. Uh, we can return just printer default value, something like no shape was called or no shape found or something like that.
This Java code segment which uses thread, there seems to be an issue. Can you identify it? K. Let's see. Public study word. Name. Name. Customer name. Enter to work. Retract. Hope you put it wrong. Clark plus plus. K. And that's star and To give a test, this thread, there seems to be an issue. I'm not sure 100%, but it's it's just like, We are trying to update the count variable inside a lambda function. Maybe an email. It maybe it is not allowed. So either we can either we might have to define the count variable as atomic integer or something like that. Yeah. I'm not sure.
Continuous integration pipeline you would set up for Java application. Jenkins maybe or, uh, CACD. I I don't remember the name. Circle CA maybe. I'm not sure what discovery contribution, CI pipeline, you would set up for Java application. Yeah. If I'm not sure whether here we are talking about the tool or something like this, but, yeah, if we are talking about tools and there is some circles here, I think, inside view. Um, or we can I'm not sure whether we can use is there anything available on GitHub. But, yeah, we can give GitHub as well if it is if there is something
Start to see this. You might have to be from 1 cloud provider to one of the without service encryption. Yeah. Yeah. Again, here, um, we can take our use of, interface or maybe polymorphism. And we can even we start supporting 1 vendor or one cloud provider. We can pass it via we can use, uh, an interface. And, Once we have implemented once we have implemented it, we can just, uh, switch to another cloud provider. So this is a migrate and API from 1 cloud provider to yeah. I guess, uh, we can use that. Try to maybe polymorphism or interface will be easier to implement, and it will help us to
To ensure consistency of data in distributed databases when handling cross region Maybe we can use we can lock the table when updating the data This okay. We want to keep the data consistent with distributed data. One easiest way that I can think of is do the atomic, uh, update. Just do the atomic update, update. If there are different different databases for each of the region, then just Update update to update the data to all the databases. K.
How would you incorporate machine learning models for child is Microsoft architecture? Uh, I don't have any experience with the machine learning. Uh, so, yeah, I will skip the question.