Low Level Design of a Fitness App and Mock LLD interview with Intuit SWE @Keerti Purswani

Grab some hot chai and enjoy the video. Cheers.
Keerti's channel: / @keertipurswani
You can also follow Keerti here:
𝐈𝐧𝐬𝐭𝐚𝐠𝐫𝐚𝐦 - keerti.purs...
𝐓𝐞𝐥𝐞𝐠𝐫𝐚𝐦 Channel - t.me/keertipurswani
𝐓𝐰𝐢𝐭𝐭𝐞𝐫 - KeertiPurswani?s=09
𝐋𝐢𝐧𝐤𝐞𝐝𝐈𝐧 - / keertipurswani
Do subscribe to her channel and share the love.
------------------------------------------------------------------
Recommendations
------------------------------------------------------------------
Our full courses on youtube:
✒ System Design Primer Course: • System Design Primer C...
✒ REST APIs made easy: • REST APIs MADE EASY
Some paid courses that we recommend:
✒Educative.io: bit.ly/3qnW5ku
✒Interviewready.io: get.interviewready.io/ (Use coupon code SUDOCODE for extra discount)
------------------------------------------------------------------
About Us
------------------------------------------------------------------
Created and Instructed by:
Yogita Sharma
✒ LinkedIn - / yogita-sharma-83400b55
✒ Instagram - / sudo.code1
✒ Facebook - / sudo.code
✒ Medium - / yogita088
Post-production(editing, thumbnail etc) managed by:
CiKi
✒ Website: www.ciki.co.in
✒ LinkedIn: / 74735937
Colors and design by:
Naini Todi
✒ LinkedIn - / nainitodi
Both Arpit and Yogita are software engineers and want to help other software engineers become better by providing high quality and well researched content by adding their creativity and teaching twist.
------------------------------------------------------------------
Join Us
------------------------------------------------------------------
Hangout with sudoCode:
✒Discord Server: / discord
For business:
✒Email: sudocode.yogita@gmail.com

Пікірлер: 94

  • @rajangarg8748
    @rajangarg87482 жыл бұрын

    Very chaotic discussion. A lot of decisions made by the candidate didn't make sense, but interviewer always replied make sense to everything.

  • @vasudevjamwal

    @vasudevjamwal

    6 ай бұрын

    this is the most authentic comment I see here

  • @dalliravitejareddy3089

    @dalliravitejareddy3089

    3 ай бұрын

    @@vasudevjamwalauthentic cuz he’s trying to be contrarian. But it’s not a fact. It’s subjective

  • @sanyammalik6239

    @sanyammalik6239

    3 ай бұрын

    I agree no of steps is a part of metric not goals. a metric will be different from goal but goal should have 1:1 mapping(join) with the metric.

  • @KeertiPurswani
    @KeertiPurswani2 жыл бұрын

    Thank you for having me Yogita. Such an honor ❤️ Plus got to have so much fun ❤️❤️😇😇

  • @varunbhatt8761
    @varunbhatt87612 жыл бұрын

    Great efforts by both. Few suggestions 1) matrics and goals don't seem related so I don't see a point of having common interface. 2) in user class to store goals, you could have considered list instead of vector as it will be better in case of delete and generally we will anyways traverse through complete list so random access of vector doesn't help much. At least consider the trade offs. 3) I don't see a point of config class. Generally configs are maintained in the ini or config files so that you can just change the value and it will work without having to compile the binaries every time we just change the value of any config option. 4) as notification was discussed in much detail in the requirements part, you should have touched upon it. Having one common interface INotifier and different notifiers(msg, email, push notifications) derived from it and using some kind of event subscription mechanism to handle notifications.

  • @sudocode

    @sudocode

    2 жыл бұрын

    Good points!

  • @akshayshah8264
    @akshayshah82642 жыл бұрын

    Excellent problem statement and great effort by both to give a feel of LLD interview. Few suggestions: 1. I think the main component should have been analytics, whereas the discussion revolved a lot around Goals, configuration etc. 2. The key requirement was to know how the device would give data. In what format it would give data, as this will influence the entire analytics calculation for weekly, daily, etc and also classes. I think this should have got clarified from the interview before starting with classes. 3. I don't see a relation between goals and metrics directly. A goal is just a placeholder for target, progress, reward point, etc. It should have been associated with a class like AnalyticsManager which knows that a particular metric should update goal values.

  • @eshanjain1315
    @eshanjain13152 жыл бұрын

    waiting for LLD course thank you so much for creating and help the community

  • @vaibhavmehta36
    @vaibhavmehta362 жыл бұрын

    Informative !!! Please start this as a weekly series.

  • @vikaskad5737
    @vikaskad57372 жыл бұрын

    That’s good conversation, I learned so many things from this video.

  • @exodus5948
    @exodus59482 жыл бұрын

    Hi Yogita mam, Saw your videos multiple times and my understanding of a system has been levelled up. Thanks for all your contribution.

  • @sudocode

    @sudocode

    2 жыл бұрын

    You are most welcome

  • @akashbhadouria6727
    @akashbhadouria67272 жыл бұрын

    Waah ma'am thanks a lot. May you get all the success🏆💪 and love ❤in your life. Thank you again 🙏

  • @ChandraShekhar-by3cd
    @ChandraShekhar-by3cd2 жыл бұрын

    Thanks a lot for starting the LLD series , really liked the way of interaction to solve these problems. These videos are quite helpful. Could you please start LLD and HLD series as well on designing UBER, Whatsapp, facebook etc like open ended problems. Thanks

  • @sudocode

    @sudocode

    2 жыл бұрын

    Most welcome! Yes will be starting those mock interviews soon.

  • @ChandraShekhar-by3cd

    @ChandraShekhar-by3cd

    2 жыл бұрын

    @@sudocode Thank you so much! I have watched all of your content and it really helped me in understanding the topics in great details. Your explanation on any topic is quite insightful.

  • @venugopalreddy6618
    @venugopalreddy66182 жыл бұрын

    Thanks, Yogita for the wonderful free content.

  • @vamshilyyfelog
    @vamshilyyfelog2 жыл бұрын

    One month into your channel and i am already learning a lot

  • @ak9tgaming714
    @ak9tgaming714 Жыл бұрын

    Hey there, I appreciate the amount of effort which was taken in making the video however there are certain approaches which need to be followed instead of jumping onto solutions after gathering requirement: (Usually in MNC product based companies, interviewers expect candidates to follow the following approach during LLD round - iOS/Backend) - Requirement Gathering - Reiterate the requirements by jotting down use cases - Define what would be the core actors & helpers - Create a use case diagram that defines your use-case as an overview - You can now create an Activity diagram to define the flow - Now to go in depth, this is where the real LLD starts, you'll have to create ER diagram (entity relationship diagram that represents the classes its properties and methods present inside every block.) PS: We can also call out that we are not going to take care of sharding or load balancing as it's assumed that it's already been taken care of which doesn't comes under the scope of iOS, for backend you've to cover theses aspects as well which are missed in iOS)

  • @devarajchennur9911
    @devarajchennur9911 Жыл бұрын

    Thanks for this 👍👍👍👍. You are rocking ji..

  • @leetcodebaby6680
    @leetcodebaby6680 Жыл бұрын

    I don't get the ideas of interfaces generally like How did they figure it out that Analytics has to be a Interface and not a class?

  • @NaukiKumar
    @NaukiKumar11 ай бұрын

    Watching this video a day before my LLD interview. Fingers crossed🤞

  • @NidhiKumari-vu3oj
    @NidhiKumari-vu3oj Жыл бұрын

    Hi Yogita,Keerti, Thanks for posting this ,I really liked this video and honestly saying previously I had 1-2 system design interview and i was so so nervous that what will happen, the interviewer by then were very helpful like you were here. After watching this video I got a lot of confidence and would like to request you to post more videos that can have a proper relationship in a class diagram along with the code examples. Thanks Nidhi

  • @sheshitkarthikeya1528
    @sheshitkarthikeya15282 жыл бұрын

    Kudos to the editing and great audio!! very well done. generally these mock interviews have very bad audio.

  • @sudocode
    @sudocode2 жыл бұрын

    Video on Keerti's channel where she interviewed me: kzread.info/dash/bejne/laWs0dmaYK3IoKw.html Hello people, The very talented Keerti Purswani has shared her time with us by solving a LLD problem of designing a fitness app. Please note this is a mock live interview which means Keerti didn't know about the question until we pressed record. Her attempt to solve the problem is absolutely natural and how it happens in a real interview. There might be multiple ways of solving this problem and you can share how you would have solved it. Both Keerti and I will be open for constructive feedback but I request you guys to type with kindness. This is an experiment and many of you requested for such mock interviews and we are trying the same. We sincerely hope that you derive some value from this LLD mock interview video.

  • @UntamedRogueMavrick
    @UntamedRogueMavrick2 жыл бұрын

    Great discussion!! Even though toughest LLD problem I have ever seen. Would never want to have in any interview.

  • @sudocode

    @sudocode

    2 жыл бұрын

    Haha

  • @PkSam07
    @PkSam0710 ай бұрын

    There should be a further lld video on the same app to know what we left and then what else could be improved on.

  • @bharadwajpoduri3349
    @bharadwajpoduri33492 жыл бұрын

    I did not understand the Config class. I mean if we take unordered map with ,where are we storing the actual config values?

  • @bharadwajpoduri3349

    @bharadwajpoduri3349

    2 жыл бұрын

    By the way great video, thank you so much and would love to see more such mock interviews on this channel Yogita👍

  • @ShivaSomapur
    @ShivaSomapur2 жыл бұрын

    Instead of the desktop app polling for data at regular intervals, the tracker can send the delta of data accumulated between two sync cycles.

  • @sudocode

    @sudocode

    2 жыл бұрын

    very valid point!

  • @sunilpingale2414
    @sunilpingale24142 жыл бұрын

    Could you make one full HLD and LLD video on UPI payment. How to design PhonPe, bharatpat.

  • @starboy_jb
    @starboy_jb2 жыл бұрын

    Good to see that question was not out already 😀

  • @soumyaripan5131
    @soumyaripan5131 Жыл бұрын

    This is a great interview.

  • @anandyadav_
    @anandyadav_2 жыл бұрын

    Should we intensionally do ask to add features? Won't this make the interview a bit difficult

  • @sudocode

    @sudocode

    2 жыл бұрын

    No it won't. Your interviewers will say yes or no as per what they need to test but asking questions around requirements is always helpful.

  • @anandyadav_

    @anandyadav_

    2 жыл бұрын

    @@sudocode okay!!

  • @vipinraip1207
    @vipinraip12072 жыл бұрын

    1. Can't we make Goal an interface and let HeartBeat, Steps, Water Intake,.... implement it? Goal can have { Status, Reward, Metric,.....} 2. We could also have an interface Metric and have implementations like HeartBeatMetric, StepMetric,.....? ( Metric is part of Goal )

  • @ishikajain9676

    @ishikajain9676

    2 жыл бұрын

    Agree

  • @alphacoder3822
    @alphacoder38222 жыл бұрын

    A SDE2 is interviewing a Senior Software Engineer damn keerthi ma'am was so humble and she acted like she's really giving an interview. Now the problem is Ab mujhe preparation karna hai bhay

  • @sudocode

    @sudocode

    2 жыл бұрын

    Sorry to disappoint to you but I am Senior Software Engineer in this case, however if you want to see the SDE 2 interview an SSE, you can head over to Keerti's channel where she has interviewed me. All the best for your prep. :)

  • @mohammedajazquadri7869
    @mohammedajazquadri78692 жыл бұрын

    MAKE VIDEO ON DESING PATTERN SPECIALY LIKE SOLID,FACTORY,SINGLETEON,FRONT CONTROLLER

  • @mukeshbisht2411
    @mukeshbisht24112 жыл бұрын

    very real mock interview

  • @badbaboye
    @badbaboye2 жыл бұрын

    Great mock-up

  • @nikcsm
    @nikcsm2 жыл бұрын

    Amazing video, and amazing comments alot to learn for me XD

  • @sumalyasaha
    @sumalyasaha2 жыл бұрын

    Great conversation.I would like to suggest that we can keep the metrics as separate from goals and a goal should be an observer of an observable metric using observer pattern and hence can update its progress and status.

  • @mayukh_
    @mayukh_2 жыл бұрын

    How come it’s an lld?

  • @AdityaRajVerma
    @AdityaRajVerma2 жыл бұрын

    awesome

  • @srikantht890
    @srikantht8902 жыл бұрын

    Hi Mam, please make video on designing high available distributed cron scheduler. Thanks in Advance

  • @sudocode

    @sudocode

    2 жыл бұрын

    thanks for the idea. let me research and come up with it.

  • @amitsatpathy07
    @amitsatpathy072 жыл бұрын

    Just one suggestion Yogita, If you are planning for more such mock interviews in near future, you can add one 5 or 10 sec pause moment feature in video after you share your question with interviewee as it would help the viewers to think for solution themselves. Nonetheless, we do have pause option, which would work just fine but it's more of a value addition for viewers, so thought of sharing my view. Loved your content.

  • @sudocode

    @sudocode

    2 жыл бұрын

    Thanks a lot Amit. That's a really useful suggestion 😅

  • @yogeshdharya3857
    @yogeshdharya385710 ай бұрын

    For the first 5 - 10 minutes I thought it is you who is giving the interview to Keerti

  • @SaptadeepDutta_Ex-Xerox
    @SaptadeepDutta_Ex-Xerox2 жыл бұрын

    12:32 Wow! 'Class' mentioned by a millennial, use of which in designs seems to be gradually disappearing. I dabbled in UML/OOAD stuff and any mention of OOAD vocab. has me excited. Great LLD, by the way. Appreciate.

  • @sayalii_shelke
    @sayalii_shelke11 ай бұрын

    The requirements consumed a lot of time. Maybe they could have just reduced the number of requirements and focus more on how to actually code for LLD. Focusing on one component would have helped here.

  • @cut-a-lyst
    @cut-a-lyst2 жыл бұрын

    For me, heart beat is not an activity. I would rather have metrics class separately and another class activity that holds goal object and metrics object.

  • @sudocode

    @sudocode

    2 жыл бұрын

    That's a good way to go about it.

  • @amishsumit
    @amishsumit2 жыл бұрын

    Too much of requirement gathering discussion in the beginning. It makes the video little off-colour. LLD should be straight to the point and as and when the things start getting complicated, interviewer should have a chance to spice it up a little and dig deep through it.Somewhere I felt Keerti was in project maintenance mode.

  • @TarequeMdKhan

    @TarequeMdKhan

    2 жыл бұрын

    Totally agree. Generally candidate should drive the answer, but the initial 10-12 mins, it was reverse. And candidate should do more talking.

  • @ashwinurewar5006
    @ashwinurewar50062 жыл бұрын

    dont mess , u could do it in better way. try to use digital note pad , some content is not visible

  • @basawarajshivashetty5232
    @basawarajshivashetty52322 жыл бұрын

    Do we need not draw proper class uml diagrams during the interview.. explaining the relationships between classes is enough?

  • @sudocode

    @sudocode

    2 жыл бұрын

    We may or may not depending on what interviewer is looking for but it was hard do to it in 45 minute video.

  • @basawarajshivashetty5232

    @basawarajshivashetty5232

    2 жыл бұрын

    @@sudocode thanks!

  • @viktoryialinkevich9925
    @viktoryialinkevich99252 жыл бұрын

    For which position this interview was conducted?

  • @sudocode

    @sudocode

    2 жыл бұрын

    Software engineer.

  • @shivamkamal2709
    @shivamkamal27092 жыл бұрын

    Please make video on load balancing also your videos are Great

  • @sudocode

    @sudocode

    2 жыл бұрын

    Already done did you check SD playlist?

  • @shivamkamal2709

    @shivamkamal2709

    2 жыл бұрын

    Yes checked but didn't get 😕🤒

  • @SunilSharma-mb2kf
    @SunilSharma-mb2kf2 жыл бұрын

    Is LLD important for freshers as well? 2021 batch.

  • @ChandanKumar-rl6df

    @ChandanKumar-rl6df

    2 жыл бұрын

    For Freshers, LLD is not required.

  • @runningFun
    @runningFun2 жыл бұрын

    It’s gr8 to see good conversation between 2 girls...

  • @TheDiscreet
    @TheDiscreet2 жыл бұрын

    Very good design conversation.. Helps in approaching the problem.. Recommended books for LLD would be helpful...

  • @sudocode

    @sudocode

    2 жыл бұрын

    You can check this out if it helps - kzread.info/dash/bejne/Z5il2MR9fdLKnNo.html

  • @TheDiscreet

    @TheDiscreet

    2 жыл бұрын

    @@sudocode Yes i saw it.. I thought it was for system design only

  • @Tyrus429
    @Tyrus4293 ай бұрын

    Keerti seems to be very confused...yogita knowledge is over powering her. Thanks but try to make videos which are crisps, even if you solely take a topic and tell us how to system design it that would be of great help. U r really a gem, and we adore you Yogita. Thanks

  • @shashankjoshi2475
    @shashankjoshi24752 жыл бұрын

    From madhya pradesh?

  • @amitsatpathy07

    @amitsatpathy07

    2 жыл бұрын

    She is from a place called INDIA.

  • @shashankjoshi2475

    @shashankjoshi2475

    2 жыл бұрын

    @@amitsatpathy07 read channel about section....

  • @sudocode

    @sudocode

    2 жыл бұрын

    Not to spoil any one of your moods, @shashank joshi, where did we mention Madhya Pradesh? and yes both of us from Madhya Pradesh and also we are proud Indians. So peace out. :)

  • @GRIEFify
    @GRIEFify Жыл бұрын

    Appreciated the efforts for the uplift of engineers like me. But, in real-time, Interviewer won't be answering/suggest so much and they just will say design health track app for reporting and sit idle. More questions we ask; they will judge us as not capable of assessing big picture and will have a negative image in his mindset. Result - rejected

  • @VikramKumar-qo3rg

    @VikramKumar-qo3rg

    Жыл бұрын

    I do not have much experience myself. But I feel asking more questions wouldn't be considered a sin. However, the quality of your question is something that you'll be judged upon. Clarifying the requirements and the solutioning is always a good sign as long as the questions are not dumb.

  • @TarequeMdKhan
    @TarequeMdKhan2 жыл бұрын

    I respectfully disagree with the whatever was shown.

  • @abhimanyuarora9262
    @abhimanyuarora92622 жыл бұрын

    less interactive. looks like a boring college lecture where no one is smiling, showing energy or enthusiasm. like doing just for the sake of it. should learn from other creators.

  • @sudocode

    @sudocode

    2 жыл бұрын

    I didn’t know we were supposed to entertain while educating. Will definitely keep this in mind 😉

  • @TheSheldorAFK
    @TheSheldorAFK2 жыл бұрын

    mam is there a way to marry you. so that i don't have to hire systems expert for my company. jk

  • @sudocode

    @sudocode

    2 жыл бұрын

    LOL. I would still charge after being married but I sadly for you I am already married ;)

  • @TheSheldorAFK

    @TheSheldorAFK

    2 жыл бұрын

    @@sudocode ❤️

  • @narenshalivahana1111
    @narenshalivahana11119 ай бұрын

    keerti did it more complicated and wasting time.