React JS interview 2023 Live Coding Round (Mock)

Поделиться
HTML-код
  • Опубликовано: 22 авг 2024
  • Never faced React JS live coding round? You can experience React JS Interview Live coding round where a candidate is asked to build a UI component. #reactjs #javascript #interview #mockinterview
    🤯 Crash Courses (Single Video)
    Git/Github Crash Course : bit.ly/3JSA5VT
    TypeScript Crash Course : bit.ly/372dZSh
    Angular Crash Course : bit.ly/3DoGJR1
    Vue JS Crash Course : bit.ly/3uDujRl
    Python Crash Course : bit.ly/3Dod7U2
    React Router Crash Course : bit.ly/36YfO2i
    🧑‍🏫 Full Course Playlists
    HTML : bit.ly/36IMq0h
    CSS : bit.ly/3LpRQw6
    JavaScript : bit.ly/3u049tf
    BootStrap : bit.ly/3NA9nDJ
    ES 6 : bit.ly/3DvYCh6
    DOM Playlist : bit.ly/35nMKB7
    ReactJS (Redux & Hooks) : bit.ly/3iMethN
    React with TypeScript : bit.ly/3fQjXtF
    React Hooks: bit.ly/3Vmh7wV
    Redux: bit.ly/3yAIIkl
    NodeJS/ExpressJS : bit.ly/35nN6Yt
    MongoDB / Mongoose : bit.ly/3qPj0EO
    💻 Projects Playlists
    MERN Stack Complete Ecommerce : bit.ly/3ymSs0E
    Web Design HTML+CSS - Home Page : bit.ly/35nZiIB
    Web Design BootStrap - E-Commerce Site : bit.ly/3iPhaz7
    React/Redux/Firebase - Todo-App : bit.ly/3DnekL8
    🕹 Mini Projects (Single Video)
    React - Tic Tac Toe (Redux / Hooks) : bit.ly/3uzLEuy
    React - Game of Flag Quiz (Hooks) : bit.ly/3LpTC0e
    React - Google Translate Clone (Hooks) : bit.ly/3Lo9xvZ
    React - Chat App using Firebase (Hooks) : bit.ly/3wLgymj
    Visit our site: coderdost.com
    🔴 Full Courses List : coderdost.com/...
    🔴 Full Projects List : coderdost.com/...
    💾 Source Codes at : github.com/cod...

