Created
October 27, 2025 17:43
-
-
Save kellatirupathi/a4b5e97adcbdfcd0550fb99e7f0b7a7c to your computer and use it in GitHub Desktop.
Transcript for transcript_Wendor_1J5HCWyB7RymycmOO_wGqbO8Ze1owoTCd.txt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [00:00:00] I'm going to go ahead and do that. | |
| [00:01:11] Hi, Ashu. | |
| [00:01:15] Hi, Kirsten. How are you? | |
| [00:01:17] I'm good. How are you? | |
| [00:01:18] I'm good as well. | |
| [00:01:20] Okay, okay. Sure. No worries. | |
| [00:01:51] Am I on the phone? | |
| [00:01:54] Yes, you are on the phone. | |
| [00:01:56] Have you joined the student? | |
| [00:01:58] No, not yet actually. | |
| [00:02:00] We have Arun here, he is our ASC. | |
| [00:02:03] He will take Associate Software Engineer. | |
| [00:02:06] If you have any feedback, he will be the one who will be on the phone. | |
| [00:02:10] Okay, cool. | |
| [00:02:12] Also, I'm just sharing a sheet with you, same like the question that we had. | |
| [00:02:16] This is the same sheet. | |
| [00:02:18] So once the interview is done, we just need like a feedback from your end. | |
| [00:02:22] Also, this includes like a training map towards what all the trainings that the student went. | |
| [00:02:28] Okay, cool. | |
| [00:02:30] Yeah, okay. | |
| [00:02:30] If everything's all right, we can ask Avinash to join in. | |
| [00:02:33] Yeah, sure. | |
| [00:02:34] Okay, great. | |
| [00:02:46] Arun, can you please ask Kavinas to join? | |
| [00:03:01] Hi, sir. | |
| [00:03:05] Hi, Avinash. I hope you're doing well. | |
| [00:03:08] Yes, sir. Thank you for asking. How are you? | |
| [00:03:11] I'm good as well, Avinash. | |
| [00:03:17] So, Avinash, first of all, I would like to congratulate you on this technical interview round with Vendor. | |
| [00:03:24] I hope you are very excited. | |
| [00:03:26] Yes, sir. | |
| [00:03:28] Okay, so before starting, Avinash, I would like to give you a brief introduction about the company. | |
| [00:03:35] I think I have given last time. | |
| [00:03:38] And then I will introduce you about the interview structure, what all I will be asking. | |
| [00:03:45] So feel comfortable. | |
| [00:03:46] If you have any question at any particular point of time, you can ask. | |
| [00:03:51] Okay. | |
| [00:03:52] Don't feel nervous. | |
| [00:03:53] Okay. | |
| [00:03:54] Okay. | |
| [00:03:54] Thanks. | |
| [00:03:55] So, Avinash, Vendor is basically a smart vending machine solution company. | |
| [00:04:00] We are one of the largest in India. | |
| [00:04:03] We also export our machines to Dubai, to Guatemala, to Ghana also. | |
| [00:04:10] And now we are also expanding in South East Asia and Indonesia. | |
| [00:04:15] in Malaysia also. So we are a MNC sort of, but it is still a startup, it is a seven year old startup. | |
| [00:04:23] And we mainly work in the area of IoT. So do you have an idea about IoT? | |
| [00:04:28] Like I haven't worked on it, but I just have an idea about IoT. | |
| [00:04:33] Okay, so basically we make vending machines and all the related tech regarding the vending machine, which includes the SaaS software for which we are particularly hiring right now and for which you will be interviewing with us. | |
| [00:04:50] So that is a little bit of brief about the company. | |
| [00:04:53] And now if I tell you more about the interview structure. | |
| [00:04:56] So basically, this whole interview will be structured into three parts. | |
| [00:05:02] So first of all, we will start with the question. | |
| [00:05:06] So. | |
| [00:05:08] I have a small task, you will share your screen. | |
| [00:05:11] It is not like you will not need to write any form, but I just want to know your engineering | |
| [00:05:17] mindset and your problems. | |
| [00:05:19] So I will be asking you one technical version. | |
| [00:05:23] So once one small implementation that you need to do in react only. | |
| [00:05:28] So nothing out of scope or anything just in react only. | |
| [00:05:31] And after that question, we will have a small in the next round, in the next portion, I will be asking you a few fundamental questions from month like only. | |
| [00:05:42] Okay. | |
| [00:05:43] And in the end, we will have a small product related discussion and a Q&A section. | |
| [00:05:50] Okay, fine. | |
| [00:05:51] So, Avinash, you can share your screen. | |
| [00:05:54] Yes. | |
| [00:05:55] Yes. | |
| [00:06:01] Yes. | |
| [00:06:02] Cool. | |
| [00:06:03] So, Avinash, one thing, open any code editor of your choice. | |
| [00:06:08] If you have VS Code, you can open VS Code. | |
| [00:06:10] Yeah, I'm just compatible with VS Code. | |
| [00:06:12] I just open it. | |
| [00:06:13] Cool. | |
| [00:06:14] I'll create new. | |
| [00:06:17] If it is possible for you, can you... | |
| [00:06:20] Check your internet once because your screen is a little blurry to me. | |
| [00:06:25] No, sir. I'm connected to good internet connection itself. | |
| [00:06:29] Okay. Let me then check my internet connection. | |
| [00:06:33] Maybe that is because I'm not able to see your screen clearly. | |
| [00:06:37] Just give me a second. | |
| [00:06:40] My internet speed is also good. | |
| [00:06:44] Please stop sharing your screen once and then reshare it. | |
| [00:06:47] I think something is wrong. | |
| [00:06:49] Just a second. | |
| [00:06:50] Okay. | |
| [00:06:55] right now yeah it is visible although a little blurry but it is visible | |
| [00:07:01] okay instead of a plain fresh canvas open any any project of your choice anything you have | |
| [00:07:12] anything | |
| [00:07:14] Okay. | |
| [00:07:16] Even your vendor or anything else you like. | |
| [00:07:20] Anything. | |
| [00:07:22] I have like this recent. | |
| [00:07:25] Cool, cool, cool. | |
| [00:07:27] Okay, you can close the code files and create a .txt file in the bottom. | |
| [00:07:35] Just create a .txt file. | |
| [00:07:40] Yeah. | |
| [00:07:42] So. | |
| [00:07:45] Am I audible, Avinash? | |
| [00:07:46] Yeah, yes, sir. | |
| [00:07:49] Because your screen is... | |
| [00:07:51] No worries. | |
| [00:07:53] So, Avinash, | |
| [00:07:55] open the sidebar of the | |
| [00:07:57] VS Code. | |
| [00:08:00] Okay, so what we need to do is we basically sidebar implement. | |
| [00:08:07] So we need to implement this sidebar in real. | |
| [00:08:10] Okay, so the sidebar. | |
| [00:08:14] I'm exactly code implement. | |
| [00:08:15] So we are not looking at the exact code implementation of the sidebar because that would be very lengthy. | |
| [00:08:20] What I need to know is the approach for implementing the sidebar. | |
| [00:08:24] So start writing. | |
| [00:08:27] So let's say we have an SRC folder. | |
| [00:08:29] Okay. | |
| [00:08:31] So let's say we are, | |
| [00:08:33] we will type in the .txt file. | |
| [00:08:35] So let's say, | |
| [00:08:37] yeah. | |
| [00:08:39] Let's say we are to, | |
| [00:08:42] First, write down the question which I'm sharing with you. | |
| [00:08:45] Okay. | |
| [00:08:47] Okay. | |
| [00:08:47] So let's say we have an SRC folder. | |
| [00:08:53] Okay, you can just like, you don't need to write the entire statement. | |
| [00:08:58] Basically, just write the folder structure which I'm sharing. | |
| [00:09:01] So, let's say we have an SRC folder. | |
| [00:09:04] So, write SRC slash. | |
| [00:09:06] Yes. | |
| [00:09:10] SRC. | |
| [00:09:14] Type SRC. | |
| [00:09:16] Slash. | |
| [00:09:17] Yes. | |
| [00:09:18] Now, below this hierarchy, we have two, three folders. | |
| [00:09:23] We have one folder called assets. | |
| [00:09:28] Yes, sir. | |
| [00:09:29] Now, inside this assets folder, we have three folders. | |
| [00:09:33] One is images, one is, let's say, CSS, one is, let's say, icons, or let's say, forms. | |
| [00:09:40] Okay. | |
| [00:09:41] Now, fonts, fonts, not fonts. | |
| [00:09:45] Fonts. | |
| [00:09:46] Fonts. | |
| [00:09:46] Fonts. | |
| [00:09:47] Fonts. | |
| [00:09:47] Okay. | |
| [00:09:48] In the fonts folder, we have three files. | |
| [00:09:55] Okay. | |
| [00:09:56] Any three fonts of your choice. | |
| [00:09:59] or any three fonts you like. | |
| [00:10:02] Any fonts. | |
| [00:10:04] Bonus space can be one. | |
| [00:10:06] Give them some extensions | |
| [00:10:08] because they are fonts. | |
| [00:10:11] I haven't forgot the extension. | |
| [00:10:14] I haven't remembered the extension. | |
| [00:10:16] That is fine. | |
| [00:10:17] Just give it .font extension or anything. | |
| [00:10:20] It does not matter. | |
| [00:10:22] Just to distinguish that they are files, not folders. | |
| [00:10:26] Okay, sir. | |
| [00:10:27] Fine, sir. | |
| [00:10:30] What? | |
| [00:10:31] What? | |
| [00:10:32] It's a... | |
| [00:10:39] Okay, now in the same hierarchy as the assets folder, we have one, let's say, main or a code folder on the same hierarchy as assets. | |
| [00:10:50] Yes, sir. | |
| [00:10:51] Yeah. | |
| [00:10:51] Or just main. | |
| [00:10:54] Let's say this main folder, I have, let's say, one subfolder called, let's say, JS. | |
| [00:11:00] Yes. | |
| [00:11:00] there is a js folder yes sir then there is a lib folder let's say sir | |
| [00:11:07] library okay and then uh let's say we have a couple of files here so maybe in library | |
| [00:11:14] no no inside me in the main folder we have two forms and two files let's say we have a | |
| [00:11:20] index.js file index.js | |
| [00:11:26] Index of TS. | |
| [00:11:27] Yeah, any files of your choice. | |
| [00:11:29] One more file you can add here. | |
| [00:11:35] Okay, now on the same hierarchy as the main folder. | |
| [00:11:43] Let's say we have an empty folder called | |
| [00:11:48] any empty folder, let's say code is an empty folder. | |
| [00:11:54] Yes. | |
| [00:11:55] On the same hierarchy as code, we have two files, | |
| [00:11:57] let's say package.json, package.json. | |
| [00:12:10] Yes, sir. | |
| [00:12:11] Okay. | |
| [00:12:12] So now the question is that we need to implement two tests. | |
| [00:12:17] So first of all, if you want this data to be represented by a React component, you will | |
| [00:12:22] need to store this data, right? | |
| [00:12:24] So we will need some sort of a data structure in which we can store this data, right? | |
| [00:12:29] some sort of a data structure in which we can store not just this one but any file structure related data | |
| [00:12:37] Okay, like we'll go with the objects, then we can store the path there and then route. | |
| [00:12:42] Yeah. | |
| [00:12:43] So any, any, any, any data structure in which we can store this similar file structure like data. | |
| [00:12:51] And this is just one example so that we can pass that as a code inside a React component, which will actually render the. | |
| [00:12:59] sidebar. So we need two things. First of all, we need a data structure in which we can store | |
| [00:13:06] this kind of data that will pass as a probe. Then we need a React component. For React | |
| [00:13:11] component, I just, I don't need the exact syntax of React. If you want, you can write. | |
| [00:13:16] Otherwise, you can just tell me the approach. Okay. Like this is how the... | |
| [00:13:20] Okay, sir. | |
| [00:13:21] I will actually go with the object or the array of objects. | |
| [00:13:30] Okay, first of all, take two, three minutes, five minutes and think about the problem. | |
| [00:13:37] Okay, you want me to create a sidebar with the prop data that we will be passing on? | |
| [00:13:45] Yeah, and we need to find a way, a data structure for storing that data. | |
| [00:13:50] Okay, sir. | |
| [00:13:51] We'll use array of objects there, sir. | |
| [00:13:53] We'll be having the name and then we'll be having the like is selected or something. | |
| [00:14:00] to like show that like highlighting things and then we can just have a index for better like | |
| [00:14:09] handling the data so like we will pass that prop into the like whatever the component that we are | |
| [00:14:17] looking for as a sidebar we will write some styles in the like division and then we'll use map | |
| [00:14:23] function to map over all the things that we have actually written since it is an array we can use | |
| [00:14:28] map so we'll be having we'll be iterating over the items that we have and like we'll use li and | |
| [00:14:35] we'll style | |
| [00:14:37] we can use like upper component or parent component will be you will and then the like | |
| [00:14:42] the map function inside will be having returning then li so inside li we'll be styling it uh you | |
| [00:14:49] know like looking good and then we can have the like class name based on the selected thing | |
| [00:14:57] If it is selected, then we can have a background of black. | |
| [00:15:01] Okay. | |
| [00:15:02] And then also we can have an on click to change the state of maintaining the state of the | |
| [00:15:10] that sidebar. | |
| [00:15:11] Okay. | |
| [00:15:12] We can just maintain the like, we will just check whether this index is selected or not. | |
| [00:15:19] If that is selected, we'll just update the like state to that number. | |
| [00:15:24] If that index is what we have selected, we will have a background of black, otherwise we will be having the background of grey or white or whatever. | |
| [00:15:31] Before jumping to the implementation of the component, let's just first only think about the data structure in which we will be storing this data. | |
| [00:15:42] or any file such as data. | |
| [00:15:44] Let's just think about that data, | |
| [00:15:46] how can we store this kind of data | |
| [00:15:48] so that we can in future also, | |
| [00:15:51] we might even have to perform operations | |
| [00:15:55] like create a file, delete a file, | |
| [00:15:58] data file name, those sort of things. | |
| [00:16:00] features also in future we might also like to like have some sort of icons for files and for folders | |
| [00:16:06] so we need to implement a lot of functionality in the future also so before thinking about the | |
| [00:16:13] components implementation let's just first think about the | |
| [00:16:19] the implementation for the data structure. | |
| [00:16:24] I mean, like, like you are looking for like, what like, I mean, the data structure means. | |
| [00:16:32] So, for example, let's say you have something called patients, you have a database for patients. | |
| [00:16:37] So for storing a patient detail, you will need some sort of structure, right? | |
| [00:16:42] There is some sort of a structure. | |
| [00:16:43] So let's say we have this file structure tree. | |
| [00:16:46] That also need to be stored, right? | |
| [00:16:48] Yes, sir. | |
| [00:16:49] Let's say we are building an online ID. | |
| [00:16:52] I think you must have used like online vs code dot dev and something things like that or replicate. | |
| [00:16:58] Yes, sir. | |
| [00:16:59] So let's say we are developing an online ID. | |
| [00:17:01] So in that ID, you will be creating a lot of files. | |
| [00:17:03] Let's say you have this skill Nova. | |
| [00:17:06] edu tech platform project so you might be creating this project and saving it right so in that | |
| [00:17:12] project obviously you will be creating a lot of files and folders so those files and folders that | |
| [00:17:18] what sort of structure it is that need to be stored somewhere right in the database | |
| [00:17:23] we will need to store it somewhere that okay this type of data is there | |
| [00:17:29] then only we can display. | |
| [00:17:32] Okay, like you are telling what elements are there in the sidebar, | |
| [00:17:37] you want it to store it in a file or a database. | |
| [00:17:40] Yeah, we will need to have, we need to store it, right? | |
| [00:17:43] How else can you implement a sidebar? | |
| [00:17:46] If you have any other implementation, please share. | |
| [00:17:48] Yeah, sir. Like if it is a static thing, then we don't need to like go for the database, right? | |
| [00:17:53] We can just directly write the code there. | |
| [00:17:57] We'll just like, let's say my like my sidebar needs to have like a home and then accounts and then profile and then payments. | |
| [00:18:10] Let's say then I don't need to like randomly need to. | |
| [00:18:14] I did not need to fetch any data from there. | |
| [00:18:17] like if I'm building a dashboard | |
| [00:18:20] then | |
| [00:18:21] I'm building a dashboard | |
| [00:18:23] quantity | |
| [00:18:27] Yeah, like if I'm like need to change the data, then I need to like fetch the data. | |
| [00:18:33] If it is a static kind of thing, we don't need any data structure is what I feel for the start, like for the sidebar. | |
| [00:18:39] Okay, so think about it once more. | |
| [00:18:42] Let's say you have a project, you have a normal disk skill in over tech project. | |
| [00:18:47] And when you're opening it. | |
| [00:18:52] Sir, your voice break. | |
| [00:18:56] Sorry, sorry, sorry. | |
| [00:18:57] So now let's say you have this project and you have stored it in GitHub. | |
| [00:19:02] Okay. | |
| [00:19:02] Now when you're opening it in GitHub, GitHub is rendering the folder structure. | |
| [00:19:09] I didn't get your question or like, let me just share my screen. | |
| [00:19:15] It's okay. | |
| [00:19:15] I can understand. | |
| [00:19:20] So is my screen visible? | |
| [00:19:23] Just a second, sir. | |
| [00:19:24] I'm just opening my, I mean, the data structure, like, | |
| [00:19:27] Like it all depends upon the data that we are representing on the screen, right? | |
| [00:19:32] That's what I'm talking about. | |
| [00:19:33] Yes, yes. | |
| [00:19:34] Okay, let's say, let's say I have this, this is a company's repository, and we have so | |
| [00:19:40] many folders and files. | |
| [00:19:42] So we have this dashboard. | |
| [00:19:44] So in that dashboard, as you can see, there are so many folders. | |
| [00:19:49] And GitHub is rendering this component, this particular component, as you can see, this particular thing. | |
| [00:19:55] Sir, your screen like you're not opening anything. | |
| [00:20:00] Okay. | |
| [00:20:01] Now it's... | |
| [00:20:03] Okay. | |
| [00:20:04] So, is it... | |
| [00:20:04] Now it's visible. | |
| [00:20:05] Now it's visible. | |
| [00:20:06] Just scroll it. | |
| [00:20:07] Yes. | |
| [00:20:07] Now it's okay. | |
| [00:20:09] Yeah. | |
| [00:20:09] So, let's say I am opening this vendor frontend dashboard frontend thing. | |
| [00:20:13] Okay. | |
| [00:20:14] So, I... | |
| [00:20:15] We have so many files and folders and GitHub... | |
| [00:20:17] Yes. | |
| [00:20:18] GitHub must have this component, right? | |
| [00:20:20] Yes. | |
| [00:20:21] Yeah, it needs to have which is rendering this data here and there must be some API that will be calling key. | |
| [00:20:30] Okay, what are the files and what are the folders? So it must be storing this data in some database, right? | |
| [00:20:36] Yes, sir. But you told me about the sidebar, right? Sidebar like. | |
| [00:20:40] is a kind of different thing from this okay cool cool cool it's okay so let's say i have this this | |
| [00:20:46] folder uh this repository and i open it in the github.dev thing so which is an online id okay | |
| [00:20:54] like you're talking about the uh like you're talking you want to build a folder kind of | |
| [00:20:59] folder management system | |
| [00:21:01] Yeah, so in let's I type this dot dev here and now it is opening in an online ID. | |
| [00:21:07] So as you can see, it is also rendered. | |
| [00:21:10] I understood. | |
| [00:21:11] No, I understood. | |
| [00:21:12] Sir, I understood. | |
| [00:21:13] I like I thought you want to build an like a sidebar, which which will have the static | |
| [00:21:18] components. | |
| [00:21:19] That's why I just mentioned the name link and then those things. | |
| [00:21:22] It's okay. So we need some sort of a sidebar. So this data must be coming from some API, right? | |
| [00:21:27] Yeah, understood, sir. Now let me just build the structure. | |
| [00:21:32] And this sidebar must have, like, may have these features like create a folder or some, like, create a file in future, right? | |
| [00:21:41] Yes, sir. I understood, sir. | |
| [00:21:42] So that is what we are trying to build. We are trying to implement a sidebar. | |
| [00:21:46] Okay, like I'll go with it. First, like, like for the implementation of the sidebar, like, I'll go, I'll go with the from the like data structure thing. | |
| [00:21:57] We'll be having like, what we'll be having is folder name is what you told. | |
| [00:22:02] Inside of it folder is an array actually inside of it. It will have a file names. | |
| [00:22:07] Okay, which is an object. | |
| [00:22:10] We can have a file name, which will have an extension. | |
| [00:22:14] Okay, which will have a like, if you want to have a like recent edited date, you can have that. | |
| [00:22:22] Okay. | |
| [00:22:23] And also like last edited kind of thing we can have. | |
| [00:22:28] So those things will be having inside the like first we'll be having the folder, then | |
| [00:22:32] we'll be having the file, then inside of the file we'll be having this data, this four | |
| [00:22:36] five like props that we can have. | |
| [00:22:39] Okay, let's go back to the TST file and let's create it. | |
| [00:22:44] Okay, so type the data structure. | |
| [00:22:49] Okay, so we'll be having a array for items like this is like a folder. | |
| [00:22:55] This is like a folder. | |
| [00:22:57] Let's say the folder name might be one inside of it will be having the files files like | |
| [00:23:02] let's say let's just go for it like. | |
| [00:23:05] So it will have like, let's say, name, name, which one have the like, let's say, Avinash, | |
| [00:23:17] just go for the extension. | |
| [00:23:19] Okay, just for scalability, I'm going with this, but we can write it in one line as well. | |
| [00:23:25] But as you're talking about the scalability thing, that's why I'm just going with this | |
| [00:23:29] last editor. | |
| [00:23:30] Like we can just update it with this is a date object. | |
| [00:23:40] And then we can have as many as we can like. | |
| [00:23:45] Okay, so like, we can just have like hierarchy will be same like copy and list put like, | |
| [00:23:52] just go on, go on, go on, like for one folder. | |
| [00:23:54] Let's say if we actually wants to create another folder, what we will do is we'll just push | |
| [00:24:00] like push one more. | |
| [00:24:02] Just like that. | |
| [00:24:04] What will happen if a folder is empty? | |
| [00:24:07] Let's say in the folder one also have two other nested folders inside it. | |
| [00:24:12] Folder one have two other nested folders. | |
| [00:24:15] Yes, and it might also have a file on the same hierarchy. | |
| [00:24:18] The structure we discussed above, let's try to write it down in this data structure, which you are saying. | |
| [00:24:24] Like in the extension, we can just have it like a folder. | |
| [00:24:27] Okay. | |
| [00:24:30] In the extension thing, if it is a folder, then it will have a property named like files. | |
| [00:24:37] Which will have a like first, it will be empty. | |
| [00:24:40] If you want to go for it, we can just have the files again. | |
| [00:24:43] Again, if it is a file, then the file will have again an extension. | |
| [00:24:48] If it is a folder, then we can have again like same. | |
| [00:24:52] Same thing will loop on. | |
| [00:24:54] This will work, right, sir? | |
| [00:24:55] Because the extension thing might be folder or like a text file or image file, whatever. | |
| [00:25:01] Like if it is a folder, we'll try to like have the files inside it. | |
| [00:25:06] If it is a text file, we neither like we need not to have the files. | |
| [00:25:12] We just have to have the files as empty because it is just one file. | |
| [00:25:15] Okay, try one thing, try to represent the above question data into this structure, which | |
| [00:25:24] we discussed right now. | |
| [00:25:25] The structure into like, like what do you want, like image or like what? | |
| [00:25:30] No, no, the question data, like the SRC assets and the data we discussed above, when I asked | |
| [00:25:36] you the question originally, try to fit this data into this data structure, which you told | |
| [00:25:41] me about, right? | |
| [00:25:42] Okay. | |
| [00:25:42] Like inside library, we can just have a like file name, like, let's just go for it. | |
| [00:25:49] Like just one name, like folder structure dot JS file. | |
| [00:25:54] Since it is in JavaScript, so we'll just have it. | |
| [00:25:56] We'll just copy this and we'll just put it and we'll just export it. | |
| [00:26:00] And then we can just. | |
| [00:26:02] I am just asking you that, okay, we have come up with a data structure, right? | |
| [00:26:07] This is a data structure we came up with. | |
| [00:26:09] I am asking you that how the above question data will be like stored in this. | |
| [00:26:15] Okay, this one, this one in our folder structure. | |
| [00:26:18] Okay, sir, I'll just show, okay, I'll just show it. | |
| [00:26:21] Yes. | |
| [00:26:21] Let me just, you're talking about this one to be in our folder. | |
| [00:26:24] Okay, sir. | |
| [00:26:25] First thing will be like, we'll be having the, like, this is a folder. | |
| [00:26:31] First thing is like SRC. | |
| [00:26:35] SRC. So inside of it, it will be having the name. It will be like, let me just, what is this? Let me just go for the different files. Let me just go for the object. First thing we'll have assets. | |
| [00:26:53] assets is again a type folder type will be folder it will have uh like again files files uh which | |
| [00:28:00] In the, let me, this is going to things. | |
| [00:28:06] Common. | |
| [00:28:14] Thank you. | |
| [00:28:20] Thank you. | |
| [00:28:26] just for the easy of understanding. | |
| [00:28:29] Then the images thing is a one thing. | |
| [00:28:32] And again, this is a second thing is icons. | |
| [00:28:37] And the third thing is, let me just go for the | |
| [00:28:43] fonts type this is a folder this is a folder since it is a folder it will have the like files | |
| [00:28:52] uh then we'll just have this way then uh it will again have the type since this type is a | |
| [00:28:59] uh like what i can say this type is a file | |
| [00:29:04] like you told me font so I'll just go with the font and then it doesn't need | |
| [00:29:10] to have again anything and then the same with this | |
| [00:29:14] I can is of type I am | |
| [00:29:24] I can where sir? | |
| [00:29:26] So I understand. | |
| [00:29:28] Okay, let's go for SVG. | |
| [00:29:30] No, no, the point is that this type is of the file or this type is of the folder. | |
| [00:29:42] The type is of the like icons is icons is like a folder. | |
| [00:29:48] Okay, I can see the folder, right, sir? | |
| [00:29:50] I think I can I can hold it can also have a HTML file. | |
| [00:29:54] There is no such rule that icons can't have a HTML file. | |
| [00:29:57] Can you store the like I'm sorry, like icons is a folder actually, because I can have icons can have many files, right? | |
| [00:30:05] I thought it is just a file. | |
| [00:30:07] So I forgot it. | |
| [00:30:08] Like icons can have many files inside of it. | |
| [00:30:12] Yes. | |
| [00:30:13] That's what like I just messed up with this. | |
| [00:30:16] So then the type will be folder. | |
| [00:30:18] Then inside the files, then we will have multiple files that we like how many we can go. | |
| [00:30:23] Again, the same thing just goes up with it. | |
| [00:30:27] This is how the folder structure again, the main thing will come under this SRC itself. | |
| [00:30:31] This is a one like first thing. | |
| [00:30:34] The second thing will be this one. | |
| [00:30:37] The main again, just like assets, we will be having our own like we'll be having the these files, JS library. | |
| [00:30:46] Just like that, we can just have we can just have multiple things. | |
| [00:30:51] These are four such that I recommend. | |
| [00:30:54] If you want, like, for the scalability and all of things, I'll recommend with this, sir. | |
| [00:30:59] Okay. | |
| [00:30:59] So now let's work. | |
| [00:31:00] We came up with a data structure. | |
| [00:31:03] Yes. | |
| [00:31:04] I think instead of this files and folders thing, we can go with something like parent and child. | |
| [00:31:10] Yeah, we can definitely go with that. But like, like folder sections can be like whatever, like, if you have a parent and share like last edited things and also like recently things we might not have it also last saved things. We might not got represent in the like, you know, data. | |
| [00:31:26] That is meta data. So let's say. | |
| [00:31:31] Let's say even meta metadata is also like a property which needs to be represented in our data structure. | |
| [00:31:38] That's what I'm saying. | |
| [00:31:39] Let's say we have a root component. | |
| [00:31:41] So we have a root thing. | |
| [00:31:43] Then we have parent. | |
| [00:31:45] Okay. | |
| [00:31:46] Parent have a name. | |
| [00:31:47] Yes, sir. | |
| [00:31:48] And that parent is of type file or folder. | |
| [00:31:51] Okay. | |
| [00:31:51] If it is a type folder, then it might have, it may have a property of child nodes. | |
| [00:32:00] Child nodes. | |
| [00:32:00] Child nodes. | |
| [00:32:01] Okay. | |
| [00:32:02] Child nodes. | |
| [00:32:03] Which means, like, just a second, sir. | |
| [00:32:06] Just one, my doubt. | |
| [00:32:07] Like, what if child node is also a folder? | |
| [00:32:11] Yeah, that is fine. Inside child nodes, we can have folders again. It is not a problem. | |
| [00:32:23] Then like simple things are like my doubt is like, like you told me, like, it's okay. | |
| [00:32:28] Like what you told is currently just my question is like, first thing is a parent. | |
| [00:32:32] Second thing is a child node at all. | |
| [00:32:34] Then like child node is comes under like only just take it as a category one. | |
| [00:32:39] This will become parent will become as a category one. | |
| [00:32:42] Child node will become as a category two. | |
| [00:32:44] Like what if the child node itself is a category comes under category one like a folder. | |
| [00:32:49] It can have multiple like files as well. | |
| [00:32:52] Right, sir. | |
| [00:32:53] Okay. | |
| [00:32:54] It can be a file. | |
| [00:32:55] Let's try to represent our current SRC thing into this child node structure. | |
| [00:33:01] Okay. | |
| [00:33:02] Okay. | |
| [00:33:02] Right. | |
| [00:33:02] Okay. | |
| [00:33:03] Okay. | |
| [00:33:04] So let's say in the starting, we have something called name. | |
| [00:33:13] Okay. | |
| [00:33:14] Name is a property. | |
| [00:33:15] Yes, sir. | |
| [00:33:16] Name, name, name. | |
| [00:33:18] Oh, I'm sorry. | |
| [00:33:19] Name. | |
| [00:33:20] Name is a property. | |
| [00:33:22] Yes, sir. | |
| [00:33:24] The name is SRC. | |
| [00:33:26] Okay. | |
| [00:33:27] Yes, sir. | |
| [00:33:28] What is the type of this thing? | |
| [00:33:30] It is a folder. | |
| [00:33:32] Like parent. | |
| [00:33:33] Parent of folder. | |
| [00:33:34] Like what? | |
| [00:33:34] Instead of storing the folder or file, we will only have these two types of files, right? | |
| [00:33:39] Either it is a file or it is a folder. | |
| [00:33:41] Then we can only store a flag, right? | |
| [00:33:43] Yes. | |
| [00:33:44] Like, how do you track the elements inside of that folder? | |
| [00:33:48] Like the name is SRC. | |
| [00:33:49] How do you track inside elements? | |
| [00:33:50] We will see that right. | |
| [00:33:52] Let's let's go with the flow. | |
| [00:33:54] So let's say inside this root object, we have name property, which is SRC, which can be | |
| [00:34:02] a string, I guess, SRC should be a string. | |
| [00:34:04] Okay, like I'm just going with the now we can have a flag is file or okay is file can be flagged. | |
| [00:34:15] Like type itself covers like, I don't think so. | |
| [00:34:20] We need a type thing. | |
| [00:34:22] Like, do you want to remove it? | |
| [00:34:23] Like is type. | |
| [00:34:25] So is fine. | |
| [00:34:27] Is fine. | |
| [00:34:29] So it is false. | |
| [00:34:32] Yes, I think Williams can leave without. | |
| [00:34:35] the single. | |
| [00:34:37] I understand. | |
| [00:34:38] Yeah. | |
| [00:34:39] Yeah. | |
| [00:34:40] Yes. | |
| [00:34:41] Now, this can have something called child notes, which is an array. | |
| [00:34:49] Yes, sir. | |
| [00:34:52] Which is an array? | |
| [00:34:53] Yes, sir. | |
| [00:34:54] Okay. | |
| [00:34:54] So let's first come up with two generic structures. | |
| [00:34:58] This is one structure. | |
| [00:35:00] Okay. | |
| [00:35:01] Instead of name SRC, just make it string and make it boolean. | |
| [00:35:05] So that we can make it just a string. | |
| [00:35:09] Like just add the type here, not the actual values. | |
| [00:35:12] Make it boolean. | |
| [00:35:13] Okay. | |
| [00:35:15] Make it boolean. I didn't understand. | |
| [00:35:17] Okay, so right now we were entering the data, right? | |
| [00:35:20] Before entering the data, let's just come up with some success. | |
| [00:35:23] Okay. | |
| [00:35:25] So make the name string. | |
| [00:35:28] Okay, you're telling me like just like how our interface kind of thing. | |
| [00:35:31] No, no. | |
| [00:35:32] In front of name, you have typed SRC, right? | |
| [00:35:36] You're just telling this. | |
| [00:35:39] No, no, no. | |
| [00:35:40] Okay. | |
| [00:35:43] We have typed name, name up front in the top side. | |
| [00:35:47] Just after the bracket, we have something called name. | |
| [00:35:50] Okay. | |
| [00:35:52] We have, no, not above this, above this. | |
| [00:35:55] Line number 27. | |
| [00:35:58] Yeah, name. | |
| [00:35:59] This is a string. | |
| [00:36:01] So instead of SRC, type it as a string. | |
| [00:36:03] Write down string. | |
| [00:36:04] Okay, just you're telling like, okay, sir, I understand. | |
| [00:36:08] Like we are first defining the data. | |
| [00:36:10] So we are just giving the type. | |
| [00:36:12] Yes, sir, I understand. | |
| [00:36:14] Okay. | |
| [00:36:14] String is a type. | |
| [00:36:15] Then this file is a boolean. | |
| [00:36:17] Okay, sir, boolean. | |
| [00:36:19] So make it a boolean also string. | |
| [00:36:22] Like I'll just go with a boolean. | |
| [00:36:23] Is this works for you sir? | |
| [00:36:24] Boolean. | |
| [00:36:25] Also string we don't need the literals because we are defining it. | |
| [00:36:30] Okay, like just for my convenience. | |
| [00:36:32] Yeah, so we can give this whole, we can call this whole object. | |
| [00:36:39] We can call this object, I would say, | |
| [00:36:44] You can call this object as folder. | |
| [00:36:48] We can call this. | |
| [00:36:49] Yeah, you are telling this is the folder. | |
| [00:36:51] This is the folder. | |
| [00:36:52] Right. | |
| [00:36:53] Similarly, this will work for any folder. | |
| [00:36:58] Okay, it will definitely work. | |
| [00:37:00] Yes. | |
| [00:37:00] Now, just below it. | |
| [00:37:04] Yes, sir. | |
| [00:37:05] Just below it. | |
| [00:37:07] Copy the same structure. | |
| [00:37:09] Copy the same structure. | |
| [00:37:12] You want me to just like paste it? | |
| [00:37:16] Let's copy the same structure. | |
| [00:37:18] Yes. | |
| [00:37:19] Okay, sir. | |
| [00:37:21] And now every file also have a string name. | |
| [00:37:24] Okay. | |
| [00:37:24] Every file has a name. | |
| [00:37:26] This file is also a bull. | |
| [00:37:27] It will not have a child node. | |
| [00:37:29] This is what you're telling, right? | |
| [00:37:30] It will not have a child node. | |
| [00:37:31] Now, each of these, now both of these can have a property called metadata. | |
| [00:37:35] Okay. | |
| [00:37:36] Yeah, it can have metadata. | |
| [00:37:39] In the metadata property, we can store, it can be an object, metadata can be an object. | |
| [00:37:44] In this metadata object, I think we can store any number of properties. | |
| [00:37:47] Yeah, we can store any number of properties. | |
| [00:37:49] Like extension, we can store the icon, we can store... | |
| [00:37:53] Like, again, for my approach and your approach, there is no difference. | |
| [00:37:57] The name is just different if you observe it. | |
| [00:37:59] Like you are telling, like, here you actually mentioned... | |
| [00:38:02] I never said your approach is wrong. I'm just saying let's make first make the clear data | |
| [00:38:08] structures and then let's understand let's let's try to store the data in these data structures. | |
| [00:38:14] Okay, understood. Then then let's do the react implementation. Okay. | |
| [00:38:19] So when we are in an interview, we try to walk through the problems together. | |
| [00:38:23] Okay, fine. | |
| [00:38:25] So, so yes, in the child node also object can, a folder can also have metadata, right? | |
| [00:38:35] Yeah, it can have metadata. | |
| [00:38:37] What is the size of the folder? | |
| [00:38:39] Yeah, it can have metadata, which is OBJ. | |
| [00:38:43] Now, using these two objects which we have created, I think we can represent any folder. | |
| [00:38:51] Yeah, we can represent. | |
| [00:38:53] Because every time there is a folder, either it is empty or if it is not empty, it will | |
| [00:38:59] have another folder or it will have files. | |
| [00:39:02] If you have a child node, it will not have children. | |
| [00:39:06] Yes. | |
| [00:39:07] Now, let's by using these two data such as this book data such as let's try to represent | |
| [00:39:13] the above question data and then let's do the react implementation. | |
| [00:39:21] You want me to write the like using this data structure? | |
| [00:42:00] Thank you. | |
| [00:42:01] Thank you. | |
| [00:42:02] Thank you. | |
| [00:42:03] Thank you. | |
| [00:42:04] Thank you. | |
| [00:42:05] Thank you. | |
| [00:42:06] Thank you. | |
| [00:42:07] Thank you. | |
| [00:42:08] Thank you. | |
| [00:42:09] Thank you. | |
| [00:42:10] Thank you. | |
| [00:42:11] Thank you. | |
| [00:42:12] Thank you. | |
| [00:42:13] Thank you. | |
| [00:42:14] Thank you. | |
| [00:42:15] Thank you. | |
| [00:42:16] Thank you. | |
| [00:42:17] Thank you. | |
| [00:42:18] Thank you. | |
| [00:42:19] Thank you. | |
| [00:42:20] Thank you. | |
| [00:42:21] Thank you. | |
| [00:42:22] Thank you. | |
| [00:42:23] Thank you. | |
| [00:42:24] Thank you. | |
| [00:42:25] Thank you. | |
| [00:42:26] Thank you. | |
| [00:42:27] Thank you. | |
| [00:42:28] Thank you. | |
| [00:42:29] Thank you. | |
| [00:42:30] Thank you. | |
| [00:42:31] Thank you. | |
| [00:42:32] Thank you. | |
| [00:42:33] Thank you. | |
| [00:42:34] Thank you. | |
| [00:42:35] Thank you. | |
| [00:42:36] Thank you. | |
| [00:42:37] Thank you. | |
| [00:42:38] Thank you. | |
| [00:42:39] Thank you. | |
| [00:42:40] Thank you. | |
| [00:42:41] Thank you. | |
| [00:42:42] Thank you. | |
| [00:42:43] Thank you. | |
| [00:42:44] Thank you. | |
| [00:42:45] Thank you. | |
| [00:42:46] Thank you. | |
| [00:42:47] Thank you. | |
| [00:42:48] Thank you. | |
| [00:42:49] Thank you. | |
| [00:42:50] Thank you. | |
| [00:42:51] Thank you. | |
| [00:42:52] Thank you. | |
| [00:42:53] Thank you. | |
| [00:42:54] Thank you. | |
| [00:42:55] Thank you. | |
| [00:42:56] Thank you. | |
| [00:42:57] Thank you. | |
| [00:42:58] Thank you. | |
| [00:42:59] Thank you. | |
| [00:43:00] Thank you. | |
| [00:43:01] Thank you. | |
| [00:43:02] Thank you. | |
| [00:43:03] Thank you. | |
| [00:43:04] Thank you. | |
| [00:43:05] Thank you. | |
| [00:43:06] Thank you. | |
| [00:43:07] Thank you. | |
| [00:43:08] Thank you. | |
| [00:43:09] Thank you. | |
| [00:43:10] Thank you. | |
| [00:43:11] Thank you. | |
| [00:43:12] Thank you. | |
| [00:43:13] Thank you. | |
| [00:43:14] Thank you. | |
| [00:43:15] Thank you. | |
| [00:43:16] Thank you. | |
| [00:43:17] Thank you. | |
| [00:43:18] Thank you. | |
| [00:43:19] Thank you. | |
| [00:43:20] Thank you. | |
| [00:43:21] Thank you. | |
| [00:43:22] Thank you. | |
| [00:43:23] Thank you. | |
| [00:43:24] Thank you. | |
| [00:43:25] Thank you. | |
| [00:43:26] Thank you. | |
| [00:43:27] Thank you. | |
| [00:43:28] Thank you. | |
| [00:43:29] Thank you. | |
| [00:43:30] Thank you. | |
| [00:43:31] Thank you. | |
| [00:43:32] Thank you. | |
| [00:43:33] Thank you. | |
| [00:43:34] Thank you. | |
| [00:43:35] Thank you. | |
| [00:43:36] Thank you. | |
| [00:43:37] Thank you. | |
| [00:43:38] Thank you. | |
| [00:43:39] Thank you. | |
| [00:43:40] Thank you. | |
| [00:43:41] Thank you. | |
| [00:43:42] Thank you. | |
| [00:43:43] Thank you. | |
| [00:43:44] Thank you. | |
| [00:43:45] Thank you. | |
| [00:43:46] Thank you. | |
| [00:43:47] Thank you. | |
| [00:43:48] Thank you. | |
| [00:43:49] Thank you. | |
| [00:43:50] Thank you. | |
| [00:43:51] Thank you. | |
| [00:43:52] Thank you. | |
| [00:43:53] Thank you. | |
| [00:43:54] Thank you. | |
| [00:43:55] Thank you. | |
| [00:43:56] Thank you. | |
| [00:43:57] Thank you. | |
| [00:43:58] Thank you. | |
| [00:43:59] Thank you. | |
| [00:44:00] Thank you. | |
| [00:44:01] Thank you. | |
| [00:44:02] Thank you. | |
| [00:44:03] Thank you. | |
| [00:44:04] Thank you. | |
| [00:44:05] Thank you. | |
| [00:44:06] Thank you. | |
| [00:44:07] Thank you. | |
| [00:44:08] Thank you. | |
| [00:44:09] Thank you. | |
| [00:44:10] Thank you. | |
| [00:44:11] Thank you. | |
| [00:44:12] Thank you. | |
| [00:44:13] Thank you. | |
| [00:44:14] Thank you. | |
| [00:44:15] Thank you. | |
| [00:44:16] Thank you. | |
| [00:44:17] Thank you. | |
| [00:44:18] Thank you. | |
| [00:44:19] Thank you. | |
| [00:44:20] Thank you. | |
| [00:44:21] Thank you. | |
| [00:44:22] Thank you. | |
| [00:44:23] Thank you. | |
| [00:44:24] Thank you. | |
| [00:44:25] Thank you. | |
| [00:44:26] Thank you. | |
| [00:44:27] Thank you. | |
| [00:44:28] Thank you. | |
| [00:44:29] Thank you. | |
| [00:44:30] Thank you. | |
| [00:44:31] Thank you. | |
| [00:44:32] Thank you. | |
| [00:44:33] Thank you. | |
| [00:44:34] Thank you. | |
| [00:44:35] Thank you. | |
| [00:44:36] Thank you. | |
| [00:44:37] Thank you. | |
| [00:44:38] Thank you. | |
| [00:44:39] Thank you. | |
| [00:44:40] Thank you. | |
| [00:44:41] Thank you. | |
| [00:44:42] Thank you. | |
| [00:44:43] Thank you. | |
| [00:44:44] Thank you. | |
| [00:44:45] Thank you. | |
| [00:44:46] Thank you. | |
| [00:44:47] Thank you. | |
| [00:44:48] Thank you. | |
| [00:44:49] Thank you. | |
| [00:44:50] Thank you. | |
| [00:44:51] Thank you. | |
| [00:44:52] Thank you. | |
| [00:44:53] Thank you. | |
| [00:44:54] Thank you. | |
| [00:44:55] Thank you. | |
| [00:44:56] Thank you. | |
| [00:44:57] Thank you. | |
| [00:44:58] Thank you. | |
| [00:44:59] Thank you. | |
| [00:45:00] Thank you. | |
| [00:45:01] Thank you. | |
| [00:45:02] Thank you. | |
| [00:45:03] Thank you. | |
| [00:45:04] Thank you. | |
| [00:45:05] Thank you. | |
| [00:45:06] Thank you. | |
| [00:45:07] Thank you. | |
| [00:45:08] Thank you. | |
| [00:45:09] Thank you. | |
| [00:45:10] Thank you. | |
| [00:45:11] Thank you. | |
| [00:45:12] Thank you. | |
| [00:45:13] Thank you. | |
| [00:45:14] Thank you. | |
| [00:45:15] Thank you. | |
| [00:45:16] Thank you. | |
| [00:45:17] Thank you. | |
| [00:45:18] Thank you. | |
| [00:45:19] Thank you. | |
| [00:45:20] Thank you. | |
| [00:45:21] Thank you. | |
| [00:45:22] Thank you. | |
| [00:45:23] Thank you. | |
| [00:45:24] Thank you. | |
| [00:45:25] Thank you. | |
| [00:45:26] Thank you. | |
| [00:45:27] Thank you. | |
| [00:45:28] Thank you. | |
| [00:45:29] Thank you. | |
| [00:45:30] Thank you. | |
| [00:45:31] Thank you. | |
| [00:45:32] Thank you. | |
| [00:45:33] Thank you. | |
| [00:45:34] Thank you. | |
| [00:45:35] Thank you. | |
| [00:45:36] Thank you. | |
| [00:45:37] Thank you. | |
| [00:45:38] Thank you. | |
| [00:45:39] Thank you. | |
| [00:45:40] Thank you. | |
| [00:45:41] Thank you. | |
| [00:45:42] Thank you. | |
| [00:45:43] Thank you. | |
| [00:45:44] Thank you. | |
| [00:45:45] Thank you. | |
| [00:45:46] Thank you. | |
| [00:45:47] Thank you. | |
| [00:45:48] Thank you. | |
| [00:45:49] Thank you. | |
| [00:45:50] Thank you. | |
| [00:45:51] Thank you. | |
| [00:45:52] Thank you. | |
| [00:45:53] Thank you. | |
| [00:45:54] Thank you. | |
| [00:45:55] Thank you. | |
| [00:45:56] Thank you. | |
| [00:45:57] Thank you. | |
| [00:45:58] Thank you. | |
| [00:45:59] Thank you. | |
| [00:46:00] Thank you. | |
| [00:46:01] Thank you. | |
| [00:46:02] Thank you. | |
| [00:46:03] Thank you. | |
| [00:46:04] Thank you. | |
| [00:46:05] Thank you. | |
| [00:46:06] Thank you. | |
| [00:46:07] Thank you. | |
| [00:46:08] Thank you. | |
| [00:46:09] Thank you. | |
| [00:46:10] Thank you. | |
| [00:46:11] Thank you. | |
| [00:46:12] Thank you. | |
| [00:46:13] Thank you. | |
| [00:46:14] Thank you. | |
| [00:46:15] Thank you. | |
| [00:46:16] Thank you. | |
| [00:46:17] Thank you. | |
| [00:46:18] Thank you. | |
| [00:46:19] Thank you. | |
| [00:46:20] Thank you. | |
| [00:46:21] Thank you. | |
| [00:46:22] Thank you. | |
| [00:46:23] Thank you. | |
| [00:46:24] Thank you. | |
| [00:46:25] Thank you. | |
| [00:46:26] Thank you. | |
| [00:46:27] Thank you. | |
| [00:46:28] Thank you. | |
| [00:46:29] Thank you. | |
| [00:46:30] Thank you. | |
| [00:46:31] Thank you. | |
| [00:46:32] Thank you. | |
| [00:46:33] Thank you. | |
| [00:46:34] Thank you. | |
| [00:46:35] Thank you. | |
| [00:46:36] Thank you. | |
| [00:46:37] Thank you. | |
| [00:46:38] Thank you. | |
| [00:46:39] Thank you. | |
| [00:46:40] Thank you. | |
| [00:46:41] Thank you. | |
| [00:46:42] Thank you. | |
| [00:46:43] Thank you. | |
| [00:46:44] Thank you. | |
| [00:46:45] Thank you. | |
| [00:46:46] Thank you. | |
| [00:46:47] Thank you. | |
| [00:46:48] Thank you. | |
| [00:46:49] Thank you. | |
| [00:46:50] Thank you. | |
| [00:46:51] Thank you. | |
| [00:46:52] Thank you. | |
| [00:46:53] Thank you. | |
| [00:56:00] into 40 then we have to pad load it like in this way that will work for this sir | |
| [00:56:07] okay cool uh so i'm gonna you can uh stop sharing your screen | |
| [00:56:15] Okay, fine. Let me just go to the... | |
| [00:56:18] Yes. So, I have a few simple questions for you. | |
| [00:56:21] So, what's the difference between find and aggregate in MongoDB? | |
| [00:56:26] Have you used the thing called aggregate? | |
| [00:56:29] Like, I haven't used it, but I haven't used it. | |
| [00:56:33] I haven't used it. | |
| [00:56:38] I haven't used it like if I get a one day or so like I'll just refresh it like aggregations | |
| [00:56:43] thing I haven't like there are pipelines over there like the pipelines will help us to fetch | |
| [00:56:51] the data easily is what I heard but I have to learn its syntax. | |
| [00:56:56] Okay, cool. That is fine. So do you have any experience with any SQL database like MongoDB? | |
| [00:57:01] Yes. I have built it recently, a hackathon project, the interview preparation project there. I use the Postgres. | |
| [00:57:10] Like I generally like, like if, like, for example, this folder structure thing. | |
| [00:57:16] This will not have a schema basically, like proper schema will not be there for there. | |
| [00:57:21] We'll be using MongoDB like for proper schema, like e-commerce kind of applications. | |
| [00:57:26] We can go with the SQL databases. | |
| [00:57:28] Absolutely. | |
| [00:57:28] Like I have experience with both SQL as well as the no SQL databases as well as some like | |
| [00:57:34] Kafka kind of thing also have some experience. | |
| [00:57:36] That is Kafka, but the syntax thing I forgot, but like if I have a chance of Googling, then | |
| [00:57:43] I can scale up the systems as well as it is. | |
| [00:57:46] So let's say you have three tables. | |
| [00:57:52] Okay, sir. | |
| [00:57:54] So we have an organization table. | |
| [00:57:57] We have a machines table. | |
| [00:57:59] And we have a... | |
| [00:58:03] sales table. | |
| [00:58:04] Okay, sir. | |
| [00:58:05] So, organization can have multiple machines. | |
| [00:58:09] Yes, sir. | |
| [00:58:10] Okay. | |
| [00:58:11] Now, machines will have sales. | |
| [00:58:15] So, machines will have some sales data. | |
| [00:58:18] So, let's say machines will have some. | |
| [00:58:20] Let's say instead of this calling it sales, let's call it a bill table. | |
| [00:58:24] So, inside the bill table. | |
| [00:58:25] Sir, can I write it somewhere like it will be easy for me to. | |
| [00:58:28] Sure, sure. | |
| [00:58:29] Can I share my screen? | |
| [00:58:31] Yeah, you can share your screen. | |
| [00:58:36] Because like the names I might confuse because I just wanted to answer it properly. | |
| [00:58:42] Yes, sir. Can you please repeat it again? | |
| [00:58:45] So let's say we have an organization table. | |
| [00:58:48] Yes, sir. | |
| [00:58:49] And this organization table have like columns like organization ID, organization name. | |
| [00:58:56] Sorry, ID, name. | |
| [00:58:59] And say date of creation, created at. | |
| [00:59:02] Yes, sir. | |
| [00:59:02] That's it. | |
| [00:59:03] and then we have a machine stable. | |
| [00:59:08] Okay. | |
| [00:59:10] Now the machine will also have a machine ID. | |
| [00:59:12] Yes, sir. | |
| [00:59:13] It will have ID. | |
| [00:59:14] It will have a machine name. | |
| [00:59:17] Let's say it will also have a created date. | |
| [00:59:20] Now it will also have a foreign key. | |
| [00:59:22] With respect to organization? | |
| [00:59:24] Yes, with respect to the organization table. | |
| [00:59:27] So, we will also store the organization ID inside it so that we can associate the machines with the organization. | |
| [00:59:33] I understood. | |
| [00:59:35] Now, we will also have a bill table. | |
| [00:59:40] Yes, sir. | |
| [00:59:43] which will be like a relation with the organization as well as machines. | |
| [00:59:47] So with bill table will be associated with the machines. | |
| [00:59:50] So let's say I have a machine ID. | |
| [00:59:53] Thousand is the machine ID, let's say. | |
| [00:59:55] So this particular machine ID, in the bill table, | |
| [00:59:58] we will have columns like bill ID, | |
| [01:00:01] and then we will have a machine ID. | |
| [01:00:01] and product ID which product was sold and the time at which the product was sold and the value of the product. | |
| [01:00:08] So we will have price. | |
| [01:00:10] Time, value, yes sir. | |
| [01:00:12] And also obviously this product belongs to a machine so we will have bill ID, time, value. | |
| [01:00:22] and it will have a machine ID associated with it. | |
| [01:00:24] Machine ID, yes sir, understood. | |
| [01:00:26] So I need a SQL query. | |
| [01:00:28] Yes sir. | |
| [01:00:30] I need a SQL query so that we can, for machine, for organization ID 91, | |
| [01:00:37] we can get all the machines and the corresponding sales | |
| [01:00:43] the lifetime sales for all these machines. | |
| [01:00:46] Sir, I didn't understand like for like like for machines. | |
| [01:00:51] Yes. So let's say I have an organization ID 91. | |
| [01:00:56] Okay. | |
| [01:00:57] This organization 91 have let's say three different machines. | |
| [01:01:02] Let's say machine number 100, machine number 101, machine number 102. | |
| [01:01:06] Okay, sir. | |
| [01:01:07] Now, these machines will have certain number of bills. | |
| [01:01:11] Okay. | |
| [01:01:12] Now, we need to get all the machines for organization number 91. | |
| [01:01:18] And for all the machines, we need to calculate the total value. | |
| [01:01:23] Okay, like what you're asking is like, I just explain like what I understood, like there will be organization number 99 somewhere like some number. | |
| [01:01:32] Yes, with that there will be a machine like we'll get an ID from there. | |
| [01:01:37] Yes, with that idea, we need to fetch all the bills. That's what you want, right? | |
| [01:01:42] So for example, let's say organization one have three machine ID machine ID number. | |
| [01:01:49] Let me just say let's start from the machines. | |
| [01:01:54] ID is equals to like which ID you are telling sir? | |
| [01:02:01] So we need to get all the machines for the particular organization ID 91. | |
| [01:02:06] Okay, fine. We'll just go with and fetch like what you want like I mean, what you want to fetch like ID of the | |
| [01:02:15] Now, you don't want the, we want with ID of the mission, just ID of the mission ID along with ID, we will need to get us sales total. So, so we will have two columns machine ID, let's say 100 another column, let's say total. | |
| [01:02:32] Okay, let me just go for it, sir. | |
| [01:02:35] First, we'll just have the IDs with the machine organization ID 91. | |
| [01:02:42] This will be definitely an array if you use Node.js. | |
| [01:02:44] Then we'll be having this kind of the data we'll be getting. | |
| [01:02:48] So we can do one thing like for loop, for like, we'll just store this. | |
| [01:02:53] inside of instead of like that we don't need node thing we need a single SQL | |
| [01:03:02] query which can create this table just an SQL query yes just nice but like | |
| [01:03:09] But like, like, like, however, like without even SQL query also we can write like this will be even more optimized than the SQL query right. | |
| [01:03:18] Because what SQL needs to do is it needs to go with the entire table. | |
| [01:03:23] But with respect to this, we can just fetch the number of things and we can just break it over there. | |
| [01:03:28] We can return it over there. | |
| [01:03:30] No, we can write a single SQL query which will be more optimized than writing any node API or any for loops. | |
| [01:03:38] For loops are the most optimized thing in the world. | |
| [01:03:41] We will be writing. | |
| [01:03:42] So the question is that you need to write a SQL query to get this data. | |
| [01:03:48] That is the question. | |
| [01:03:51] SQL ID. | |
| [01:03:56] Oh my god. | |
| [01:03:58] We need an SQL. | |
| [01:03:59] Let me just. | |
| [01:04:00] Okay, sir. | |
| [01:04:01] Fine. | |
| [01:04:02] Select. | |
| [01:04:04] Select values. | |
| [01:04:10] values | |
| [01:04:14] from which | |
| [01:04:21] Well, there. | |
| [01:04:25] machine | |
| [01:04:30] just for id is equals to | |
| [01:04:36] in | |
| [01:04:40] Select. | |
| [01:04:43] What ID? | |
| [01:04:51] and what we want the idea of the | |
| [01:04:59] Select ID from the | |
| [01:05:02] ID from missions where | |
| [01:05:09] where ID is equals to 99. | |
| [01:05:13] This way we can just get the values, number of values that we have. | |
| [01:05:19] Okay, that's fine. | |
| [01:05:21] Cool, Lavinash. | |
| [01:05:22] You can stop sharing your screen. | |
| [01:05:27] But like I thought of like you're expecting like the answer anyhow, like that's why I just use the for loop. | |
| [01:05:33] We can use much start to like optimize the like if you're talking about the performance, then we can just use some algorithms to like optimize them. | |
| [01:05:44] So basically, when we are fetching data from a database. | |
| [01:05:48] In most cases, we prefer to write SQL queries or let's say aggregation pipelines. | |
| [01:05:53] Okay. | |
| [01:05:54] Like the reason for writing the for loops is like since this is an interview, I might like forgot the syntax. | |
| [01:06:05] Okay, that is fine. | |
| [01:06:08] But like in real time, we will be having any, | |
| [01:06:10] we will be having the like AI assistant | |
| [01:06:12] that will help us when we like lose. | |
| [01:06:17] just to mention that's it that's fine so basically whenever we are fetching data we can't like | |
| [01:06:23] write for loops because for loops are not very understood so understood right complex sql queries | |
| [01:06:28] so that you can get the all the required data in a single go and then we sometimes we need to | |
| [01:06:35] format in in such a way or we need to | |
| [01:06:37] operations which can't be performed via SQL or via... | |
| [01:06:41] But like, there will be some, like, there will be some | |
| [01:06:45] ORM managers like Prisma, like Drizzle, | |
| [01:06:49] they can just directly, we don't need to write the complex | |
| [01:06:52] way that we can directly have the, like, English kind of syntax | |
| [01:06:56] over there to... | |
| [01:06:57] Yes, that is fine. But sometimes, okay, so let me give you a real world scenario where we need to write SQL queries. | |
| [01:07:04] So we have a finance department that need to recover money for the software which our operators are using. | |
| [01:07:12] So sometimes they need different sorts of reports that, okay, how many active machine ideas this organization has and what are the sales number they are doing. | |
| [01:07:21] So that they can ask for the software payment. | |
| [01:07:24] So in that case, you need to create an Excel report. | |
| [01:07:27] Yeah, I understand. | |
| [01:07:28] So for that you can't write for loops or a code. | |
| [01:07:31] You just need to, you have a AppSmith dashboard where you just need to enter the entire SQL query and that will give you the entire report. | |
| [01:07:40] And you can just download it. | |
| [01:07:41] If we have some restrictions that kind of, that may definitely need to go for SQLs. | |
| [01:07:45] There we can't write an ORM. | |
| [01:07:48] We can't use Prisma or MongoDB sort of things. | |
| [01:07:53] Yeah, yes. | |
| [01:07:55] Cool, Abhinash. | |
| [01:07:57] So I think... | |
| [01:08:00] Okay, so a few questions for you. | |
| [01:08:05] not techniques so so i think your major experiences with uh react and with java and with node | |
| [01:08:16] but yeah like yeah in our organization uh we use | |
| [01:08:22] Nest.js, so Nest is a framework. | |
| [01:08:25] Yeah, I'm actually more familiar with Next actually. | |
| [01:08:29] Not Nest. | |
| [01:08:30] Rather than Next.js. | |
| [01:08:32] N-E-S-T. | |
| [01:08:33] N-E-S-T, yes, Nest. | |
| [01:08:36] Yeah, like the syntax is kind of similar. | |
| [01:08:38] I have seen the Nest actually, the syntax is kind of similar, | |
| [01:08:40] but it maintains a folder structure like controllers, like modelers. | |
| [01:08:45] and also like types so i actually have some experience with the next days also like | |
| [01:08:50] so yeah so in front end in the ashwood service here you might be working for most of your time | |
| [01:08:58] that is in next js the front end is in next yes but the backend is in nest js in post | |
| [01:09:03] yeah yes understood i know like like uh with the requirement document i have seen nest i actually | |
| [01:09:09] thought of implementing with the nest but like um or like uh like uh like sarshan there to like | |
| [01:09:16] you can go with the monstacks in the since the intro is actually based on the monstacks so that's | |
| [01:09:20] why i just went off with the monstack yes yes that is fine so what i | |
| [01:09:23] try to listen okay so what i'm trying to say is that so the real world requirement is not always | |
| [01:09:31] your tech spec so we don't hire people for like hiring someone for react or for this thing we | |
| [01:09:36] hire people with good attitude good learning abilities people with engineering mindset | |
| [01:09:41] you can pick any any any tech spec within a few days or a couple of | |
| [01:09:47] like this week obviously you will be provided with proper guidance and courses and everything | |
| [01:09:52] so that you can see yourself in particular text tech before you will be expected to do that | |
| [01:09:56] work in that text tech right | |
| [01:10:00] So I was just asking, are you comfortable with learning new things? | |
| [01:10:05] And because it can be challenging at some times. | |
| [01:10:07] Definitely, sir. | |
| [01:10:09] I love to learn new things because since to be mentioned, | |
| [01:10:14] I was started to code at the age of eight, actually. | |
| [01:10:17] I love to learn new things. | |
| [01:10:19] I just love to learn new things, explore new things. | |
| [01:10:22] Actually, if I mention, there is something called Stack Overflow at the age of eight. | |
| [01:10:26] there is nothing like chat gpt or uh those things i have been with entire era of like how the coding | |
| [01:10:33] journeys happens uh with llms and things have changed and i just love to keep up with the | |
| [01:10:38] like new technologies and keep up with the new things uh that expects from me i just love things | |
| [01:10:44] learning new sir actually that's what like how old are you right now | |
| [01:10:49] I'm just 18 currently, sir. | |
| [01:10:51] Okay, so you're in your second year of college, right? | |
| [01:10:54] Yes, sir. | |
| [01:10:55] So, this NIET is your institute or your college is different, I guess? | |
| [01:11:02] No, no, no. NIET is the college that I'm from. I'm in second year. | |
| [01:11:06] Okay, cool. I thought it is some sort of a preparatory school sort of thing. | |
| [01:11:12] I'm from NID itself. | |
| [01:11:16] Okay, cool. Avinash, I think the interview was fine. | |
| [01:11:22] I will be sharing the feedback with HR. | |
| [01:11:25] and our team and let's see if we can go ahead with something so i just wanted to confirm are | |
| [01:11:32] you comfortable with moving to good ground because it is an in-office job and it doesn't go down | |
| [01:11:37] like it all depends upon you like i prefer like whatever but if i get remote i would be more | |
| [01:11:44] productive like like whatever is fine for me sir | |
| [01:11:46] Because the point is we are a hardware company, so remote is not an option for us. | |
| [01:11:51] Also, when you are in office, sometimes you, let's say you need sometimes you need to go to home, then you can take remote. | |
| [01:11:57] That is fine because it is a hardware startup. | |
| [01:12:00] So we generally can't afford remote work for a very extended period of time. | |
| [01:12:05] Yeah, sir, if it is like, like in office also, I'm okay with it. Like, I'm definitely okay with it. If we get remote, it's also okay. If I get like, whatever is fine for me, sir. | |
| [01:12:14] Cool. Cool, Avinash. Kirthana, are you there? | |
| [01:12:18] Yes, yes, I should. | |
| [01:12:20] So, Avinash, I think you can leave the meeting now. | |
| [01:12:25] Okay, thank you, sir. | |
| [01:12:26] Thank you so much for the information. | |
| [01:12:28] Yeah, thank you. | |
| [01:12:31] Yes, question. | |
| [01:12:32] Yeah, so I think the interview was fine. | |
| [01:12:36] I think he's a good candidate, to be honest. | |
| [01:12:40] His understanding of contracts and everything was fine. | |
| [01:12:42] So I will be sharing the feedback with our HR and with Lakshit also. | |
| [01:12:46] From my side, I can give him a go ahead from technical side. | |
| [01:12:51] I think he's a second year kid is fine. | |
| [01:12:54] He's doing very good. | |
| [01:12:55] I think you guys taught him well. | |
| [01:12:57] So what I will do is I will share the feedback. | |
| [01:13:01] I will call Lakshit right away and let's see if we can schedule an interview with him. | |
| [01:13:06] on today or tomorrow maybe on uh monday also yeah and they would work not a problem uh he will be | |
| [01:13:14] coming for one year yes okay so just wanted to confirm after one year ends he will be going back | |
| [01:13:22] to the college yes yes so he has to finish there i mean his third and fourth years of v-tech right | |
| [01:13:29] so he has to come back to campus which is in hyderabad and finish | |
| [01:13:32] So the problem is that what we and what the structure is in vendor is that we hire people | |
| [01:13:40] for six months internship. | |
| [01:13:42] Right now we also have an internship, like generally fourth year students came for a six month internship and after the internship has ended, generally their college also completes. | |
| [01:13:53] And we give them, in most cases we give them a full time opportunity with us. | |
| [01:13:58] Because for us, our business is in such a way that | |
| [01:14:02] Any individual who will come will need at least 3-4 minutes first to get compatible with the tech stack and with the working and with everything. | |
| [01:14:10] Internship is mostly there for their onboarding not for actual hard work. | |
| [01:14:17] I have once confirmed with Lakshit also because obviously he will need to go back to college in his third year. | |
| [01:14:24] I will discuss with him and I will let you know. | |
| [01:14:27] Sure. | |
| [01:14:28] So I will let you know as soon as I get the confirmation from him. | |
| [01:14:34] Most probably we will schedule an interview today itself or if not today, | |
| [01:14:40] on Monday. Is it okay if we schedule on Sunday also because Lakshit's availability is a little | |
| [01:14:46] tight and is generally available on Sundays. | |
| [01:14:48] Yeah, no worries. We can schedule it on Sunday. | |
| [01:14:51] Cool. Then I will let you know. I have to talk with him. | |
| [01:14:56] And also I just wanted to mention that post one year if you do have like a contractual | |
| [01:15:01] additional two to three months of requirement and you want the student to be there additional | |
| [01:15:05] two to three months, that can also be possible. | |
| [01:15:08] Okay, I have to see once. That is fine. In one year also you can learn a lot of things and you can continue to also do our... | |
| [01:15:18] Correct, correct. | |
| [01:15:19] Let's see, I will have to discuss with you. | |
| [01:15:22] Okay, okay, great. Okay. Yeah, maybe you'll reach out to me, right? Once you get a confirmation from us. Okay, great, great. | |
| [01:15:29] Yeah. Okay, cool. Thank you. Have a nice day. You too. Bye. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment