[Front-End System Design] - Design a Poll Widget

Поділитися
Вставка
  • Опубліковано 22 гру 2024

КОМЕНТАРІ • 54

  • @vgcordys
    @vgcordys 3 роки тому +10

    The most underrated channel I've ever seen. Everyone who has learned from these videos must make this channel more popular by sharing about it.

  • @EdwinManual
    @EdwinManual 2 роки тому +4

    This channel is a gold mine. There are lots of beginner level content on UA-cam. But high quality content like this is pretty rare now days.

  • @antonkot6250
    @antonkot6250 3 роки тому +8

    Surprisingly few likes to this high quality content. Thank you for your effort!

  • @balrajjhaanand1191
    @balrajjhaanand1191 8 місяців тому

    Hi, I saw you on frontend masters upcoming workshops section and I got very excited when I saw the topic of the workshop. Really love the content posted here and hope you continue to share your knowledge. Really appreciate what you are doing and grateful for posting content for free here.
    There is not a lot of content like this and hope you tackle some topics like micro-frontends etc in the future.

  • @shivashankar6043
    @shivashankar6043 3 роки тому +2

    Please continue the playlist, it's been a long time since you uploaded new content. You are my one of the best teacher.

  • @achyutrastogi8080
    @achyutrastogi8080 Рік тому

    This was great, still the most relevan frontend architecture videos I could find!

  • @andikakurniawan4188
    @andikakurniawan4188 2 роки тому

    this is the cool system design video for frontend. thank you

  • @killordie2412
    @killordie2412 3 роки тому +6

    Hi Ray, great videos! I've had frontend system design interviews before and I feel like the interviewer will be more interested in how to approach scalability i.e what happens if my user poll is huge (imagine Twitter poll), what happens if I vote yes? then undo it? if live data, how to show the correct state of the poll? how to display voters on each poll? . It can be as complicated as you want but once we have these scalability issues, we can talk about the performance budget for asset delivery, DOM, i.e ...

    • @FrontEndEngineer
      @FrontEndEngineer  3 роки тому +7

      Hi, Nhat. Thank you for sharing. This is really helpful
      You are definitely right. I didn't think about such things during the video recording and things you're mentioned worth considering.
      Maybe, I'll upload V2 of this video in the near future 😊

  • @ArshadKhan-dk5zf
    @ArshadKhan-dk5zf 3 роки тому +1

    Thanks for this awesome content dude. I have placed in a top unicorn startup organisation preparing system Design from your videos.

  • @ang8709
    @ang8709 2 роки тому

    Really love these videos! Very helpful for interview prep. I do have a hard time watching sometimes because the screen moves around abruptly and it triggers my motion sickness.

  • @rahilmanzar1434
    @rahilmanzar1434 2 роки тому

    Good stuff Ray !! Would be interested in more such videos

  • @tho_norlha
    @tho_norlha 2 роки тому

    Thanks man ! You are awesome !!!

  • @denischudinov2379
    @denischudinov2379 3 роки тому +1

    Where I can read more about the embeddable integration? I never heard about it before. Thanks in advance!

  • @tananyAR
    @tananyAR 3 роки тому

    Really great and insightful ✅✅💯✨.

  • @ousmand742
    @ousmand742 2 роки тому +1

    what app is he using to draw

  • @justinroth4453
    @justinroth4453 3 роки тому

    What diagramming software are you using in these videos?

  • @humphreyquaye1087
    @humphreyquaye1087 Рік тому

    Great content 💯 but missing one thing imo; the error state

  • @DK-ox7ze
    @DK-ox7ze 3 роки тому

    Did you use this exact strategy in your interviews, wherein you first mention the structure of your solution, and then explain each part just like you are explaining in this video?

  • @adwaithks
    @adwaithks 2 роки тому

    Thank you❤. Does "readonly: boolean" means allow the user to vote (if false) and allow user to only see results (if true). Am i correct?

  • @ChiCity511
    @ChiCity511 2 роки тому

    can someone explain what renderEditItem and renderReadItem are?

  • @andreistarodubtcev3954
    @andreistarodubtcev3954 Рік тому +1

    Functional requirements - it is what component should do, for example, show header and provide single/multiple choice questions, user can unvote and etc. Non-functional requirements (Quality attributes) - supported mobile devices, configurable component and etc
    It is incorrect to call quality attributes by functional requirements

  • @angrygingerbread1077
    @angrygingerbread1077 3 роки тому +1

    I wonder whether you got a FAANG offer 😁 And thank you for the FE design video series!

    • @FrontEndEngineer
      @FrontEndEngineer  3 роки тому +7

      Thank you, I've got multiple offers from FAANG, and decided to go with one of the letter 😀

    • @rikpatel
      @rikpatel 2 роки тому

      @@FrontEndEngineer Would you be able to share a video of your journey to do the prep as FE Engineer? Not many resources I can find on the internet relevant to pure FE interview prep. May be talk about game plan that you used to prepare for the game time! Salary negotiations while dealing with multiple offers, etc. Also as a followup what its actually like to work within one of these companies, now that you have taken the role and how similar or different it is from the interviews you face as entry point.

  • @VickyGupta538
    @VickyGupta538 3 роки тому

    Hey Ray,
    Once the user provides the render function, an HTML element. I assume that user has to bind the Onclick function with the callback which will update the state of the component.
    Suppose, user has provided the HTMLElement on render function, if we don't pass callback function to onclick function of HTMLElement, then how can we maintain the selected options?
    Can someone clarify? Pls.

    • @RashidAzar
      @RashidAzar 3 роки тому

      Event delegation will handle this situation

    • @VickyGupta538
      @VickyGupta538 3 роки тому

      @@RashidAzar Thanks but If we want more information about the poll option then?

  • @ayaramzy6815
    @ayaramzy6815 3 роки тому

    I can not understand onvote in min 12:22

  • @denischudinov2379
    @denischudinov2379 3 роки тому

    Hi!
    One more cool video!
    I have one small question. You have mentioned an NPM distribution as one of the general requirements. And one of the optimization points was distribution via CDN. It sounds like a mistake or am I wrong?

    • @FrontEndEngineer
      @FrontEndEngineer  3 роки тому +1

      Hi Denis, thank you for your comment 😊
      The widget can be distributed as an NPM package and also as a which you include on your page. So, both cases apply here :)

  • @VijayKumar-vv6yw
    @VijayKumar-vv6yw 3 роки тому

    Can you make a video postmath of interviews about the type of questions asked and the experience overall please

    • @FrontEndEngineer
      @FrontEndEngineer  3 роки тому +3

      Hi, I've made quite a lot of interviews, in 2020, so the process is a bit different everywhere. I can't mention companies right now, because of the NDA.
      But, I'll make the video explaining the path of preparation for Front-End interviews. Thank you for the idea.

    • @VijayKumar-vv6yw
      @VijayKumar-vv6yw 3 роки тому

      @@FrontEndEngineer Yea please that would be awesome!

  • @himachitalia4575
    @himachitalia4575 3 роки тому

    Hey, great video! One question, asking the user to provide HTML Element, wouldn't it compromise the security?

    • @FrontEndEngineer
      @FrontEndEngineer  3 роки тому +2

      Hi Hima, when I say - user to provide the HTML elements, it actually means - the developer who is going to use our library, and it's a common approach for developers to provide a custom render function for data.

  • @Xiaoyuization
    @Xiaoyuization 2 роки тому

    what is brottle?
    Do you mean brotli?

  • @konghu7642
    @konghu7642 3 роки тому +1

    Why are the states mostly the same thing as the props? It should be considered as an anti-pattern to derive states from props

    • @FrontEndEngineer
      @FrontEndEngineer  3 роки тому +1

      It's not an anti-pattern here, because we're away from React and other frameworks. We keep in-state what we need during widget initialization 😊

    • @konghu7642
      @konghu7642 3 роки тому

      @@FrontEndEngineer I don't get that. What do you mean away from React? If it's not designed for React, what did you mean by Props and States design?

    • @FrontEndEngineer
      @FrontEndEngineer  3 роки тому +5

      @@konghu7642 All my videos are framework agnostic. I use common notations like Props and State because they are well-known.
      Props - input config object which you pass inside widget during init
      State - internal widget state.
      It has nothing to do with React and any other frameworks 😊

    • @konghu7642
      @konghu7642 3 роки тому

      @@FrontEndEngineer Gotcha! Thanks for the reply!

  • @iamabhirupdatta
    @iamabhirupdatta Рік тому

    i think in poll view(view mode) we don't need vote button.

  • @nedhop8284
    @nedhop8284 2 роки тому +1

    I think you mixed up the functional requirements with the non functional requirements. Great video non the less.

  • @SimonScarfe
    @SimonScarfe 3 роки тому +1

    Anyone else cmd+tab over to Slack every time he got a message?

  • @d123-y5i
    @d123-y5i 3 роки тому

    If I were to give this question, I don't think this answer has hitten the major points I want to know - component design.

    • @d123-y5i
      @d123-y5i 3 роки тому

      For example, does this poll widget only supports single selection(radio)? What are the APIs and how the payload would look like for every call in every step?

  • @ganeshshetty8441
    @ganeshshetty8441 2 роки тому

    Good content, voice is not clear at all, People just skip the video and move on

    • @neerajdixit7102
      @neerajdixit7102 Рік тому +2

      you can skip, its clear.
      avoid his comment guys