Комментарии • 134

  • @prakashbanjade4374
    @prakashbanjade4374 Год назад +103

    The simple approach is that you can create another component for your list-item and in that component declare the isChecked state.

    • @aniket-in
      @aniket-in Год назад +12

      Exactly, that way the logic is separeted, and I think's that's one of the main reason of using React.

    • @bishwajeetpandey1570
      @bishwajeetpandey1570 Год назад +4

      @@aniket-in can you please share the code on this logic

    • @anshulvairagade1604
      @anshulvairagade1604 Год назад +25

      @@bishwajeetpandey1570 import { useState } from "react";
      import List from './List'
      const App = ()=>{
      const arr = ['play games', 'read book', 'play chess']
      const [arr1, setArr1] = useState(arr)
      const handleDelete = (idx)=>{
      setArr1(arr1.filter((item, i)=> i!==idx))
      }
      return (

      {
      arr1.map((item, idx)=>(
      handleDelete(idx)} item={item}/>
      ))
      }

      )
      }
      export default App;
      import { useState } from "react";
      const List = ({onDelete, item})=>{
      const [checked, isChecked] = useState(false)
      return (

      < input type="checkbox"
      checked={checked}
      onChange={(e)=>isChecked(e.target.checked)}

      />
      {item}
      {
      checked && X
      }

      )
      }
      export default List;

    • @bishwajeetpandey1570
      @bishwajeetpandey1570 Год назад +1

      @@anshulvairagade1604 every thing is seems readable and fine but why u passed item prop from App component to list component

    • @anshulvairagade1604
      @anshulvairagade1604 Год назад +2

      @@bishwajeetpandey1570 item means the element of our array, and that arrar is present in App component, and we are using that particular element and printing it using another list component.
      To add more logic into it i.e adding check box etc
      I hope this helps

  • @bishwajeetpandey1570
    @bishwajeetpandey1570 Год назад +19

    This is my solution of this problem
    import { useState } from "react";
    const arr=["Apple", "Orange", "Banana"]
    export default function App() {
    const [fruitsArr, setFruitsArr] = useState([...arr]);
    const [chkBoxStates, setChkBoxStates] = useState(arr.map(()=>false));
    const deleteClickHandler = (index) => {
    alert(index);
    const filteredArr = [];
    for (let i = 0; i < fruitsArr.length; i++) {
    if (i !== index) filteredArr.push(fruitsArr[i]);
    }
    setFruitsArr(filteredArr);
    };
    const handleCheck = (isChecked, index) => {
    setChkBoxStates((prevArray) => {
    const newArray = [...prevArray]; // create a new array based on the previous state array
    newArray[index] = isChecked; // modify the element at the specified index
    return newArray; // return the new array as the updated state value
    });
    };
    return (

    {console.log("render")}
    Hello Codeandbox
    Start editing to see some magic happen!
    {fruitsArr.map((element, index) => {
    return (

    handleCheck(e.target.checked, index)}
    >{" "}
      
    {element}         
    {chkBoxStates[index] && (
    deleteClickHandler(index)}>Delete
    )}

    );
    })}

    );
    }

    • @webber5629
      @webber5629 Год назад

      But the problem is when i click the checkbox for first item then it's delete button shows and after deleting that item the checkbox for second item is automatically checked and so on.

  • @pankajpundir6256
    @pankajpundir6256 Год назад +16

    To implement this task first you will have to add ischeck key inside the copyarr through map and then pass index and target value through handlechnage function .arr[index] ={..arr[index], ischeck=!arr[index].ischeck
    !ischeck} and then you make a condition inside the jsx that ischeck==true && Delete

  • @anshulbhorde7712
    @anshulbhorde7712 Год назад +23

    export default function App() {
    const [data, setData] = useState(["A", "B", "C"]);
    return data.map((label, i) => (
    setData(data.filter((name) => label !== name))}
    key={label}
    label={label}
    />
    ));
    }
    function Root({ label, onDelete }) {
    const [checked, setChecked] = useState(false);
    return (

    setChecked(e.target.checked)}
    type="checkbox"
    />
    {label}
    {checked && delete}

    );
    }

  • @sui16chillax75
    @sui16chillax75 Год назад +8

    ***child component***
    import React, { useState } from 'react'
    export const HobbyList = (props) => {
    const [checkBox, setCheckBox] = useState(false)
    const handleCheckBox = ()=> {

    // console.log(!checkBox);
    setCheckBox(!checkBox)
    }
    return (
    {props.hobby}
    {checkBox ? props.handleDelete(props.hobby)}>delete : null}

    )
    }
    **parent component**
    //neglect the commented code , this is my create app for solving the interview questions
    import { useState } from 'react';
    import './App.css';
    // import { CountriesDropdown } from './CountriesDropdown';
    import { HobbyList } from './HobbyList';
    // import { InputDisplay } from './inputDisplay';
    // import Register from './Register';
    function App() {
    const hobbies =["playing", "singing","kapring" ]
    const [hobbiess, setHobbies] = useState(hobbies)
    // you only have to show the delete button when checkbox is checked
    const handleDelete =(hobbo) => {
    const hob = hobbiess.filter(hobby => hobby!== hobbo)
    setHobbies(hob )
    }
    // console.log(countries);
    return (

    {hobbiess.map(hobby=>)}
    {/* */}
    {/* */}
    {/* */}

    );
    }
    export default App;

  • @lipinkariappa3550
    @lipinkariappa3550 Год назад +3

    i haven't learnt react yet, but ig a simple vanilla js script for deleting part would be this:
    const buttons = document.querySelectorAll('li button')
    buttons.forEach((button)=>{
    button.addEventListener('click',(event)=>{
    event.target.parentNode.remove()
    })
    })

  • @vinothkumarv9722
    @vinothkumarv9722 Год назад +13

    Well he is tried nicely very good :)

  • @pranshukumar6707
    @pranshukumar6707 26 дней назад

    For checkboxes we can create an state which will be an array of all the selected boxex item index... This array will be manipulated upon clicking on the checkbox.. Checkbox unchecks and checks itself.. No need to keep a checkbox status in this case.. Now upon clicking a checkbox pass the index of item.. Now check whether the checkbox array state contains that index or not (by using arr.includes (index)).. If yes.. Then splice that index.. If no then push the index in that array.. This way we will always have an array of items index for which checkbox is selected.. Based on that we can do conditional rendering of delete button..

  • @pratiksavaliya3890
    @pratiksavaliya3890 Год назад +9

    create child component for each item and manage check state inside that component for each individual list item.

  • @rizkydjanuar2809
    @rizkydjanuar2809 Год назад +3

    Easy to solve, u can create a component that return a state(it`s called children as a function or if u familiar with callback is same method). Then u can use it after mapping so u create a seperate state and then u can use it to handle show delete button

    • @rizkydjanuar2809
      @rizkydjanuar2809 Год назад

      import React, { useState } from "react";
      const hobbies = [
      {
      id: 1,
      nama: "Main gitar",
      },
      {
      id: 2,
      nama: "Nonton",
      },
      {
      id: 3,
      nama: "Main Game",
      },
      ];
      type CheckboxProps = {
      checked: boolean;
      setChecked: React.Dispatch;
      };
      type WrapperCheckboxProps = {
      children: (props: CheckboxProps) => React.ReactNode;
      };
      const WrapperCheckbox: React.FC = ({ children }) => {
      const [checked, setChecked] = useState(false);
      return {children({ checked, setChecked })};
      };
      function App() {
      const [newArr, setNewArr] = useState(hobbies);
      const handleDelete = (id: number) => () => {
      const newFilteredArr = newArr.filter((val) => val.id !== id);
      setNewArr(newFilteredArr);
      };
      return (

      Hobbies
      {newArr.map((el) => (

      {({ checked, setChecked }) => (

      {el.nama}
      setChecked(e.target.checked)}
      />
      {checked && Delete}

      )}

      ))}

      );
      }
      export default App;
      my solution

    • @amitsahgal2000
      @amitsahgal2000 Год назад +1

      @@rizkydjanuar2809 u made it 100 times complex

  • @shayanalijalbani9894
    @shayanalijalbani9894 Год назад +5

    You can create a one sate like:
    const [checkedInputs, setCheckedInputs] = useState([]);
    And then add the current index + checkedInputs to checkedInputs state like
    setCheckedInputs([... checkedInputs, index])

  • @proeditz108
    @proeditz108 9 месяцев назад +1

    He can create an another component for every list item and pass the props for every single list item.
    Thanks.... 😂😂❤❤

  • @galax5130
    @galax5130 Год назад +1

    check could be a object or object of arr assign to check state when bool and index were saved and then access the obj according to it.

  • @subhajit3316
    @subhajit3316 Год назад +1

    He has lifted the state up i.e state controlled by parent that why when he click another checkbox check become false and button disappeard
    The solution is that he has to create diff state for diff children

  • @chillpill610
    @chillpill610 Год назад +2

    pl. continue this series , upload videos weekly , help many aspirants

  • @freentechcoder9120
    @freentechcoder9120 7 месяцев назад

    Lets Try to Correct His Logic import { useState, useEffect } from "react";
    import "./styles.css";
    const test = ["1", "2", "3"];
    export default function App() {
    const [arrcopy, setArrCopy] = useState(test);
    const [checkboxArr, setCheckBoxArr] = useState(
    Array(test.length).fill(false)
    );
    const HandleChecbox = (isChecked, Iteam) => {
    setCheckBoxArr((prevCheckboxArr) => {
    const newArr = [...prevCheckboxArr];
    newArr[Iteam] = isChecked;
    return newArr;
    });
    console.log(checkboxArr);
    };
    const handleDlete = (ItemIndex) => {
    let newArr = arrcopy;
    let filterarray = newArr.filter((item, index) => {
    return index !== ItemIndex;
    });
    setArrCopy(filterarray);
    };
    return (

    Hello CodeSandbox
    Start editing to see some magic happen!

    {arrcopy.map((item, index) => {
    return (

    HandleChecbox(e.target.checked, index)}
    />
    {item}
    {checkboxArr[index] && (
    handleDlete(index)}>DeleteButton
    )}

    );
    })}


    );
    }

  • @bardenishi4312
    @bardenishi4312 Год назад +2

    Amazing..... what the helpful video you are making!

  • @WeakCoder
    @WeakCoder Год назад +7

    Sir, should we expect these kind of questions for a 2 yrs exp IT person ? Or much harder than this ?

    • @coderdost
      @coderdost  Год назад +5

      if someone is taking a live interview you can expect a similar level. But otherwise a little more harder will be there. Live meaning someone checking while you are coding... but sometime they just given questions and expect you to submit in 2 hours etc. Then it will be much harder.

    • @kt3030
      @kt3030 7 месяцев назад

      These questions can asked for fresher ?​@@coderdost

  • @Kakashi-ek1ju
    @Kakashi-ek1ju 11 месяцев назад +4

    How much salary a guy can expect from this level of interview

  • @shivmooratyadav5732
    @shivmooratyadav5732 3 месяца назад

    @Hitesh Choudhary , best teacher 🎉🎉 thank you sir.

  • @anirbandas12
    @anirbandas12 3 месяца назад

    delete an elem from arr .. let's use filter .. yeah .. if an item is at the last position we need to iterate the whole array and filter ... hmm.. very efficient

  • @abnow1998
    @abnow1998 10 месяцев назад

    I would have used useReducer Hook to handle checkbox value for that particular input and trigger delete if selected. Simple!!

  • @mitulbhadeshiya480
    @mitulbhadeshiya480 Год назад +1

    Thanks for such a good tutorial

  • @bishwajeetpandey1570
    @bishwajeetpandey1570 Год назад +1

    Wow upload more videos on interview coding round.

  • @purusharma8192
    @purusharma8192 Год назад +2

    Sir your videos are very useful and you also remains cool and calm

  • @jayanth9445
    @jayanth9445 Год назад

    function ListItem(props) {
    const [btn, setBtn] = useState(false);
    const [t, setT] = useState(true);
    function handlePress(event) {
    // console.log(event.target.value);
    setBtn(!btn);
    }
    function handleClick(event){
    setT(false);
    }
    return (

    {props.name}
    delete

    );
    }

  • @user-pj9ny2vt2l
    @user-pj9ny2vt2l 10 месяцев назад

    he did in very complicated way

  • @anubhav.codess
    @anubhav.codess 8 месяцев назад

    Delete can be done with the help of splice

  • @roxxxxxy
    @roxxxxxy Год назад +3

    chatgpt be like: bas itna hi abhi kar deta hu

  • @bekizodcancer3657
    @bekizodcancer3657 8 месяцев назад

    in order to render the updated list when the delete button click why not we can use useState hook for the arr array list...any suggestion?

  • @sagarmehta9624
    @sagarmehta9624 Год назад

    You can use bubbling here

  • @ByteSights
    @ByteSights Год назад

    Just use input type checkbox and label

  • @shailenderjaiswal1685
    @shailenderjaiswal1685 10 месяцев назад

    this is very nice

  • @sui16chillax75
    @sui16chillax75 Год назад

    very simple question, god did it very first try , so i think god is god always right

  • @VishalSharma-rn7mt
    @VishalSharma-rn7mt 8 месяцев назад

    Awesome

  • @aveenism
    @aveenism 10 месяцев назад

    is it for fresher or how many experienced level question

  • @tech.corner
    @tech.corner Год назад

    Amazing..

  • @nk-bq6xy
    @nk-bq6xy 9 месяцев назад

    Sir, from were can i get this type of questions

  • @sharoonps4285
    @sharoonps4285 Год назад

    Sir how i can I build logic in react 😊..some one help me

  • @user-pj9ny2vt2l
    @user-pj9ny2vt2l 10 месяцев назад

    input pain click nahi change event lagta hain

  • @onething...4866
    @onething...4866 Год назад +1

    why you not complete the answer ?

    • @coderdost
      @coderdost  Год назад

      candidate only coded till that point

  • @mauliingle8322
    @mauliingle8322 7 месяцев назад +1

    chai aur code

  • @yikanaveen
    @yikanaveen Год назад +1

    Sir , i'm doing BBA from regular private college and I have skill in MySQL ,php, javascript,html , css so can I get job in it sector? Please tell me

    • @coderdost
      @coderdost  Год назад +2

      PHP is still used but competition is high, from old developers. You will have to try with some internships at a company where they use PHP or some PHP based framework. Laravel is top framework these days. PHP is not high paying initially, but it is a widely used language still.

    • @yikanaveen
      @yikanaveen Год назад

      @@coderdost sir i know i asking that i am BBA
      student so can i get jobs in it sector if i had THAT
      skills

    • @4444-c4s
      @4444-c4s Год назад +1

      ​@@yikanaveen kyu nahi...companies ko bus skills chahiye...Projects banao aur dikhaao

    • @coderdost
      @coderdost  Год назад +3

      @@yikanaveen Yes, however your first job will be hard to crack in traditional IT companies which filter based on degreee and field. So you have to try for startups and companies which are remote work based and looking for skills rather than background of degree. After first job, things change.. and experience matters.

  • @karanbhoite9552
    @karanbhoite9552 Год назад +1

    Experience???

  • @nitishgupta8393
    @nitishgupta8393 Год назад

    my solution:
    import "./styles.css";
    import { useState } from "react";
    export default function App() {
    const arrInp = [
    { id: 1, item: "task1" },
    { id: 2, item: "task2" },
    { id: 3, item: "task3" },
    { id: 4, item: "task4" }
    ];
    const [completed, setCompleted] = useState([]);
    const [arr, setArr] = useState(arrInp)
    const handleCheck = (e, id) => {
    if (e.target.checked && !completed.includes(id)) {
    setCompleted([...completed, id]);
    } else {
    let ind = completed.indexOf(id);
    let newArr = [...completed];
    newArr.splice(ind, 1);
    setCompleted(newArr);
    }
    };
    const deleteTask = (id)=> {
    let temp = [...arr].filter(it => it.id!==id)
    console.log(temp)
    setArr(temp)
    }
    return (
    {arr.map(({ id, item }) => {
    return (
    handleCheck(e, id)} type="checkbox" />
    {item}
    {completed.find((task_id) => task_id === id) && (
    deleteTask(id)}>Delete
    )}
    );
    })}
    );
    }
    //

  • @blackpurple9163
    @blackpurple9163 Год назад

    Interview me ese hi questions puchhte he kya? For freshers? I'm applying for MERN stack

    • @coderdost
      @coderdost  Год назад +1

      They may ask simple conceptual questions also as given in this playlist : ruclips.net/p/PL2PkZdv6p7ZnxpstmVUbybt5M9hjTayY_
      These type of questions are asked in companies which take some time to evaluate candidates for React skill - otherwise they may ask even plain programming question or DS question. There is no set rule

  • @vivekkumar-pc1xy
    @vivekkumar-pc1xy Год назад

    thanks, very informative video

    • @swapnaar5329
      @swapnaar5329 Год назад

      Hi Vivek, do you know any telugu reactjs developers or full stack developers in india? Please let me know if they need any extra income.

  • @anuragtiwari6910
    @anuragtiwari6910 Год назад

    please share codesanbox link of such mocks

    • @coderdost
      @coderdost  Год назад +1

      codesandbox.io/s/long-leaf-pwxu4i

  • @shaileshmadav4538
    @shaileshmadav4538 Год назад +1

    const [check, setCheck] = useState({})
    const handleCheckBox = (index, e) => {
    setCheck(preValue => ({...preValue, [index]: e.target.checked}))
    }

  • @jeth2600
    @jeth2600 Год назад +1

    I want to know about that it's scripted or not. Or
    The student already know the question.

    • @coderdost
      @coderdost  Год назад

      No student is joining live

    • @jeth2600
      @jeth2600 Год назад +1

      @@coderdost TQ for reply
      And he can use Google.

  • @satyaranjanbehera
    @satyaranjanbehera Год назад

    for reactjs coding from where to prepare?

    • @coderdost
      @coderdost  Год назад +4

      I think there is no good question sets available. generally better to work on some small projects. that itself is a good practice.

  • @iamdevil9485
    @iamdevil9485 Год назад

    which software is he using?

    • @coderdost
      @coderdost  Год назад

      Online code editor. Syncfiddle

  • @shayanalijalbani9894
    @shayanalijalbani9894 Год назад +8

    It's a good practice to create a state like
    const [state, setState] = useState()
    And not like this
    const [state, setName] = useState()

  • @zaneyt3791
    @zaneyt3791 Год назад

    It's easy for me

  • @hitman5161
    @hitman5161 Год назад

    How can i give the mock interview to you

    • @coderdost
      @coderdost  Год назад +1

      Generally we release a form on channel community

    • @gorikhanna6070
      @gorikhanna6070 Год назад

      @@coderdostcan u plz tell me how to give mock interview to u ???

    • @coderdost
      @coderdost  Год назад +1

      @@gorikhanna6070 We put up a from on community post for mock interviews. you can apply once that is available.

  • @harrycullen863
    @harrycullen863 Год назад

    Is this for freshers or experience

    • @coderdost
      @coderdost  Год назад +2

      Freshers. But for some for experienced dev also they ask simple question initially and then ask to add something to it.. live interviews …dont have very hard questions .. hard ones are given in take home assignments or machine round without a live interviewer

  • @sarojregmi200
    @sarojregmi200 Год назад

    will it be considered a pass ??

    • @coderdost
      @coderdost  Год назад +1

      Depends on post, for fresher level it is PASS. as only few ppl can really code in live situation and limited time.

  • @mayankmisra00
    @mayankmisra00 Год назад

    hi sir can you give the solution of that problem ?
    function sayHello(){
    console.log("Hello");
    }
    function sayHi(){
    console.log("sayHi")
    }
    function add(a,b,fun){
    sayHello()
    sayHi(10)
    console.log(a+b)
    }
    add(10,20,sayHello)
    here i can call the sayHi() fuction in the add function()

    • @jayeshmahajan4213
      @jayeshmahajan4213 11 месяцев назад

      i guess sayhi() fun no console any value because its not access in fun add

  • @stan1slav937
    @stan1slav937 Год назад +1

    Wow, so basic problem and he cant resolve it , very weak guy

    • @coderdost
      @coderdost  Год назад +2

      live coding makes people nervous, specially when other person is looking every second.

  • @rathore_shantilal
    @rathore_shantilal Год назад

    const [showDelete, setShowDelete] = useState([]);
    const handleCheckbox = (value, todo) => {
    showDelete.includes(todo)
    ? setShowDelete(showDelete.filter((item) => item !== todo))
    : setShowDelete([...showDelete, todo]);
    };
    handleCheckbox(e.target.checked, todo)}
    />
    {showDelete.includes(todo) ? (
    handleDeleteTodo(index)}>Delete
    ) : null}

    • @sandeepgaur98223
      @sandeepgaur98223 Год назад

      can you please explain handleCheckbox code

    • @rathore_shantilal
      @rathore_shantilal Год назад

      @@sandeepgaur98223
      I have maintained a state named "showDelete" which contain array of todo.
      Now how it worked :
      Whenever user click on checkbox , handleCheckbox will be triggered and in this function I have passed value (checked state which is further not used in function definition) and another is todo which are using in function definition .
      So
      showDelete.includes(todo) this line checked that current todo is present in state or not , if yes then we are filtering it and if not then we are adding it
      due to this We are using further this state to show Delete button corresponding to checkbox on the basis of corresponding todo is present in that state or not.
      Hope it is clear?

    • @sandeepgaur98223
      @sandeepgaur98223 Год назад

      @@rathore_shantilal Thanks! It was indeed a very clear and to the point explanation!

  • @markanthonypandac2469
    @markanthonypandac2469 Год назад +1

    heres my answer to this problem
    function List() {

    const todos = [
    {
    label: "Magkaon",
    id: 1,
    isDone: false
    },
    {
    label: "Maglung-ag",
    id: 2,
    isDone: false
    },
    {
    label: "Manotbrush",
    id: 3,
    isDone: false
    },
    {
    label: "Maglutog sud an",
    id: 4,
    isDone: false
    }
    ];
    const [lists, setLists] = useState(todos);

    const handleClick = (id) => {
    const updatedLists = lists.filter(list => {
    return list.id !== id;
    });
    setLists(updatedLists);
    }
    const handleChange = (id) => {
    const updatedLists = lists.map(list => {
    if(list.id === id){
    return {
    ...list,
    isDone: !list.isDone
    }
    }
    return list
    });
    console.log(updatedLists)
    setLists(updatedLists);
    }
    const renderedLists = lists.map(list => {
    return(

    handleChange(list.id)} checked={list.isDone} />
    {list.label}
    {list.isDone && handleClick(list.id)}>Remove}

    );
    });
    return(

    {renderedLists}

    );
    }