I am a front-end developer with three years of experience. I specialize in React, Angular, JavaScript, and TypeScript, with additional expertise in backend development using Express and Node.js. I have experience with both SQL and NoSQL databases, and have worked with AWS and GCP for cloud technologies. I have also integrated Firebase, utilizing Firestore and remote config. My strong proficiency in JavaScript and TypeScript, combined with a solid understanding of both frontend and backend technologies, defines my comprehensive skill set.
Senior Software Engineer | Frontend
SomneticsFrontend Engineer
Hudson DataAssociate Software Engineer
Accenture
TypeScript

React

Angular

Javascript
.png)
Firebase



Apple

Sanity

Git

Github

Sanity

Bitbucket
So myself, Ramaganth, and I'm currently holding, you know, 3 years of experience right now. And in this 3 years of experience, I have, uh, work in the front end world. So in front end technologies, I have worked with React, Angular, JavaScript, and TypeScript as their programming language. Apart from that, I have also worked for the back end with Express and Node. Js for making APIs and creating back end services. They have experience in the databases, uh, which is 1 of them, uh, like, uh, NoSQL database and 1 is NoSQL. So I have experience with 2 databases right now. And, uh, for the cloud cloud technologies, uh, in 1 of the company, I have worked with AWS. And currently, I'm working with GCP, which is code platform. I have also integrated and used Firebase as well for, uh, in my project for, uh, storing the requirement required things in the project, uh, in the Firebase remote config and which is placed in the front end of Firestore. So this is, uh, like, these are the technologies I am, uh, I have worked with and have good experience there. For the programming languages, I have, like, uh, worked with the 2 programming languages. 1 is JavaScript, and 1 is TypeScript. TypeScript, I have worked with an Angular and JavaScript. I have worked with React. So this is all my overall experience and technologies I have worked with. Thank you.
How do you integrate third party like this with React and Redux while ensuring maintain. So as I have, uh, I have told I have, uh, got with the fire Firebase as well. So, uh, uh, actually, I have integrated third party API, like, Google, Google, and Apple are using Firebase itself. So for integrating that, you need to create a Firebase account, and, uh, after that, you will get your whole credential in a file. You need to copy that file and paste into your React project. After that, you press, uh, the requirement required things from your, like, uh, API's key and, uh, secret token as well. So you fetch it. You, uh, like, write a function in your React component where you want to use authentication. Basically, I have, uh, mainly used Firebase as for the authentication purposes. So I'm explaining that only. So for that, you need to create, uh, create a component where you actually want to, uh, show, uh, uh, the user that our application gets signed in by, uh, Google, Facebook, and Twitter or Apple authentication. So you provide a button there. So you provide a button which says log in with Google, log in with Facebook, log in with, uh, any other social media application. So, uh, for that, uh, what you need to do, you create a function, you create the fire Firebase Firebase, uh, credentials. After that, you write a function, and you just, uh, call your, uh, Firebase authentication, uh, in your component. After that, when you, uh, successfully write that function, you can directly call it, uh, call it from your browser. So, actually, Firebase actually take care of everything. So this is the 1 way by, uh, by which you can, uh, you can, uh, integrate a third party library. And, uh, like, there are multiple libraries, like, uh, in CSS library that I have worked with, like, Tailwind, uh, Tailwind CSS, whatever UI. So what you need to do for that is you directly, uh, directly just try to empty npm install and, uh, library, and then you can directly install it and use it in and use in your component. For the like, uh, how you integrate third party libraries with React. So the thing is, uh, it is, uh, generally depend on the requirement. Uh, for the, uh, like, state management, I have not seen any, uh, third party libraries, but I have worked with, uh, Chakra UI. So that is, uh, a third party library library which I have used. So for that, uh, in the, uh, in the Redux, you generally maintain your state. So in the state management, you directly pass your state into your action and reducer. After that, you modify your requirement into the reducer. After that, you directly fetch the state from the store and wherever you want to restore it and whatever you want to use in your app, and you can directly use it. So like that, uh, you can you can use library libraries without, uh, without, uh, uh, without having, uh, without, uh, like, seeing taking care. Like, it's a very huge library, and we might, uh, might get like, the our app, like, much heavy loaders. So, uh, we do not need to worry that since NPM, uh, libraries are all over very lightweight. So we don't need to worry. And by this, you can directly and simply you can integrate your third party liquidity in your React and your Redux.
How do you ensure that user interface remain consistent across different parts of React application? Okay. So the thing is first thing, uh, it's like, uh, you know, when you write your React components, so you it's a general general practice that React favors reusable reosability. So you write first of all, you write reusability component, uh, doing, uh, for the u reusability purposes. So if, uh, any other component want that particular, uh, component which have you, um, already built, so you can directly, uh, import that particular, uh, thing into your current component. So it you can use that. And React actually, uh, gave you a very good, like, it's in a file structure. So you can maintain, uh, your all component into into the folder structure format. And the thing is we, uh, generally make, uh, we generally make, uh, our component, uh, like, flexible into all the browsers, uh, which is, uh, like, it can be it can be used into the, uh, mobile version also, and it can be used in the browsers, tablets. So we generally see that whether our, uh, whether our application is responsive or not. So for the, uh, responsiveness, you can add multiple media queries. But the thing is adding media queries and creating all the CSS so big so that, uh, if you write code into JavaScript so the thing is you might, uh, get locked into the 1 page where your CSS file get larger than your JavaScript. So, uh, this needs to be handled and, uh, for when you use any third party libraries. So you you can, uh, you can take her or you can take her from their docs that how this thing actually working. We can do a risk well, research in that. After that, you directly use it and the third party label and, like, they did it's build such like it's built such like that. Uh, you generally, uh, do not need to very much take care the responsiveness. Generally, these libraries actually help you to make a responsive components or a responsive website. So you can use that, but if you straight away writing your code using a HTML CSS and JavaScript, uh, so you need to take care, uh, the responsiveness and write your own media queries. So media queries is the 1 of the, uh, like, best thing to use. But, uh, as I have mentioned, you also need to they, uh, write the media queries with the precautions. Apart from that, you can use third party libraries to make your component, uh, responsive. And website also websites make a responsible very well. So responsiveness is the 1 of the thing by which you can ensure that your React application can be run into your in several platforms, like mobiles, tablets, and web browsers. So in, uh, inspector video window, you have option of where you can test your application that, uh, this particular thing is breaking and you need to row. Right? Your course is that it can be fit in that also. So this is the way.
How do you implement error boundaries in React and can provide a use case where Redux might interact with those? Okay. So what's the cost, uh, for, uh, for error boundaries? Uh, what are you for error boundaries, we first of all, let me tell you why we use error boundaries. So error boundaries help you to give you a fallback UI so that if anything get, uh, like, anything get get wrong in your application, so your application do not get break in that in the browser. So you will, uh, throw a fallback UI there. So for, uh, that error, you can write your functions as that you, uh, throw, uh, like, write in the try catch block. So whatever the things you you want to, uh, like, display when everything get put, you can write it in the try block. And if anything get wrong, you can direct it, uh, write in your cache block and catch your errors. Apart from that, you can also use throw new error in your React. So whenever, uh, any error came across into your component, so you can write through errors. So in that error, you mentioned what is the error there. So, uh, and, uh, in that, you also you also generally, uh, pass the fallback UI there. So by this, you can maintain a, uh, error boundary and throw a, uh, like, good fallback so that your user do not get stuck or do not get something, uh, like that in this new website. It's not very good and, uh, this this is a very crashing website. So, uh, you can use around this as like that in your application. And apart from that, in the Redux, when you, uh, when you use any asynchronous call in your, uh, Redux, so you will see a error there, like, the error recorded to the asynchronous task and you into your user. So, uh, generally, console give you an error and also give it a system that you need to use a middleware, which is. Generally, you can see the error. For that, you can uh, use apply middleware and call. And, uh, in the, uh, as I have mentioned, thank also. So you, uh, in the tank, whatever you write your code in the reducer and any, uh, any error, uh, if you face to in that also, you can use strike as block. So in the try, uh, try whatever, uh, response you want to get into the asynchronous task. So you will, uh, get a response into into the try block. And in the catch block, you can, uh, catch your errors. So by this, you can easily, uh, like, see your errors, uh, gave user a callback UI so that your application do not get break at that time. And, like, the user cannot see, uh, like, uh, variable errors, which we do not want to show to user that this website is not up to the mark. So, uh, we generally take care about this. By this, also, you can, uh, maintain the error, uh, errors in your React applications.
How do you prevent unnecessary re renders in React Relapse application when the state structure is deep invested? Okay. For, uh, there are multiple ways to achieve, uh, this thing. But, uh, the first thing you can do is, like, uh, and, uh, prevent default so that every time when your function get hit, so your, uh, browser do not refresh your page. So you can use prevent default in that. For that, you need to catch an event there. So, uh, after catching that event, you just try to event document a call. And it's a function, so you define that function. So, yeah, it's a very basic things to to stop rerendering. Apart from that, uh, from the memoization purposes, you can, uh, use, like, use manual use, uh, callback. Uh, so that if, uh, if any, like, any task get performed and if that state needs to be updated. So after updating the state, your, uh, component do not get refreshed. So it directly directly use your, uh, like, uh, cached value or last process value and directly update your state. So this is the way you can do it. Apart from that, you can also achieve this using useEffect. But, uh, the main thing is, like, how well you have written your code so that you're using fact to actually, uh, maintain this unnecessary rate under. For that for that, uh, if you want to ensure that, uh, your application do not get, uh, refresh again and again. So you write a function. You write a function where you want to modify your user, update your user, and you pass, uh, you pass that function into your useEffect. But passing that function into the useEffect, so you should pass a state in your dependency as of that if and even look at uh, if that particular state got changed, then only your particular component gets reranded again. So this needs to be taken care if you do not pass any, uh, if you do not pass any dependencies. So you might, uh, get locked into, uh, infinite rerendering of so that, you know, by this, you will see your your application gateway, you know, rerender again and again, and you want to stop it. So you need to do a hard refresh. Confluence your part with the socket key for that. So you need to take care of that. And, uh, the like, whatever method you can directly use it to, uh, prevent your rerun with your React applications.
To optimize perform more data, actually, at Redux when fetching large volume data from the rest of the case. So the thing is you can, uh, in the previous question, which I already mentioned. So if you perform, uh, you fetch data from the library, uh, from the API where, uh, you think that, uh, data is is coming and you need to, uh, like, cross the data. For that, uh, caching is the 1 of the most efficient manner, uh, method by which you can, uh, ensure that whatever the whatever the data I have got so that not be fuzzed again and again, uh, by the API. So once you file the data, you cache your data. Uh, all the data you cached. And when once you cache that data so you can directly use that return to the cache memory. But, uh, like, for, uh, using this, you can write a function and pass your whole, uh, whole function into the use, uh, use callback where you where you are fetching your, uh, API, uh, API data. So if large amount of data has come, so you fetch the data data into the function and, uh, you store, actually, the data into the function and you pass that function into your useCallback or useNum. So your useCallback is now actually, uh, behind the scene, it, uh, working with the caching itself. So if you're, uh, if you write your function, uh, into your used callback, so you your function get all function get cached out. So, uh, the caching is already taken care of there. So, uh, this is the 1 of the matter where you can, you can think or you can achieve achieve, uh, like, you do not do not need to take care that if data is coming. So our server get loaded and our application also takes, uh, like, most time to to, uh, reload in in your in the browser. So, uh, you can, uh, use use callback. Apart from that, you can use use also. So in the use, you have, uh, option, uh, option to write your function inside your use, and so use to take care of your last values so that you use that previous process value and then apply your condition and, uh, by however you want to process it, you can process. So, uh, they like, these are the 3 method which I have known so far. 1 is, uh, JavaScript caching, and second is your callback, and third is your. So, generally, we try to use this to, uh, like, to deal with, you know, like, live not a matter of, uh, our data which is coming from the state, please.
There is a bug that didn't the component, uh, functioning correctly and and explain how to fix this. Okay. Function timer. Use the const. Interval ID is supposed to a certain interval. Accept. Return player into the way. Okay? Alright. So first and first, uh, that we have to return, sir. So what happened is, you know, we need to remove that last return. And, uh, also, uh, the previous return, which is, uh, handling clear interval. So in this, you actually want to achieve a last cycle method, which is unmounting after 100 a 100 millisecond. So you need to, uh, you need to, uh, take the return, uh, take that return clear intervals in outside your side, sir, tunnel. And, uh, after that, in the clear interval, you can pass your, uh, interval ID there. So by this, you can, uh, ensure that once user, uh, like, you search from 1 component to another, your previous component, which is this 1, get unmounted. Here, I can see that this is the, like, uh, bug eyes. I can see. Actually, this is 1 of the error also here in the last line, like, a written sample. So you need to delete that as well and make that return to your interval outside your setup. So this is the thing which I prefer to fix this 1.
And redux connected React components method, identify and explain the mistake when trying to dispatch a action plot data store, how it should be corrected. Alright. Import connect from React and to update user. Okay? Class user profile, extended a component update user profile. This dispatch. Use that profile. So, actually, the the thing is it's a class based component. I have not worked with class based component, but, uh, let me tell you what is the issue here and how we can fix it. First of all, uh, when you define, uh, action like this, okay, First of all, you need to delete it, um, delete this render. Uh, this is the 1 issue which I have seen in this, uh, particular, uh, snippet. So you can delete directly render to the last just before the last time so that, uh, you should not see an error there. Apart from that, uh, I think everything is good. Yeah. Everything is. Yeah. Let me ask again. I didn't find any instrument. So what the thing is, you need to delete that render and Okay. You need to return that update user into your, uh, return statement in the render. Okay. Uh, so, uh, you need to, uh, like, write update, uh, write update to user in the return. And in the update user, you need pass update user profile so that your, uh, so that your action, uh, get uh, dispatched. So this is the thing we need to handle. Apart from that, this is correct.
1 phase with an application that needs to scale. How will you refactor the Redux architecture? Okay. The thing is, uh, Redux, uh, build our Redux having an architecture like it can just store and action on the data. So what happened is, uh, if your, uh, your application is large enough, uh, so that you need, uh, reduction, uh, like, statement engine thing into your, uh, application. So Redux is 1 of the thing. So what happened is that in action, you write your, uh, all the actions, like, all the operations which you want to perform into your component or into your application. So you write and, uh, in the user, uh, you write your logics. Like, after hitting this particular action, what is what will the logic is there to what will be the logic so that of that particular action, actually. So, uh, you need to, uh, see, uh, you need to write your logic into into the right user part. And if, uh, if any asynchronous operation also needs to perform, it should use ARM everywhere. So either or you can use that any any of them. So after that, when you are creating multiple, you you need to, uh, wrap all the reducing to the 1 1 reducer, which is combined reducer. So, uh, that actually you can, uh, import that combined reducer into the React reducer. By that, uh, whenever you want to use your user into your particular component, so you can directly directly write, uh, like, combine the the dot, uh, that should be particular with the surname. So, uh, this is, uh, the thing which I ensure first, uh, to if I'm building a vertical application. So this needs to be taken care. And, yeah, uh, doesn't, uh, like, think whatever I have explained, this is the thing by which you can can scale your application to, uh, any, uh, like, to the any level. If you are building a very big application, we can uh, take care of that thing, and, uh, you are good to go. No worries, bro. No worries.
How do you address cross browser compatibility issue when developing a React application? Okay. Uh, 1st and the most important thing that when you whenever, uh, you fetch an API so that, uh, your your application your back end applications would have course policies. Uh, if you are fetching any API, so that API particular is in particular support course. Cross origin resource learning. For that, you can, uh, tell your developer that, uh, you can, uh, write to if if if you are, uh, building an application, which is uh, which you want to test in the into the local and, uh, back end also not hosted in the, uh, very, like, uh, in the cloud. So, uh, you can what happened? You can say to your back end developer that, uh, you define a particular, like, uh, a port number there. And, uh, you you fast start particular API and then you can use that particular API into your React application. So by that, uh, you generally do not get, of course, a return, uh, that say that it's particular, uh, API. You you will now see the course around into your console. So that's the worst thing. Apart from that, uh, you generally, uh, this actually, uh, this is the, uh, I think this is the DevOps question, uh, mainly. I'm thinking where, uh, if my React application is actually working in all the, uh, all type of browsers like, uh, Google Firefox, Opera Mini, or Safari. So, uh, for that, uh, you you write to you need to write, uh, like, code in the Docker images, uh, so that, uh, once you are deploying your application. So in your, uh, Docker, see that whether particular particular application is compatible in all types of, uh, environment or not. So this is the thing you can check into the into your system using, uh, DevOps understanding. And I do not have very much experience in creating CICD pipelines, creating Docker images, and deployment. So this is all, like, my best best guess for this particular question.
Can I explain the concept of virtual DOM in React and how it's contribute to the application? Okay. So, uh, first of all, let me, uh, just prefigure what what is the real DOM and what is the virtual DOM. So real DOM actually, uh, DOM tree where your component is structured into the tree like, uh, tree like manner. So, uh, so that, uh, your, uh, components are in components are, uh, built in the form of notes into your DOM tree. So anything that change your whole, uh, DOM tree get refreshed. Uh, so rerender, actually, not refreshed. So your whole DOM tree get, uh, rerender again and then rerender. Since React is working on virtual DOM, So virtual DOM, uh, the concept of virtual DOM is, uh, like, uh, virtual DOM actually are replica of area DOM and actually handles, uh, the best case, uh, like, whatever the if our application server component. And in that server component if 1 component having anything updated. So that particular, uh, thing get updated and enter into your dump tree, not the whole dump dump tree get rerender. So, uh, this is, like, this, uh, this facility is actually, uh, given by React React application. So due to this, your, uh, rerendering cost is very minimal, and you your application is also robust and fast, uh, having virtual DOM. And virtual DOM actually also, uh, take is that, uh, whatever the things have been changed. And, uh, if, uh, like, like, whatever the things have been changed into your component or into the server components. So what your, uh, doc sees in your applications. I see, uh, saying in your DOM tree that what particular things actually get changed and, uh, like, this only things need to be rerun on the whole application. So, uh, this this thing actually, uh, very fast thing in React, which I can see, uh, which I can see. Like and if you, uh, say, like, uh, give you a virtual long concept. So, uh, your bundle size, when you run your build command, you know, for building your application for the deployment. So, uh, by this, uh, your application, uh, bundle do not get bundle size is not very big. So, uh, like, once once you compare your bundle size with any other application, like Angular, so you see the size difference directly that your reaction size is very less. So this is the thing, uh, like, virtual DOM help you to, uh, make your application robust and fast rather than, uh, fast to 10 other applications. Yeah. This is, like, the best explanation I can get.