Created
October 27, 2025 17:24
-
-
Save kellatirupathi/76ad1ecc6313fba9533a5e4bb6aececd to your computer and use it in GitHub Desktop.
Transcript for transcript_Vadoo_1W8ClLzSz4HnpLErwbPmu8a6vK6bHHm-N.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:03:34] Hi, hi. | |
| [00:03:39] Hi. | |
| [00:03:40] So, would you be taking care of this interview today? | |
| [00:03:43] Like, on behalf of Anil? | |
| [00:03:46] What do I? Yes, yes. | |
| [00:03:48] Great, great. | |
| [00:03:49] So, I had shared a link with Anil. | |
| [00:03:52] I'll share it again in the chat section. | |
| [00:03:55] Basically, just to give you a short preface, the students are currently studying in their | |
| [00:04:01] second years. | |
| [00:04:02] So unlike conventional colleges, we train our students in mobile app development and | |
| [00:04:06] web app development from the very first date of joining itself. | |
| [00:04:10] And we also custom train them. | |
| [00:04:13] In the sense, my manager Shivani, she reached out to Anil a few months before and she asked | |
| [00:04:21] Anil what kind of requirements he will have six months down the line. | |
| [00:04:25] And he had mentioned the react and flask and that's what we have actually trained of students | |
| [00:04:30] in as well. | |
| [00:04:31] So, are you able to access the sheet that I have sent in the chart section? | |
| [00:04:38] Yeah, I am able to just open it. | |
| [00:04:42] Great. | |
| [00:04:44] You should be able to edit the fields over there as well. | |
| [00:04:50] Yes. | |
| [00:04:52] Hi, Anil. How are you? | |
| [00:04:53] Yeah, hi, Ranjith. I'm doing good. How are you? | |
| [00:04:56] I'm doing good. Thanks for asking. | |
| [00:04:58] Yes. So, we connected two interactions before the final interview. | |
| [00:05:04] So, here are the interaction feedback given for each student by Anil. | |
| [00:05:08] And here, you can find all the topics that we have covered so far. | |
| [00:05:12] So, so far, the entire topic is complete. | |
| [00:05:14] If you are asking questions from these topics, ideally, the student should be able to answer. | |
| [00:05:19] They have also done some projects. | |
| [00:05:22] If you allow them, they will be showcasing it as well. | |
| [00:05:25] So we are also joined by two of our solutions engineers like Arun and Saitej. | |
| [00:05:31] You see like we continue to provide support to companies that hire our students for up | |
| [00:05:35] to a year. | |
| [00:05:37] We have regular sync ups and we try to understand any concerns that companies might have and | |
| [00:05:41] we solve that as well. | |
| [00:05:42] So Arun and Saitej is here. | |
| [00:05:45] They'll be taking tech inputs and they'll be observing the interview. | |
| [00:05:50] So this is for the internal feedback. | |
| [00:05:52] So can we ask the first student to join? | |
| [00:05:57] Yeah, sure. | |
| [00:05:59] Great. | |
| [00:06:00] So, Arun, we can ask the first student to join. | |
| [00:06:02] Thank you. | |
| [00:06:04] Yeah, okay. | |
| [00:07:04] Hello, sir. Am I audible? | |
| [00:07:07] Yes, yes, you are audible. | |
| [00:07:10] So hi, Srikar, how are you? | |
| [00:07:13] I'm good, sir. | |
| [00:07:15] Okay, so let's start. | |
| [00:07:18] So give me a brief background of your technical education, what you have learned so far. | |
| [00:07:24] Hello sir, my name is Rikal. I am from Hyderabad, Telangana. I am currently pursuing BSc in | |
| [00:07:30] Computer Science from NextGen Institute of Advanced Technology. I am currently learning | |
| [00:07:34] front-end technologies. I am more focused on frameworks and libraries like React.js, | |
| [00:07:43] Next.js and backend Python plus. | |
| [00:07:49] and I did a project using Python plus can next is a full stack project, which is a simple | |
| [00:07:57] blocks application. | |
| [00:08:01] Okay, okay. So you know React and Next.js both? | |
| [00:08:07] Yes. | |
| [00:08:08] So what's the difference between the both and when to choose which one to use for a project? | |
| [00:08:15] So React is a front-end library, whereas Next.js is a full-stack framework. | |
| [00:08:24] So actually, Next.js is built on React. | |
| [00:08:30] So it has a few additional features. | |
| [00:08:34] So if you want to do full stack projects, | |
| [00:08:37] we can choose Next.js. | |
| [00:08:40] And for better SEO optimization also, we can go for next year's. | |
| [00:08:47] Okay, so how better SEO optimization happens in Next.js and not in React? | |
| [00:08:54] I mean, in Next.js, we use server components. | |
| [00:09:01] And it also provides its own tags like image tag, link tag. | |
| [00:09:09] It has the optimization. | |
| [00:09:10] For example, if we take image tag, it is automatically responsive. | |
| [00:09:15] I mean, based on the size of the device, it will be. | |
| [00:09:19] it will adjust the size and it also provides link tag and lazy loading | |
| [00:09:32] Okay, okay. So you know about the JavaScript thing, right? So what's the difference between | |
| [00:09:39] where let and constant JavaScript? | |
| [00:09:45] I mean, | |
| [00:09:49] based on the const is used for constants. | |
| [00:09:54] I mean, the data which is not changing and let and where based on the scope differences, | |
| [00:10:02] we use let and where I have no argument was not. | |
| [00:10:10] Okay, so if we are defining any variable in JS, so which you will prefer where or let? | |
| [00:10:18] Let. | |
| [00:10:20] Why? | |
| [00:10:30] I mean, I don't know. | |
| [00:10:35] I mean, I know that there will be scope differences between let and where, but | |
| [00:10:43] Okay. | |
| [00:10:47] What are the different data types that are in JavaScript? | |
| [00:10:52] numbers, boolean, string, undefined. | |
| [00:11:01] Okay, and what's the difference between null and undefined? | |
| [00:11:11] when the | |
| [00:11:19] I mean, | |
| [00:11:25] I mean, when the value is not defined, undefined is basically a data type, sir, whereas null | |
| [00:11:35] is when the value is not given. | |
| [00:11:37] I mean, when the value is not given, it will be undefined. | |
| [00:11:42] And when it will be none? | |
| [00:11:52] I mean, no idea. | |
| [00:11:56] Okay, so what are arrow functions in JavaScript? | |
| [00:12:03] I mean, arrow functions. | |
| [00:12:12] Basically, they are functions we use arrow. | |
| [00:12:27] I know but I can't explain. | |
| [00:12:33] So why we use arrow functions if you have used some of them? | |
| [00:12:42] In React, we use, I mean, for taking props and using the props, we use arrow functions. | |
| [00:12:48] And in nothing of it also, I mean, we use that for promises to handle promises. | |
| [00:13:00] Okay. | |
| [00:13:01] What is a promise? | |
| [00:13:04] promise is basically | |
| [00:13:08] I mean, it has three conditions. | |
| [00:13:12] It's a request. | |
| [00:13:15] Promise is basically a request. | |
| [00:13:17] It has three. | |
| [00:13:20] One is... | |
| [00:13:23] I mean. | |
| [00:13:26] Sir, can I take a minute, sir? | |
| [00:13:29] Yes, sir. | |
| [00:13:41] promise is basically a request it has three i mean three conditions one it is pending stage | |
| [00:13:48] one it is pending stage whether if the if the profit the promise is not fulfilled | |
| [00:13:54] it will be in pending it is in continuous it will be in full-fledged state and | |
| [00:14:00] Another is success case and failure case. | |
| [00:14:05] and they will be handled separately, success case and failure case. | |
| [00:14:13] Okay. | |
| [00:14:15] So what are props and react? | |
| [00:14:20] props are basically the data we send yeah additional data we send to a any component i mean | |
| [00:14:33] And what is the direction of sending a prop? | |
| [00:14:37] From parent to child, we can't send reverse. | |
| [00:14:42] If I want to send something from a child to parent, how can I do that? | |
| [00:14:46] We can use context, react context. | |
| [00:14:51] I mean, if we store anything on React, we can directly send to any children. | |
| [00:15:02] Okay, the basic purpose of context is just of passing this thing from child to parent. | |
| [00:15:10] Yes, I mean, we can't send directly from child to parent. | |
| [00:15:16] We can send, but it will be a difficult process. | |
| [00:15:19] So if we put the data in context, we can send to any children components. | |
| [00:15:29] Okay, so you have built some projects around Next.js and React. | |
| [00:15:38] So can you go through one of the projects which you think that you are, it's the full stack one, the next smart thing? | |
| [00:15:48] So what is the next smart thing? | |
| [00:15:49] Yeah. | |
| [00:15:50] The next smart thing is front end only. | |
| [00:15:53] I did full stack another project. | |
| [00:15:58] So, okay, so what you have done in the next month? | |
| [00:16:02] Can you give me a basic idea of how you approached it and how you developed it? | |
| [00:16:08] In the next month, I used React.js to build it. | |
| [00:16:14] So I use predefined APIs for login and for data fetching also. | |
| [00:16:19] I use predefined APIs. | |
| [00:16:20] So it's basically front end. | |
| [00:16:22] I directly use the predefined APIs of products. | |
| [00:16:27] I mean, | |
| [00:16:28] Nextmart products and I fetch the data. | |
| [00:16:33] Then I and I also applied authentication. | |
| [00:16:41] using the same predefined API, there was predefined API using our user details. | |
| [00:16:47] When we give our user details, it provides as a token using the token. | |
| [00:16:54] We can now get to different pages and it's basically next month. | |
| [00:17:01] It's a it's like an e-commerce application in which we can buy the products and we can add to the cart. | |
| [00:17:09] and okay that's it we can add to the cart for the calling the apis what you have used in the react app | |
| [00:17:18] For calling the API, I use useEffect. | |
| [00:17:21] I am using useEffect. | |
| [00:17:24] In useEffect, I directly call. | |
| [00:17:26] No, you use any library or inbuilt fetch. | |
| [00:17:29] What you have used for calling the API? | |
| [00:17:33] Fetch. | |
| [00:17:33] I use fetch. | |
| [00:17:36] Okay, and you have called it in use effect. | |
| [00:17:40] Yes. | |
| [00:17:41] So what is a use effect? | |
| [00:17:44] Use effect is a react hook which handles the side effects of the, I mean, which handles the side effects. | |
| [00:17:51] I mean, after the first render, whatever we want to run, we will run in the use effect. | |
| [00:17:58] So will it be run only one time or multiple times? | |
| [00:18:03] I mean, | |
| [00:18:07] It will be run one time if we know it will be run one time. | |
| [00:18:14] Okay, so do we need to do anything to make it run one time or it's by default run one time? | |
| [00:18:22] We give a dependency array, empty dependency array to run one time. | |
| [00:18:29] Okay. | |
| [00:18:30] So if I put something in the dependency array, what would happen? | |
| [00:18:35] I mean, it's like whenever the, if we put something in the array, based on it, it will be changed. | |
| [00:18:43] I mean, okay. | |
| [00:18:44] If inside that array that data is changing, then it will be use effect will be run. | |
| [00:18:56] Okay. | |
| [00:18:59] And can you tell me some other hooks that you have used in your application? | |
| [00:19:05] I use use state. | |
| [00:19:09] Okay, what's the purpose of that? | |
| [00:19:12] Whenever there is changing data, I mean, continuously changing data, we'll put in use state. | |
| [00:19:19] It provides a setter function. | |
| [00:19:21] Using that setter function, we can update the value and it will be rendered automatically whenever the data is changed. | |
| [00:19:31] Okay. And just like you have said that you have called an API in the use effect. | |
| [00:19:37] Well, so for example, if I am on a login page, for example, and I'm just click the submit button after entering the details and I close the application. | |
| [00:19:48] So what would happen in that case? Would the request be succeeded? And what will how you have handled that thing if you have done that? | |
| [00:19:58] I mean, after clicking the submit button, sir? | |
| [00:20:02] Yeah, after clicking the submit button, I accidentally closed the window. | |
| [00:20:06] So what would happen in that case and how you can handle that? | |
| [00:20:19] Using try catch we can handle the errors. | |
| [00:20:26] So do you think there will be some error if I close the window? | |
| [00:20:30] The request will be sent, sir. | |
| [00:20:33] I mean, the request will be fetched, sir. | |
| [00:20:40] but I don't think error occurs. | |
| [00:20:43] So what will happen you think like you are browsing Amazon or something and you click on a button and you close the window. | |
| [00:20:52] So what happens behind the scene? | |
| [00:20:57] Once if we click login, I mean, once if we log in and we close the tab, it will be logged in again if we go to the page. | |
| [00:21:06] I mean, token request will be sent and the token will be generated to the front end. | |
| [00:21:10] So token will be will be stored. | |
| [00:21:14] So the user will be logged in. | |
| [00:21:18] Okay. | |
| [00:21:18] So for the login process that you have mentioned that you have used some token thing. | |
| [00:21:23] So how you manage the token if the user send a request and it receives a token. | |
| [00:21:29] So how you store it and then process and all these things. | |
| [00:21:33] Can you briefly describe what happened? | |
| [00:21:35] When the user gave details and login details, then when the API request is checked in the | |
| [00:21:47] background, it will check whether the user is correct or not. | |
| [00:21:50] If the user is correct, it will send a JWT token to the front end. | |
| [00:21:56] In the front end, we can store the JWT token in cookies or local storage. | |
| [00:22:01] So, it will be stored in the cookies. | |
| [00:22:06] We can set a particular amount of period of time. | |
| [00:22:12] In that time, the JWT token will be stored. | |
| [00:22:15] So, if the user comes after a while, it will check whether the JWT token is present or not. | |
| [00:22:22] If the JWT token is present, it will be logged in. | |
| [00:22:25] And if it is not, again, it will redirect to the login page. | |
| [00:22:31] Okay, so you have stored in local storage or cookie? | |
| [00:22:36] In next month, I stored in cookies. | |
| [00:22:40] Okay, and you generate the token on front end, like the time you have mentioned that it will be expired or it comes from the server? | |
| [00:22:48] No, in the front end. | |
| [00:22:50] Okay, so how you decided that the token is generated and how you have set the time for that? | |
| [00:23:01] In cookies, there will be, I mean, cookies, we can send the data and beside that we can send the expiry, we can send the time, we can set the time there. | |
| [00:23:15] Oh, and have you implemented JWT on the server or any other authentication method yet you have used? | |
| [00:23:26] Yes, sir. JWT I used. | |
| [00:23:28] What is JWT and what all things to do while setting up authentication? | |
| [00:23:34] JWT is basically JSON web token. | |
| [00:23:39] So it is a lightweight token. | |
| [00:23:42] Based on the if a user first when the user sends the data, it will check whether the | |
| [00:23:47] first the user it will check whether the user is present in the database or not. | |
| [00:23:51] If the user is present in the database. | |
| [00:23:54] It will check the password which the user gave and the password in which the database is in database, which is hashed password. | |
| [00:24:07] Basically, in database, the password will be hashed and we will check the both. | |
| [00:24:12] It returns a... | |
| [00:24:15] Boolean value true or false if it is true, we will generate a web token JSON web token and we'll send to the front end and the same process again in the front end we can. | |
| [00:24:31] Okay, so why you have chosen to do all these things in the front end like expiry and all these and not in the back end thing? | |
| [00:24:42] Any specific reason for that or? | |
| [00:24:46] I mean, in the next month, then I only learned about, I mean, front end, I was doing front end. | |
| [00:24:52] So I tried just front end side, but began doing back end also. | |
| [00:24:59] Okay. | |
| [00:25:00] Task provides cookies. | |
| [00:25:01] So I didn't try it that time. | |
| [00:25:04] So you know about refresh token and access token? | |
| [00:25:07] Yes. | |
| [00:25:09] Yes. | |
| [00:25:10] What is the use of refresh token? | |
| [00:25:14] I mean, the token also will be set for a particular time. | |
| [00:25:18] So whenever the token is expired, a new refresh token will be generated. | |
| [00:25:25] So so that the user will be. | |
| [00:25:28] user will user flow will be good | |
| [00:25:33] Okay, okay. And which database you have used in the backend? | |
| [00:25:37] SQL. | |
| [00:25:40] in the blocks application, right? | |
| [00:25:42] Yes. | |
| [00:25:45] Okay, and for SQLite, which ORM you have used or you have directly used it? | |
| [00:25:52] SQL Alchemy. | |
| [00:25:53] SQL Alchemy. | |
| [00:25:54] What is SQL Alchemy and what is an ORM? | |
| [00:26:02] It's basically, I mean, it provides interaction between the | |
| [00:26:09] direct interaction with the database to our flask functions or classes. | |
| [00:26:19] Okay. | |
| [00:26:21] Ordered relation management. | |
| [00:26:22] ORM. | |
| [00:26:23] Ordered relation management. | |
| [00:26:26] Okay. | |
| [00:26:32] So what you have implemented in blocks application, so you have used the next year said the front end and Python as a backend thing. | |
| [00:26:42] Yes. | |
| [00:26:44] Okay. | |
| [00:26:45] So can you briefly describe what is the how the flow goes through for the creating a blog and all these in your application? | |
| [00:26:53] Yes. | |
| [00:26:54] Yes, can I share this thing? | |
| [00:26:57] Yes, yes. | |
| [00:27:12] Sir, is it visible? | |
| [00:27:14] Yes, it's visible. | |
| [00:27:16] So this is my block sensor. | |
| [00:27:18] Basically, my idea was to just to showcase, I mean, I learned XJS and Python Plus. | |
| [00:27:24] Just I tried all the things which I learned. | |
| [00:27:27] So this is home and this is portfolio where I locally fetched the data. | |
| [00:27:34] Okay. | |
| [00:27:37] illustrations, websites and applications. | |
| [00:27:42] So this is normal and basically this is a block app where the users can see the blocks. | |
| [00:27:50] So first further we need to log in first. | |
| [00:28:03] Whenever the user is logged in, he is able to access the dashboard. | |
| [00:28:19] He is able to log in the dashboard where he can post any blog. | |
| [00:28:24] I mean, for example, we can post any blogs here. | |
| [00:28:28] Title, description and image content. | |
| [00:28:30] If we give, if we send, we can see our blog posts here. | |
| [00:28:35] We can delete and update also. | |
| [00:28:38] Okay, so what do you do for UI styling? What you have used in this project? | |
| [00:28:44] I mean, I use normal CSS. | |
| [00:28:46] And you have implemented dark mode also, I think. | |
| [00:28:50] Yes, toggle. | |
| [00:28:52] So how does it work in any React or Next.js application? How would you change something to dark mode or light mode? | |
| [00:29:03] Yes, I mean. | |
| [00:29:07] I mean, so is it working in your application? | |
| [00:29:12] Like, yeah. | |
| [00:29:13] So how you have done this thing? | |
| [00:29:15] I mean, this conditional rendering, I mean, whenever the. | |
| [00:29:21] based on the input to conditions and if the user is in dot mode then | |
| [00:29:29] I changed the background and in other case I kept the background white. | |
| [00:29:38] Okay, okay. So you know about the tailwind? | |
| [00:29:43] Yes. | |
| [00:29:44] Oh, why we use tailwind? | |
| [00:29:48] we can directly use the css using tailwind class i mean tailwind classes directly in our | |
| [00:29:56] tags you know directly in tags so which is better the normal css or the tailwind one | |
| [00:30:03] tailwind is better but i was not comfortable so i used to | |
| [00:30:09] okay no no issues in that | |
| [00:30:12] How you handle dynamic routes in the next years? | |
| [00:30:17] Actually, we can... | |
| [00:30:22] in routing is directly file based in next years when we create a file for example if you want to | |
| [00:30:28] create a blog page we can we will directly give blog blog we will directly create a folder named | |
| [00:30:35] blog in the app app and that app route | |
| [00:30:40] And if we want to create a dynamic route, we will provide the file name in a square brackets. | |
| [00:30:47] I mean, in square brackets. | |
| [00:30:49] So it will automatically become dynamic. | |
| [00:30:53] Okay. | |
| [00:30:53] And how if in the particular app, the dynamic page, you want to fetch that ID that you have passed, how would you do that? | |
| [00:31:05] I mean, whenever we give, if we created a dynamic route, whenever we give the path after the block, if we give anything, it will take that path and it will be fetched in the route. | |
| [00:31:23] So how would you fetch it? It will automatically fetch or you need to do something to fetch it? | |
| [00:31:28] No, we use params. I mean, we take the from the params. | |
| [00:31:36] Okay. | |
| [00:31:40] For the image thing, what you have used in next year is that the image on the first page you have shown. | |
| [00:31:47] So how you have handled that? | |
| [00:31:50] What component we use for that? | |
| [00:31:54] Actually, in Next.js, there is a pretty different image for Next.js, which is more optimal. | |
| [00:32:03] But here in my project, I use the same image. | |
| [00:32:10] So what's the difference between the Next.js image thing and the normal HTML image? | |
| [00:32:16] I mean, next year's image is more optimal. | |
| [00:32:18] Like, for example, it is responsive. | |
| [00:32:22] It is more, if we, based on our devices, it will be handled automatically. | |
| [00:32:28] I mean, it is responsive. | |
| [00:32:32] Okay, is the web page you have designed right now, is this responsive or not? | |
| [00:32:39] Mobile responsive or? | |
| [00:32:42] No, sir. | |
| [00:32:43] So do you know how to make websites responsive? | |
| [00:32:48] Yes, sir. | |
| [00:32:50] How, if we talk about next year's, how would you make a web page as responsive that it will be shown in a good design in the mobile as well as in the web? | |
| [00:33:00] In next year's I didn't try but generally in normal websites I use media queries but in next year's I didn't try. | |
| [00:33:12] How that media queries work, you know about that? | |
| [00:33:17] Yes, sir. I mean, based on our condition, for example, if we give condition beside the | |
| [00:33:24] media queries. | |
| [00:33:29] Okay. | |
| [00:33:37] And for context, what you have used context API for any other library? | |
| [00:33:43] context database. | |
| [00:33:44] Okay, why you chose the context API, why not another library? | |
| [00:33:48] Is there a specific reason like there is a react redux also for this state management | |
| [00:33:55] thing? | |
| [00:33:58] I mean, I don't I mean, I just can't I used it. | |
| [00:34:03] I have no idea. | |
| [00:34:05] Okay. | |
| [00:34:05] Okay. | |
| [00:34:05] What is a state and react application? | |
| [00:34:10] state | |
| [00:34:13] Okay, whenever there is a continuously changing data, | |
| [00:34:21] it is known I mean we'll store in state | |
| [00:34:29] Okay. | |
| [00:34:30] State is a continuously changing data. | |
| [00:34:33] Using use state, we will store the data and we will... | |
| [00:34:38] manage the changing data. | |
| [00:34:44] Okay, okay. | |
| [00:34:56] And you have designed databases in the flask. | |
| [00:35:01] Yeah, model. | |
| [00:35:02] So what is the use of the index when we are defining any model or in our backend for the database? | |
| [00:35:13] Like if I am a user table. | |
| [00:35:16] And in one of the columns, I have implemented index. | |
| [00:35:20] So, you know, the purpose of index, why we use index. | |
| [00:35:24] I mean, the uniqueness, I mean, unique ID. | |
| [00:35:28] What is primary key used for them? | |
| [00:35:35] You know about indexing, the normal indexing in database. | |
| [00:35:42] Yes, I mean. | |
| [00:35:46] It's basically what is primary primary key primary key is used for uniquely identify the something I mean to uniquely identify. | |
| [00:35:58] the data I mean in data if we identify an item uniquely we will use then we will set | |
| [00:36:06] a foreign key particular | |
| [00:36:14] whenever to mean | |
| [00:36:20] I have no idea about it. | |
| [00:36:24] Okay, so like for the act you have implemented the JWT authentication. | |
| [00:36:31] So how you manage the session for a particular this thing like a user locked in. | |
| [00:36:37] So how you manage the session of particular. | |
| [00:36:43] session i mean i directly used cookies and i i gave expiry date to their cookie so it will be | |
| [00:36:50] handled for that particular time | |
| [00:36:54] Okay. | |
| [00:36:58] What is a dictionary in Python? | |
| [00:37:02] A dictionary in Python is it stores a key value parameter. | |
| [00:37:10] Okay, and what is an object in JavaScript? | |
| [00:37:18] an object in JavaScript. | |
| [00:37:20] Same thing, I mean, it also stores a key value pair. | |
| [00:37:27] Okay, and for example, I have an endpoint in flask and I want to return a JSON data. | |
| [00:37:34] So how can I return that? | |
| [00:37:38] We can use JSONify method. | |
| [00:37:42] What it does? | |
| [00:37:45] It changes into JSON object. | |
| [00:37:52] Okay. | |
| [00:38:00] And for the forms, like I have a user form, and if I want to handle the validations in | |
| [00:38:06] print end, how would I do that? | |
| [00:38:12] User validations. | |
| [00:38:14] Yes, you have I have a email and password field and user enter some wrong data. | |
| [00:38:21] So how would you handle that? | |
| [00:38:26] I mean, in class, I wrote validations. | |
| [00:38:32] No, no, in the front end part, I'm asking. | |
| [00:38:35] the front end like we see now if we enter something wrong data in any of the website | |
| [00:38:40] it shows that yes the password is wrong or something | |
| [00:38:51] We can give, I mean, in password, if we give the type equal to password, if other than password, if something is given, it will be automatically handled. | |
| [00:39:00] If the type is mentioned and we can handle customizing our front end. | |
| [00:39:10] using the try catch method if the pass if we put a condition we can we can show something below the input | |
| [00:39:21] Okay. And in React, what is JSX? | |
| [00:39:27] JSX is a JavaScript XML which is a mixture of JavaScript and HTML. | |
| [00:39:33] It is similar to HTML. | |
| [00:39:35] So we can basically write HTML in Java. | |
| [00:39:39] I mean, we can basically write JavaScript using HTML like a format. | |
| [00:39:50] Okay. | |
| [00:40:00] You know about prop dealing. | |
| [00:40:03] Yes, I'm probably. | |
| [00:40:05] What is proper drilling? | |
| [00:40:08] Prop drilling is basically we can send data from parent to child. | |
| [00:40:14] I mean, if we want to send data from a parent to a child, we should send from, I mean, line by line, we need to send. | |
| [00:40:25] So it is a long process. | |
| [00:40:27] I mean, we can't directly send to the... | |
| [00:40:29] direct child which required the data. | |
| [00:40:33] So is it a problem in the application? | |
| [00:40:36] Yes, to avoid the problem we use context. | |
| [00:40:42] Okay, and there is a concept called lifting state up. | |
| [00:40:45] What do you mean by that if you know? | |
| [00:40:49] No, sir, I have no idea. | |
| [00:40:53] Okay, and so for example, that you need to create a chat application just like chat | |
| [00:40:59] bugity or any other thing. | |
| [00:41:02] So how would you proceed from if I say that you have need to create a full stack application | |
| [00:41:08] you are using next year's and class. | |
| [00:41:11] So what will be your thought process? | |
| [00:41:12] How will you proceed with the entire flow? | |
| [00:41:16] if you need to design this thing can you briefly describe that | |
| [00:41:20] i mean first i will i will create a project when i will separate front end and | |
| [00:41:27] i will create two folders front end and back end and in front end um | |
| [00:41:33] I will use next years to create front end. | |
| [00:41:39] I will create routes based on our requirement of the project. | |
| [00:41:44] I create routes and dynamic routes where I handle all the front end. | |
| [00:41:49] And in back end, I create... | |
| [00:41:53] class and we can handle it. | |
| [00:41:56] So what all things will be required in creating a | |
| [00:42:00] chat application if you | |
| [00:42:03] what all technologies like the database how would you choose that what technologies you will implement in that | |
| [00:42:13] for chat application. | |
| [00:42:15] Yes. | |
| [00:42:21] I mean, we require database, flask and next year's. | |
| [00:42:28] Okay, you know about WebSockets, if you have ever heard. | |
| [00:42:32] I heard about it, but I don't know. | |
| [00:42:36] Okay. | |
| [00:42:37] No issues. | |
| [00:42:56] You know how to send a static file from a server, | |
| [00:43:01] class server to the front end. | |
| [00:43:04] Just like I have an image in my back end. | |
| [00:43:09] I mean, in using flask, sir? | |
| [00:43:14] Yes, yes. | |
| [00:43:17] HTML files or static image files? | |
| [00:43:20] An image image. | |
| [00:43:25] I mean, we can use a render template to send any files, static files, static files or any | |
| [00:43:35] HTML files or anything. | |
| [00:43:36] So we can directly send through. | |
| [00:43:41] Okay. | |
| [00:43:44] What is a request and response object in flask? | |
| [00:43:48] I mean, whenever the user requests something, I mean, this request is actually a predefined | |
| [00:43:58] module in Flask. | |
| [00:44:01] So this request and response provides few different methods. | |
| [00:44:06] For example, if a user is filling a form and in the Flask, we want to acquire the data, | |
| [00:44:14] we use request.form. | |
| [00:44:15] I mean, we get the data from there. | |
| [00:44:20] and we can similarly respond. | |
| [00:44:24] Okay. | |
| [00:44:25] And yes, yes. | |
| [00:44:31] Request is basically what the I mean, whenever the user requests request the API. | |
| [00:44:38] We the API will send the response. | |
| [00:44:46] Okay, okay. And you know about server-side rendering? | |
| [00:44:51] Yes, sir. | |
| [00:44:52] What it is? | |
| [00:44:54] I mean, in Next.js, we have, Next.js provides different rendering techniques like server-side | |
| [00:45:02] rendering and static-side generation. | |
| [00:45:05] And in server-side rendering, all the rendering process will happen at the server-side. | |
| [00:45:10] I mean, whenever the user requests something, any page or something. | |
| [00:45:15] All the fetching of the data will be handled at the backend. | |
| [00:45:22] I mean, fetching of the data and applying JavaScript. | |
| [00:45:26] And it will directly send an applied HTML file directly to the user. | |
| [00:45:33] So the user, whenever the user requests, it will be smooth flow and there is no lag at the client side. | |
| [00:45:45] Okay, and how we use that, how to define that there is a server side or a client side? | |
| [00:45:53] I mean, we use the get server. | |
| [00:45:57] Get server. | |
| [00:46:06] Like I have a page in Next.js, I have created a component. | |
| [00:46:10] You know what is a component? | |
| [00:46:12] Yes. | |
| [00:46:13] What is component? | |
| [00:46:16] I mean, I mean. | |
| [00:46:20] It's basically it's like a reusable code. | |
| [00:46:23] I mean, we can we can. | |
| [00:46:27] break our we can break our website into different components where we can render all the components | |
| [00:46:35] i mean it's a block of code i mean okay so uh i have uh two pages in my next years | |
| [00:46:44] and uh so if i create a new page | |
| [00:46:48] a component in next year. | |
| [00:46:51] So by default, it is server rendered or client rendered? | |
| [00:46:56] By default, I mean, without using any method. | |
| [00:47:00] Yes, yes. | |
| [00:47:03] Since the components in Next.js are server, I think they are server set. | |
| [00:47:12] And if I want to use it in a client, how would I use that? | |
| [00:47:18] I mean, the above we use use client, we need to give use client so that we can use a use | |
| [00:47:26] effect. | |
| [00:47:27] We can once we give use client at the top of our, I mean, the top of our component, | |
| [00:47:34] I mean, at the top of our page, we can use. | |
| [00:47:39] use effect we can use hooks and event handlers | |
| [00:47:45] Okay, so I can't use hooks in server-side pages. | |
| [00:47:54] I mean, we can't use the react books. | |
| [00:47:57] I think next year's has its own. | |
| [00:48:04] Okay. | |
| [00:48:34] Yeah, so that's it, I guess. | |
| [00:48:37] So, yeah, it's nice talking to you, Srikar. | |
| [00:48:40] So, like, I haven't introduced Inderpreet. | |
| [00:48:42] Inderpreet is our tech lead in Wadu A team. | |
| [00:48:45] So, yeah, he is the one who supervises the project. | |
| [00:48:49] So, yeah. | |
| [00:48:52] any other questions you have, anything you want to discuss, you can discuss right now. | |
| [00:48:57] If you want any feedback or any questions you need from Inderpreet, you can check with him. | |
| [00:49:06] Sir? | |
| [00:49:09] Yes. | |
| [00:49:10] I mean, where I need to improve, I mean, I want feedback. | |
| [00:49:17] So I think you need to focus more on the JavaScript basics because everything is built up on that thing. | |
| [00:49:26] So, focus on that. The basics are the important things. | |
| [00:49:32] I mean, JavaScript was completed. I mean, I did long back, sir. So, I was more focused on React and Next.js. So, I was not revised. | |
| [00:49:43] Okay, you keep on revising the things because these are the things that you regularly use in React and Next.js also. | |
| [00:49:53] Yes. | |
| [00:49:57] Anything else? | |
| [00:50:01] I will definitely improve my JavaScript. | |
| [00:50:10] I'm sure. | |
| [00:50:12] Thank you. | |
| [00:50:16] Thank you. | |
| [00:50:18] Thank you, sir. | |
| [00:50:23] Yeah, thank you, Srikar. Thank you, Inderpreet and Anil. Shall I ask another student to join? | |
| [00:50:30] Yes, sir. | |
| [00:50:32] Thank you. | |
| [00:50:32] Yes, we could help. | |
| [00:50:48] Hi, Krishna. Hi, sir. Am I double, sir? | |
| [00:50:52] Yes, yes, you are audible. | |
| [00:50:54] Yes, sir. Thanks. | |
| [00:50:56] Okay, so how are you? | |
| [00:50:58] Fine, sir. | |
| [00:50:59] Okay, so let's start. | |
| [00:51:02] Okay, sir. | |
| [00:51:03] Okay, so give me a brief background of your technical things that you have learned. | |
| [00:51:09] I mean, what I'm doing, but. | |
| [00:51:15] So tell me the technical details, technical things that you have learned so far. | |
| [00:51:20] Yes, my name is Saikrishna. I'm from Hyderabad. I'm currently pursuing my BSc in business learning. | |
| [00:51:27] And so far I learned technical skills like React, frameworks like React, Next.js. | |
| [00:51:34] and backend Python Flask and databases like MongoDB and SQL Alchemy. | |
| [00:51:45] Okay, and what all projects you have built during the learning phase? | |
| [00:51:50] Yes, I built with Next.js blocks application and product application. | |
| [00:52:00] With React, I built Tasty Kitchen. | |
| [00:52:03] It's like Swiggy. | |
| [00:52:05] I mean, it solves the problem of delivery of food. | |
| [00:52:11] Okay, so tell me more about that Tasty Kitchen project that you have built. | |
| [00:52:17] So how you approached it, how you started thinking in terms of front end, back end? | |
| [00:52:23] Yes, Tasty Kitchen. | |
| [00:52:25] Tasty Kitchen, I was developed with React, using React. | |
| [00:52:30] And... | |
| [00:52:30] Firstly, it has a login page. | |
| [00:52:35] In login page, when the user was logged in, based on the user details, the JWT token is | |
| [00:52:41] created with the support of middleware. | |
| [00:52:47] and with the JWT token he was routed to the home page. | |
| [00:52:52] In the home page we have sections like, sir can I screen share it? | |
| [00:52:58] Yes, yes. | |
| [00:53:04] Just a minute, sir. | |
| [00:53:30] Sir, is it visible? | |
| [00:53:32] Yes, it's visible. | |
| [00:53:34] OK, sir. | |
| [00:53:35] And here, this is the login page of my website. | |
| [00:53:39] OK. | |
| [00:53:40] And here I gave username and password. | |
| [00:53:43] And I have a show password icon. | |
| [00:53:45] And if user is not logged in yet, | |
| [00:53:50] he can utilize sign up page and here he can give email password username and this is the back button | |
| [00:54:00] wait a minute so here with the user user details if we click down login | |
| [00:54:09] and the JWT token is created with the JWT token and the protected route is activated. | |
| [00:54:16] And he can, I mean, he can go through the homepage. | |
| [00:54:21] Here the homepage, it will suggest the popular restaurants. | |
| [00:54:26] It will suggest the popular restaurant like Cape Madrasi. | |
| [00:54:30] These are the popular restaurants. | |
| [00:54:32] and I implemented the pagination of every restaurant. | |
| [00:54:37] There are almost 30 restaurants in my website. | |
| [00:54:44] Okay, just a minute. | |
| [00:54:46] So, if the example, these are the, I mean, these are the photos with ratings. | |
| [00:54:54] And we have the sort option like highest to lowest, lowest to highest. | |
| [00:54:58] It will show from lowest to highest. | |
| [00:55:04] Example, Kef Madrasi. | |
| [00:55:07] In this restaurant, we have many dishes. | |
| [00:55:10] You can add it into a cart, like how many quantities you can add it. | |
| [00:55:19] And if we see in the cart page, we have | |
| [00:55:29] payment option also and here also he can decrease or increase the items he can buy when the | |
| [00:55:38] he can add multiple items also like | |
| [00:55:44] Go be. | |
| [00:55:48] and cart is shown and the total amount is also shown. | |
| [00:55:54] When he clicked on the payment function, | |
| [00:55:56] payment successfully, message was displayed. | |
| [00:56:00] and we have return to home page option also. | |
| [00:56:04] Yes. Okay. So for the designing thing in the front end part, what you have used? | |
| [00:56:13] designing thing of printed bar. | |
| [00:56:17] I didn't get it. | |
| [00:56:21] So any library you have used for the design part? | |
| [00:56:24] JavaScript library. | |
| [00:56:27] I mean, React.js. | |
| [00:56:30] for like tailwind or something ah yes sir tailwind i have used tailwind tailwind and a few pages css | |
| [00:56:40] normal css vanilla css okay which page is the normal css in which one are the tailwind ones | |
| [00:56:48] This is the normal CSS. I mean, in the pagination, I have used normal CSS to display the products in this manner for the pagination component. | |
| [00:57:07] And if we and this entire thing was, I mean, this entire homepage was created through Tailwind CSS. | |
| [00:57:17] I mean, with the help of Tailwind CSS. | |
| [00:57:22] Okay. So you know about JavaScript? | |
| [00:57:27] Yes, somewhere else because I long back ago done. | |
| [00:57:34] Okay, what is JavaScript? | |
| [00:57:37] JavaScript is a language which we can use. | |
| [00:57:43] I mean, | |
| [00:57:47] Yes, you are audible. | |
| [00:57:51] Yes, JavaScript is a language where we can, I mean... | |
| [00:57:58] again implement the functions and change the data or update the data using a field. | |
| [00:58:07] It's a dynamic one. Okay, how you define a variable in JavaScript? | |
| [00:58:13] Using let where const. What's the difference between all three? | |
| [00:58:19] Yes, const means when the data was unchangeable. | |
| [00:58:24] I mean, it is fixed and final. | |
| [00:58:27] We use const. | |
| [00:58:28] And when the data is changing, we use let. | |
| [00:58:32] And where the data is in the string, I mean, I don't know what to say. | |
| [00:58:40] Okay. | |
| [00:58:41] Yes, sir. | |
| [00:58:46] What's the difference between React.js and Next.js? | |
| [00:58:49] React.js is a JavaScript library, Next.js is a framework. | |
| [00:58:54] Where React.js is just for UI development and Next.js is to make full stack websites. | |
| [00:59:02] And both are used to make a single page web application. | |
| [00:59:07] And in the React, I mean, the routing of pages is installing the third party packages. | |
| [00:59:15] Whether in Next.js, we cannot use it. | |
| [00:59:21] I mean, we use its page routing. | |
| [00:59:24] I mean... | |
| [00:59:27] In next years, we will create the folder with the name, I mean, home is home, cart means | |
| [00:59:34] cart, with the homepage and having special optimizations like link and image type. | |
| [00:59:43] Okay, okay. What are components in React? | |
| [00:59:48] components in react functional components and arrow components | |
| [00:59:55] What's the difference between both? | |
| [00:59:58] I mean, functional components, both are almost same, sir. | |
| [01:00:02] But I mean, the script, I mean, the syntax was different. | |
| [01:00:08] In arrow components, we use equal to hyphen, greater than symbol. | |
| [01:00:14] to declare a block of code. | |
| [01:00:17] And functional component, it's like a JavaScript component. | |
| [01:00:25] So arrow component is not a JavaScript component. | |
| [01:00:28] Yes, it is also a JavaScript component, but syntax was different. | |
| [01:00:35] What's the arrow function then? | |
| [01:00:39] Arrow function, both are same, but syntax is different. | |
| [01:00:47] Have you heard of class components? | |
| [01:00:50] Class components, yes. | |
| [01:00:52] Dot this as prefix. | |
| [01:00:53] It's a older one. | |
| [01:00:58] So is it a type of component or no? | |
| [01:01:02] It's a on the beginning days of react, we use arrow. | |
| [01:01:06] I mean, on the beginning days, we use class components. | |
| [01:01:15] I mean, it is like a object oriented. | |
| [01:01:17] I mean, it's like a OOPS data structure in Python. | |
| [01:01:21] We use .this as prefix. | |
| [01:01:23] And it is hard to decode the data to the data. | |
| [01:01:30] Okay, what are react hooks? | |
| [01:01:33] React hooks. | |
| [01:01:36] React hooks use effect and use it. | |
| [01:01:41] These are the only two hooks in React. | |
| [01:01:44] Yes, sir. | |
| [01:01:45] Use context. | |
| [01:01:46] So many are there, but I didn't go through it. | |
| [01:01:51] I used only use effect and use state. | |
| [01:01:56] What's the difference between both? | |
| [01:01:58] Use state is to... | |
| [01:02:00] store the data or to update the data or to store the data to update the data we use use state and | |
| [01:02:09] when the side effects are happening in the websites we use you use effect like a api calling and | |
| [01:02:20] yes and set timeouts set timeout methods we use use use effect okay so use effect run only one | |
| [01:02:31] time or it runs multiple time uh it runs only when the i mean when the | |
| [01:02:42] website is run I mean after the run it's a run only one time | |
| [01:02:50] If I refresh a page, will it run again or it won't run? | |
| [01:02:56] it run again okay if i want to if if i want to run it multiple times how can i do that | |
| [01:03:07] i mean in the dependencies in the if the dependency array was empty then the | |
| [01:03:15] use of it is run only one time based on the dependency. | |
| [01:03:21] If I remove the dependency array, what would happen? | |
| [01:03:26] I don't know. I think it runs one time. | |
| [01:03:32] Okay. | |
| [01:03:37] What is JXX? | |
| [01:03:39] JavaScript, JXX stands for JavaScript XML. | |
| [01:03:43] And it is the combination of JavaScript and XML. | |
| [01:03:46] XML is advanced level of HTML. | |
| [01:03:54] Okay. | |
| [01:03:57] So have you used props and react? | |
| [01:04:00] Yes, sir. | |
| [01:04:01] What are props? | |
| [01:04:03] Props are the shortened property to. | |
| [01:04:07] I mean, to share the data from one component to another component, and it is | |
| [01:04:11] unidirectional. | |
| [01:04:15] Okay, what do you mean by unidirectional? | |
| [01:04:18] Unidirectional means in React, only parent can send the data. | |
| [01:04:26] Okay, for example, I have a parent and a child. | |
| [01:04:30] Like I have a page and in that I have a pop-up as a child or a model you call. | |
| [01:04:38] So now if I do something on the model thing, like I select something. | |
| [01:04:44] And I want to send the data back to the parent component. | |
| [01:04:48] How would I do that? | |
| [01:04:50] Using React context. | |
| [01:04:52] Without it, I can't send? | |
| [01:04:56] No, sir. | |
| [01:04:58] I think so. | |
| [01:04:58] Prop drilling method. | |
| [01:05:01] What is prop drilling? | |
| [01:05:03] What is prop drilling means to share the data through the props from the end chain. | |
| [01:05:15] Okay, so can I share the state as a prop from parent to child? | |
| [01:05:22] Yes, sir. | |
| [01:05:25] So can it be used to send data back from child to the parent? | |
| [01:05:31] No, I don't think. | |
| [01:05:35] I think it's not. | |
| [01:05:39] Okay. | |
| [01:05:46] You know about DOM? | |
| [01:05:49] DOM is a document object model. | |
| [01:05:53] So how React works, if you know how it uses DOM? | |
| [01:05:58] Yes. | |
| [01:06:00] Using React, actually, it creates the virtual DOM. | |
| [01:06:05] Okay. | |
| [01:06:05] and it's a lightweight copy of original DOM. | |
| [01:06:08] When, I mean, DOM is like a tree-like, | |
| [01:06:13] DOM stands for Document Object Model. | |
| [01:06:17] It's a tree-like structure, and it will hold the elements in the project. | |
| [01:06:25] And with using of React, React creates the virtual DOM. | |
| [01:06:32] Whenever the changes in like elements like SDM, H1 or paragraph, | |
| [01:06:39] first it will change the virtual DOM. | |
| [01:06:42] And then the virtual DOM is applied to the real DOM. | |
| [01:06:45] It's like a layer. | |
| [01:06:50] Okay. | |
| [01:06:55] Yes. | |
| [01:06:56] So for the filtering that you have shown in the your project, what do you have used for | |
| [01:07:03] filtering the data according to the rating highest and lowest? | |
| [01:07:06] How you have achieved this thing? | |
| [01:07:08] Using filter method. | |
| [01:07:13] Sorry, I didn't get you what you have used using filter methods. | |
| [01:07:17] I mean, I using filter method. | |
| [01:07:20] I mean, we have the data in the back end and with that, like in the ratings, the numbers, then I mean. | |
| [01:07:33] You have done it in the front end or the back end? | |
| [01:07:36] Front end, sir. | |
| [01:07:38] Okay, so you have used the filter method. | |
| [01:07:41] Yes, sir. | |
| [01:07:42] What's the difference between filter and map? | |
| [01:07:45] Yes, filter method will show the particular elements. | |
| [01:07:49] I mean, filter method helps us to... | |
| [01:07:53] show the particular elements where map will show all the elements which are present in the filter. | |
| [01:08:03] Okay, so if I want to show the all elements, I would use the for loop. | |
| [01:08:07] Why would I use map? | |
| [01:08:10] Map is a shorthand function. | |
| [01:08:13] It's just a shorthand function. | |
| [01:08:18] Using for loop, I think code will be complex. | |
| [01:08:23] Okay, you know the difference between null and undefined. | |
| [01:08:29] Yes, undefined means when the variable is not declared. | |
| [01:08:35] I mean, the value is not declared, we get undefined. | |
| [01:08:41] And none means none means if the value is zero, I think it's none. | |
| [01:08:48] There is no element like empty. | |
| [01:08:52] Oh, yes. | |
| [01:08:56] And in React, we have lifecycle methods. | |
| [01:08:59] Can I access that lifecycle methods in functional component? | |
| [01:09:04] Yes, sir. | |
| [01:09:06] Like, how? | |
| [01:09:09] I didn't get it. | |
| [01:09:13] you have implemented a component using functional methods. | |
| [01:09:18] Yes, sir. | |
| [01:09:19] So if I want to access the lifecycle methods, | |
| [01:09:24] like mounting and all these, | |
| [01:09:26] can I access that directly? | |
| [01:09:30] No, sir. | |
| [01:09:33] Okay, and if I want to access what we need to use? | |
| [01:09:39] I don't know. | |
| [01:09:42] Okay. | |
| [01:09:48] Yes. | |
| [01:09:50] Then how for the you have implemented the APIs. | |
| [01:09:54] So what yes, what library you have used for sending request? | |
| [01:10:00] receiving library or the default fetch method | |
| [01:10:05] Yes, I mean, it's a predefined API. | |
| [01:10:08] I'm just fetching it using useEffect hook. | |
| [01:10:12] Okay, you know about Axios. | |
| [01:10:16] Axios. | |
| [01:10:18] Yeah, yes, but | |
| [01:10:23] I heard that name, but I didn't use this. | |
| [01:10:27] Okay, so for example, if I fetch something from using the fetch API, | |
| [01:10:33] how I handle it in my front end part. | |
| [01:10:37] So what it returns, how I use it and | |
| [01:10:43] to fetch the data sir yes using you use effects using use effect in that we | |
| [01:10:51] data is taken from the request in the json format or json and the request is fetched through the url | |
| [01:11:04] through the API and next we are taking it back through the request. | |
| [01:11:14] So for example, if an API you get an error, how would you handle it in the front end part? | |
| [01:11:23] Using try and exception blocks. | |
| [01:11:28] Okay, so it's try and exception or try or catch. | |
| [01:11:33] Try catch exception. | |
| [01:11:37] We can use it anything. | |
| [01:11:40] So in Python, we use try catch or try exception? | |
| [01:11:46] In Python, we use try catch. | |
| [01:11:51] Okay. | |
| [01:11:53] Have you heard of a sink of it? | |
| [01:11:57] Yes, sir. | |
| [01:11:58] Why we use them? | |
| [01:12:00] I think means if I mean, | |
| [01:12:07] in a sync, a sync await, a sync function is to, I mean, when the two tasks are run to the parallel, I mean, | |
| [01:12:18] they should run parallelly, like fetching the data and taking the request. | |
| [01:12:23] And using a sync means first we are taking the data from the request. | |
| [01:12:29] If the task is completed. | |
| [01:12:31] Then we will fetch the data. | |
| [01:12:35] I mean, we will declare it through using prefix as await. | |
| [01:12:41] Okay, what is a promise? | |
| [01:12:46] Promise promise means it is based on the request and it is three types. | |
| [01:12:58] What? | |
| [01:13:01] Sir, what are the three types? | |
| [01:13:03] Wow, what are the three three times means promise? | |
| [01:13:08] I don't I mean, it's the long back. | |
| [01:13:10] I was a | |
| [01:13:13] I didn't get it. | |
| [01:13:16] So you haven't used async await in the current project that you have shown? | |
| [01:13:21] Yes, I used in like fetching the data. | |
| [01:13:29] Okay. | |
| [01:13:31] Yes, sir. | |
| [01:13:43] You heard of use memo. | |
| [01:13:47] I know sir. | |
| [01:13:48] Use callback? | |
| [01:13:49] I didn't use this. | |
| [01:13:50] I know it. | |
| [01:13:51] Okay. | |
| [01:13:52] What is an ORM? | |
| [01:13:53] I don't know. | |
| [01:13:54] I don't know. | |
| [01:13:55] I don't know. | |
| [01:13:56] I don't know. | |
| [01:13:57] I don't know. | |
| [01:13:59] ORM means I don't know what it is. | |
| [01:14:05] Can you give me an example of an ORM that you have used? | |
| [01:14:09] I don't know. | |
| [01:14:13] I don't know. | |
| [01:14:18] I don't know. | |
| [01:14:19] In the app that you have shown me, so what database you have used in the backend? | |
| [01:14:26] Backend, I mean, I use MongoDB and SQL. | |
| [01:14:37] Okay, so how you interact with the SQL and Flask? | |
| [01:14:41] SQL and Flask, like importing from SQL Alchemy. | |
| [01:14:48] and it's like a static static answer we should declare the like we should declare what is sql | |
| [01:14:57] alchemy sql alchemy in flask yes | |
| [01:15:06] SQL Alchemy. | |
| [01:15:11] So why you have used it? | |
| [01:15:12] Was there any specific purpose to use it or? | |
| [01:15:18] Yes, SQL Alchemy is I'm used SQL Alchemy to connect to the SQL like SQL SQL database. | |
| [01:15:30] I mean, it's just a connection between SQL and I mean, database and the request. | |
| [01:15:41] Okay, and what is a primary key and a foreign key? | |
| [01:15:46] Prime, I said. | |
| [01:15:50] I didn't get primary key and foreign key in database. | |
| [01:15:56] Primary key is a unique key. | |
| [01:16:00] I mean, it's a unique one and the second one I don't know. | |
| [01:16:05] Okay, and for authentication, what you have used in the backend, like for login and register? | |
| [01:16:12] For this website, sir? | |
| [01:16:13] Yes. | |
| [01:16:16] For this website, I used | |
| [01:16:20] It's a predefined API, sir. | |
| [01:16:24] I'm just fetching it and I'm just seeing the user is there or not. | |
| [01:16:31] So you haven't developed the backend for it? | |
| [01:16:34] Yes, I have another project. | |
| [01:16:39] Can I show it? | |
| [01:16:41] Yes. | |
| [01:16:56] Just a minute. | |
| [01:17:49] Sir, is it visible? | |
| [01:17:52] Yes, it's visible. | |
| [01:17:54] So, it's just, I mean... | |
| [01:18:01] It's on process. | |
| [01:18:03] It's not completely done. | |
| [01:18:06] Okay. | |
| [01:18:08] It's on process because I have issues on backend. | |
| [01:18:13] Okay, no issues in that. So in the project, Tasty Kitchen, you have mentioned that you have implemented authentication and authorization using JWT. | |
| [01:18:23] Ah, yes, using JWT token. | |
| [01:18:26] So in the front end or back end? | |
| [01:18:30] in the front end zone. | |
| [01:18:32] Okay, so how you have done it? | |
| [01:18:37] I mean, using cookies. | |
| [01:18:43] So you get a token from the backend and you store it in the. | |
| [01:18:48] Yes, based on the user details, I have a street and a JWT token is created and I have stored in cookies. | |
| [01:18:59] So pretty okay. | |
| [01:19:01] So you have created the backend for this project that you have showing. | |
| [01:19:06] Yes, sir. | |
| [01:19:08] So you have created, you must have created a user table for this. | |
| [01:19:14] Yes. | |
| [01:19:15] So what all columns you have created in that table? | |
| [01:19:20] username and password. | |
| [01:19:23] These two columns. | |
| [01:19:25] And how are you saving the password? | |
| [01:19:28] Sir, the password, how are you saving in the database? | |
| [01:19:36] I mean, in this, I use the MongoDB. | |
| [01:19:43] So you are talking about that. | |
| [01:19:46] So have you hashed it or you have stored it directly? | |
| [01:19:50] I have hashed it, sir. | |
| [01:19:52] So why we use hashing? | |
| [01:19:55] Hashing, we use hashing to protect the password. | |
| [01:20:01] to protect the password from you. | |
| [01:20:06] If anybody to protect their passwords. | |
| [01:20:10] Okay, and in Flask, how you create an endpoint, | |
| [01:20:13] API endpoint? | |
| [01:20:16] I don't get it, I didn't get it. | |
| [01:20:20] For example, I want to create a login API in Flask. | |
| [01:20:25] Okay, sir. | |
| [01:20:26] How can I create it? | |
| [01:20:29] Okay, app route. | |
| [01:20:30] I mean, in the syntax, we use app route slash login. | |
| [01:20:36] Okay. | |
| [01:20:37] slash login and in that we are getting the data as request in the JSON format. | |
| [01:20:45] When the API is seated and then the user details are came through the data request | |
| [01:20:53] and based on the data request the password is hashed and | |
| [01:20:58] It is sent to the MongoDB to store somewhere, to store a particular database, which we created. | |
| [01:21:10] Okay. | |
| [01:21:15] And when in the login table, when we click on the login, it will find the person is existed or not. | |
| [01:21:24] So how will you find that a person exists or not in a table? | |
| [01:21:30] Using .find1 based on the username, email. | |
| [01:21:40] Okay, and if I want to find everyone in the user table, how can I do that? | |
| [01:21:48] Everyone in the user table. | |
| [01:21:52] He is a dot. | |
| [01:21:54] I didn't get it. | |
| [01:21:58] For example, I have 10 users stored in the user table. | |
| [01:22:02] Okay, sir. | |
| [01:22:03] I want to fetch them all. | |
| [01:22:05] Okay. | |
| [01:22:06] Using get request. | |
| [01:22:10] what we use in the get request the get request we use | |
| [01:22:20] What will be the query that based on what criteria? | |
| [01:22:28] We use a dot find means we get all the users list. | |
| [01:22:34] Okay. | |
| [01:22:39] What is server side rendering? | |
| [01:22:42] Server side rendering means everything is happened in the server side, like fetching the data, like fetching the data and timers. | |
| [01:22:56] All the things are happening in the server side on the built-in. | |
| [01:23:01] Okay, for example, in Next.js, I created a page, a component. | |
| [01:23:06] Yes, sir. | |
| [01:23:07] By default, it's a server rendered or client rendered? | |
| [01:23:11] Server side rendering. | |
| [01:23:13] So if I want to make it client rendering, how can I do that? | |
| [01:23:17] We use client on the top of our code. | |
| [01:23:23] Okay. | |
| [01:23:25] And the code is changed to the client. | |
| [01:23:33] Okay, so for example, I have a server rendered component and I am using use state hook in that. | |
| [01:23:42] So will it work? | |
| [01:23:44] No, sir. | |
| [01:23:45] Why? | |
| [01:23:47] Because in server side rendering, you can't use it. | |
| [01:23:53] and we can't use it because of no user interaction. | |
| [01:24:04] Okay, if I don't use use effect and create a server rendered object and I have just formed a user form just like you have shown here. | |
| [01:24:15] Suppose this is a user. | |
| [01:24:17] This is not a client rendered. | |
| [01:24:18] This is server rendered. | |
| [01:24:20] Okay, sir. | |
| [01:24:21] So won't it work like just have. | |
| [01:24:23] no hooks so user interact can user interact with it yes he will interact with it | |
| [01:24:33] so you just told that user interaction is not there in the server render components | |
| [01:24:39] i mean like on submit button those are functions | |
| [01:24:47] like external function. | |
| [01:24:50] Okay. | |
| [01:24:51] Yes. | |
| [01:25:00] What is flask that you have used as a backend? | |
| [01:25:03] So what is flask basically? | |
| [01:25:06] Basically, Python flask is a micro framework. | |
| [01:25:12] It is used to make small projects. | |
| [01:25:18] It is used to small projects and the single page web application. | |
| [01:25:25] Why it's a micro? | |
| [01:25:27] Because of having less packages. | |
| [01:25:33] Okay. | |
| [01:25:35] Yes. | |
| [01:25:43] How you set up a basic flask application? | |
| [01:25:47] Yes, sir. | |
| [01:25:50] First, firstly, I'm setting up in the virtual environment. | |
| [01:25:55] And then I created and I will activate it. | |
| [01:25:58] And then I created app.py, which we will write the project. | |
| [01:26:03] And then. | |
| [01:26:04] we will import we will install the flask flask dependencies and i mean flask module and then | |
| [01:26:13] from that we are creating app instance and then we are finally debugging run equal to two | |
| [01:26:24] Okay, and if I want to use some environment variables in flask. | |
| [01:26:30] Yes, sir. | |
| [01:26:31] How can I do that? | |
| [01:26:34] Creating the page dot envs dot env. | |
| [01:26:41] What are environment variables? | |
| [01:26:43] Environment variables means it will protect the data from other dependencies. | |
| [01:26:56] Mm. | |
| [01:26:56] No. | |
| [01:27:01] Okay. And just like the project that you are showing here, so have you implemented the validations on the form? | |
| [01:27:11] Validations. Validations. Yes, sir. | |
| [01:27:16] What validations have you done if I, for example, this remove the example.com and just log in? | |
| [01:27:23] So will the user be able to log in or not? | |
| [01:27:27] Yes, sir. | |
| [01:27:28] I didn't. | |
| [01:27:31] You logged in. | |
| [01:27:35] So should it happen? | |
| [01:27:38] I didn't put any validations. | |
| [01:27:43] How can you put validations? | |
| [01:27:45] How can you check for that? | |
| [01:27:47] I mean, in the back end where the suffix should be gmail.com or | |
| [01:27:57] We are telling the developer is telling them in this in this data. | |
| [01:28:07] suffix should be like this. | |
| [01:28:11] Okay, so it's front end. | |
| [01:28:17] It is done on the back end. | |
| [01:28:20] I mean, the thing is done on the back end. | |
| [01:28:25] Okay. | |
| [01:28:28] Yes, and... | |
| [01:28:38] So you know about what is lifting the state in react. | |
| [01:28:47] state state lifting i didn't | |
| [01:28:53] You know what is the state in react? | |
| [01:28:55] Yes, state is to just. | |
| [01:28:59] Just over the data. | |
| [01:29:01] to update the data. | |
| [01:29:05] Okay, what does it mean by lifting state up? | |
| [01:29:09] I don't know. | |
| [01:29:12] Okay, so for example, there are two child components and both use the same state. | |
| [01:29:20] So where the state should be placed? | |
| [01:29:26] states replaced | |
| [01:29:28] I don't know | |
| [01:29:32] If you have to create an application where two components are there, child components. | |
| [01:29:39] Yes, sir. | |
| [01:29:40] So where you will put the state both use both need to use the same state. | |
| [01:29:46] We use a react context. | |
| [01:29:49] So for react context also you need to store the data somewhere. | |
| [01:29:52] No. | |
| [01:29:53] Yes, sir. | |
| [01:29:54] Where would you store it? | |
| [01:30:00] I don't know. | |
| [01:30:03] How you create a context? | |
| [01:30:08] It's a... | |
| [01:30:13] I mean, I'm not focused on that. | |
| [01:30:18] What is context? | |
| [01:30:21] Context is to store the data and it will we should make a utilize to. | |
| [01:30:28] I mean, we are allowing to utilize to all the components. | |
| [01:30:34] Have you used it any of the projects? | |
| [01:30:38] Not yet, sir. | |
| [01:30:41] Okay. | |
| [01:30:43] Any state management library you have used? | |
| [01:30:48] State management library. | |
| [01:30:53] No, sir. | |
| [01:30:59] Okay, you know what are fragments in react? | |
| [01:31:03] Yes, a fragment is like a like a component and it's like a container. | |
| [01:31:09] It will wrap the all the elements. | |
| [01:31:12] What is the difference between fragment and div then? | |
| [01:31:16] Fragment and div. | |
| [01:31:17] Why we use fragment if there is div? | |
| [01:31:21] Yes, a fragment is bit faster than two. | |
| [01:31:24] I mean, loading time. | |
| [01:31:26] Because it's next year's component. | |
| [01:31:32] I mean, it's next year's segment. | |
| [01:31:35] We are importing the fragment. | |
| [01:31:39] Hmm. | |
| [01:31:45] Yes. | |
| [01:31:49] Okay. | |
| [01:32:00] If you want to show some error or something on front end part, how will you show that error? | |
| [01:32:10] I don't know. | |
| [01:32:10] I'm showing the error. | |
| [01:32:11] Yeah. | |
| [01:32:12] Yeah. | |
| [01:32:13] Yes. | |
| [01:32:13] Using prior try catch using try catch. | |
| [01:32:17] We will show that. | |
| [01:32:22] Okay. | |
| [01:32:23] Yes, using try catch method. | |
| [01:32:25] If the user is unauthorized, then we will store the message in the used state and we will display the error message paragraph. | |
| [01:32:39] Okay, so you have used routing in Next.js. | |
| [01:32:43] routing yes sir how you create a dynamic route in next year's dynamic route | |
| [01:32:55] Dynamic route in access. | |
| [01:33:02] Yes, sir. | |
| [01:33:03] In empty area. | |
| [01:33:06] Yes, sir. | |
| [01:33:08] In entire is, I mean, we will create the file. | |
| [01:33:13] And we will give a name and having prefix in three dots. | |
| [01:33:18] Then the dynamic routes is created. | |
| [01:33:22] in the square places. | |
| [01:33:26] Okay, and if you want to get that particular route that you have created, for example, in the like you have a block page, it's ID must be like block slash one, two, three, four, five, six. | |
| [01:33:40] And if you want to get that in the component, how would you do that? | |
| [01:33:44] Yes, first on that. | |
| [01:33:47] First on the component, I will give onClick function, where if the user clicked on the function, and then in the front end part, it will route to the particular page. | |
| [01:34:04] If I want to fetch that particular route value. | |
| [01:34:08] Yes, sir. | |
| [01:34:09] How can I do that? | |
| [01:34:11] Particular route value. | |
| [01:34:13] Like, for example, you have given like stick the block page. | |
| [01:34:18] You click on the block you have shown here and if opens a new page. | |
| [01:34:23] Yes, sir. | |
| [01:34:23] Like that. | |
| [01:34:24] there must be some URL of it. | |
| [01:34:26] Yes, sir. | |
| [01:34:28] So if I want to fetch that number of the block in that particular component, can I do that? | |
| [01:34:35] Yes, sir. | |
| [01:34:37] How? | |
| [01:34:39] Number of the block. | |
| [01:34:41] I didn't get it, sir. | |
| [01:34:44] So if you have created a dynamic route. | |
| [01:34:48] Yes, sir. | |
| [01:34:49] So the value of the there will be a value variable value dynamic value. | |
| [01:34:55] Yes, sir. | |
| [01:34:56] How you can get it in a page. | |
| [01:35:00] I mean, just I'm finding the page like slash one based on the IDs. | |
| [01:35:09] Okay. | |
| [01:35:10] So you have created API route in Next.js. | |
| [01:35:15] API route in Next.js. | |
| [01:35:19] Have you created APIs in Next.js? | |
| [01:35:21] Yes, sir. | |
| [01:35:22] API authentication. | |
| [01:35:23] How? | |
| [01:35:25] I created a folder named API. | |
| [01:35:31] I have created a folder in API and I have created authentication. | |
| [01:35:38] What is the file name that we must give an API to work as a route? | |
| [01:35:46] Work as a route. | |
| [01:35:48] Route.js. | |
| [01:35:52] And if I want to give a file name for a component to render. | |
| [01:36:00] What it would be? | |
| [01:36:02] File name to component. | |
| [01:36:06] Like you are this must be a component, not the blog. | |
| [01:36:11] So what is the file name that we create for it? | |
| [01:36:15] I mean, we created a folder named blocks and that we have from that route. | |
| [01:36:22] When the user click on the something post and the data is sent to the route and the route will find the particular page. | |
| [01:36:35] And then we will get this URL like a block slash. | |
| [01:36:42] So if I have created a file page dot JS. | |
| [01:36:49] Yes, sir. | |
| [01:36:50] What it will be the purpose of this? | |
| [01:36:52] In page dot JS, it's a common thing. | |
| [01:36:55] I mean, it is routed easily. | |
| [01:37:01] Can I change the file name? | |
| [01:37:04] Yes, but it will not render. | |
| [01:37:07] I mean, it is not routed. | |
| [01:37:10] Okay. And if I want to use any particular CSS that should be available in the whole Next.js application, where should I declare that? | |
| [01:37:23] In global CSS. | |
| [01:37:25] And for a particular page? | |
| [01:37:27] For a particular page, we will give the name .css. | |
| [01:37:33] And what is the use of layout.js? | |
| [01:37:36] Layout.js is it's a main file. | |
| [01:37:40] It's a main file. | |
| [01:37:41] It will hold all the project project folders. | |
| [01:37:48] I mean, it will also can I create a layout file for each route? | |
| [01:37:54] Yes, we will create a folder and we will create a layout page and then the layout page will | |
| [01:38:00] page will access the main file of the other descending files. | |
| [01:38:08] what we describe in the layout file. | |
| [01:38:12] layout.js okay in layout file we get we will have body and html tag | |
| [01:38:22] and imported global CSS. | |
| [01:38:25] Yes. And have children. I have children. I mean, in | |
| [01:38:32] Carly places we have children. Yes. Okay. | |
| [01:38:40] Yes, you have used Git. | |
| [01:38:43] Yes, GitHub. I mean, yes. For what purpose you have used GitHub? | |
| [01:38:52] GitHub to storing our, I mean, to store the code in the cloud. | |
| [01:39:02] Okay. Can you name some commands of GitHub popular commands the commonly use? | |
| [01:39:10] Git init means git initials. Git initials, I mean, git init, we give the link of repository to create, to initialize it. | |
| [01:39:23] and we will use git commit to commit the code into the repository. | |
| [01:39:37] We will use git commit message to tell why we are changing this. | |
| [01:39:45] I mean, to tell why we are updating this. | |
| [01:39:51] Okay. | |
| [01:39:52] Yes. | |
| [01:40:01] Hi Krishna, so yeah, it was good nice to interact with you. So Inderpreet is our tech lead in | |
| [01:40:10] Wadu A team. So he handles all the major projects. So if you have anything you would want to discuss | |
| [01:40:16] or any questions you would want to ask, you can ask now. Yes. | |
| [01:40:22] Sir, am I improving? | |
| [01:40:27] Yes, you need to just focus on the basic things. | |
| [01:40:32] What's the purpose of different things that you use on the regular purpose? | |
| [01:40:38] Okay. | |
| [01:40:38] So that would be very helpful and keep on reading what all, why things are used the way they are. | |
| [01:40:46] Yes, I may need to into in back and also. | |
| [01:40:51] Yeah, you need to just implement few projects regarding that class. | |
| [01:40:56] So you can know that how things really work. | |
| [01:41:01] Our APIs are created, our authentication works. | |
| [01:41:04] Yes. | |
| [01:41:06] That's all. Anything else? | |
| [01:41:10] Yes, sir. Okay. | |
| [01:41:15] Okay. | |
| [01:41:16] Okay. | |
| [01:41:21] Yeah, thank you, Krishna. You can leave the meet. | |
| [01:41:37] Yeah, hi, Ranjit. Your voice is pretty low. | |
| [01:41:40] Am I audible now? | |
| [01:41:41] Yeah. | |
| [01:41:43] Yes, I mean, do you have any feedback for these candidates since it's the final interview? | |
| [01:41:50] Yeah, so I think Inderpreet has already shared the feedback. | |
| [01:41:53] So, yeah, some basics, JavaScript basics, they are a little low on | |
| [01:41:59] because probably because, like, they have, like, had that long time ago. | |
| [01:42:05] So, yeah, and apart from that, like, from my whatever I have seen, | |
| [01:42:10] like, they do have some... | |
| [01:42:11] a good bookish knowledge but practical knowledge more is needed i guess okay so like we have trained | |
| [01:42:19] them up to a certain level right um when you interacted with the students did you get the | |
| [01:42:24] confidence that these are the students who you will be able to train further and take uh under | |
| [01:42:31] you know a wadu | |
| [01:42:34] Yeah, so like what is the process next? | |
| [01:42:39] So like are they going to graduate right now or it would be some internship period? | |
| [01:42:44] So yeah, just wanted to take care of that. | |
| [01:42:47] No, so they've been trained, right? | |
| [01:42:49] What happens over here is let's say you like them, you can hire them immediately. | |
| [01:42:52] They'll relocate to your office location and they'll work with you like any of your full-time employees for one whole year. | |
| [01:42:59] So Monday to Friday or Monday to Saturday, morning to evening, they'll be working with you. | |
| [01:43:03] During the time period as well, we will be having bi-weekly sync-ups and let's say that | |
| [01:43:10] you are facing any issues or if you have any grievance, it will be addressed immediately. | |
| [01:43:15] So let's say that the students have joined and after one month you are expecting to learn | |
| [01:43:20] some, teach them some other technologies, you can let us know and we will like, parallelly | |
| [01:43:25] we will train them in whatever technologies you require as well. | |
| [01:43:29] So this is not like just one year internship period. | |
| [01:43:33] We want them to contribute to Vadu. | |
| [01:43:36] And meanwhile, we'll provide any support that is needed from our end. | |
| [01:43:41] Got it. | |
| [01:43:42] Yeah, definitely. | |
| [01:43:43] Like, yeah, they do have the basic skills. | |
| [01:43:46] And I think like, yeah, they should be able to. | |
| [01:43:48] like pick up the remaining things on the job i mean uh yeah we will share the feedback like | |
| [01:43:55] whom we would be interested in and all in the document or like i'll share it over the whatsapp | |
| [01:44:01] yeah yeah you can just let me know like who you would like to proceed | |
| [01:44:05] just taking confirmation there are two positions right | |
| [01:44:10] Yeah, but like we have asked for two, but we'll see like based on whether we are looking at, I mean, whether they have the skill or not. | |
| [01:44:23] Right. So we'll see whether we will be taking two or like, yeah, we'll be only taking one or what will happen. | |
| [01:44:29] Yeah. | |
| [01:44:29] Yeah, so like if there are two positions open, not only these candidates, we have other candidates trained in React and the Gen A as well. | |
| [01:44:38] We'll be able to train them in Flask and Git to you. | |
| [01:44:41] You can let me know if there are two openings. | |
| [01:44:44] Yeah. | |
| [01:44:45] Sure, sure. | |
| [01:44:46] But if the requirement itself is one, we understand. | |
| [01:44:48] Yeah, so like we do have two openings, but again, like as I mentioned, right, based on the skill level, we will be like able to take whether, yeah, how many we would want to take. | |
| [01:45:00] Yeah, definitely, definitely. | |
| [01:45:01] Thanks. | |
| [01:45:02] Thanks for your time and thanks for joining. | |
| [01:45:04] I'll get in touch with you maybe on Monday for the results. | |
| [01:45:08] Sure, sure. | |
| [01:45:09] Yeah. | |
| [01:45:09] Thanks. | |
| [01:45:10] Thanks, Inderpreet. | |
| [01:45:11] Thank you. | |
| [01:45:12] Thanks. | |
| [01:45:21] Yeah, so we can leave, I guess. | |
| [01:45:22] We'll discuss over WhatsApp. | |
| [01:45:24] Okay. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment