Software Engineering Job Interview - Full Mock Interview

Поделиться
HTML-код
  • Опубликовано: 25 май 2024
  • Technical programming interviews are challenging, but being able to do well is what lands you a job at a top tech company. Improve your interviewing skills by watching this mock full-length, real-world coding technical interview (OOP + dynamic programming) for a software engineering role.
    Interviewer: @KeithGalli
    Interviewee: @KylieYYing
    The first half of the mock interview, Keith asks Kylie to use object-oriented programming (OOP) to design a reading application, given a library of books. In the second half of the interview, Keith asks Kylie a dynamic programming (DP) question trying to find the max length of the longest common substring in two strings.
    ⭐️ Contents ⭐️
    00:00 Intro
    01:26 Beginning the Interview
    03:25 Object-Oriented Design Question
    32:21 Dynamic Programming Algorithm Question
    56:35 Feedback Chat
    1:11:35 Closing Thoughts
    🎉 Thanks to our Champion and Sponsor supporters:
    👾 Nattira Maneerat
    👾 Heather Wcislo
    👾 Serhiy Kalinets
    👾 Erdeniz Unvan
    👾 Justin Hual
    👾 Agustín Kussrow
    👾 Otis Morgan
    --
    Learn to code for free and get a developer job: www.freecodecamp.org
    Read hundreds of articles on programming: freecodecamp.org/news

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

  • @jheelgala6353
    @jheelgala6353 8 месяцев назад +521

    This is pretty cool....but honestly I would cry if the interviewer started with , "Let's make a book application". I learned a lot today

    • @paultvshow
      @paultvshow 3 месяца назад +73

      I think this is one of the easiest problems you can ask for.

    • @bacon5481
      @bacon5481 2 месяца назад +13

      ​@@paultvshow what's the next step up from this kind of question? Leetcode medium?

    • @hassegawamkt
      @hassegawamkt 2 месяца назад

      I have one coming up Thursday. I've been told to use LeetCode and go for medium and hard challenges. A bit overwheliming TBH.@@bacon5481

    • @Brian-ro7st
      @Brian-ro7st Месяц назад +8

      This is about as cake an interview as you can have

  • @spamgarbage6999
    @spamgarbage6999 8 месяцев назад +200

    I understand this all as she says it, but if I had to pull all this out of my brain in an interview Id cry or leave

    • @benicia9408
      @benicia9408 Месяц назад +5

      Same lol. Too much pressure

    • @MrArkaneMage
      @MrArkaneMage Месяц назад +15

      That's why CS50 ppl get a rubber duck to talk and explain to :)
      It does not only help with understanding but also being able to explain/recall something "on command" is an important skill to learn over time.
      In that case you are your own worst enemy you have to defeat in order to get the job.
      Unfortunately there is no way around this as it is expected to be able to function properly even under heavy pressure as this reflects daily business.
      It's hard to get if you are coming straight out of school/college/uni but you need to fix this if you want to create your own place in the working class.

  • @11Khalid11
    @11Khalid11 8 месяцев назад +272

    As someone who is poor in programming, there is something beautiful in seeing someone program so eloquently, like how we write paragraphs for a nice essay.

    • @bunnyman6321
      @bunnyman6321 3 месяца назад +4

      have you improved yet?

    • @user-ff1fx9vq3m
      @user-ff1fx9vq3m 3 месяца назад +7

      Do leetcode , read text books , leave tutorials

    • @JamesballadMD
      @JamesballadMD 2 месяца назад +1

      I’m great with hardware but suck @ coding.

    • @amanshekhar7200
      @amanshekhar7200 2 месяца назад +1

      What should I do then😢

  • @ubikubik763
    @ubikubik763 Год назад +766

    Great video! I think it would also be great to see several people participate in the same interview. Thereby you could see how different individuals approach the same task.

    • @ronaldoavich
      @ronaldoavich Год назад +22

      yeah, that would be interesting.

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

      a perspective change would be fantastic.

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

      Regarding the dp problem does not have too many approches since it is a well known problem

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

      i love that idea

  • @justin-cassidy
    @justin-cassidy 9 месяцев назад +349

    Interviews like this are a breath of fresh air. I think being able to design a solution to solve a functional problem is a great skill set to have as a software engineer. I get so tired of seeing nothing but LeetCode type questions for software engineers. I’m not saying that solving those are easy, because they are very hard. But architecting a solution to a problem like in this video I find to be more pertinent to 99% of realistic situations in the business world.

    • @rosspayne5099
      @rosspayne5099 5 месяцев назад +1

      I have an honest question, Isn't everyone in the coding atmosphere going to be fucked because of AI? What is it that seperates a coder from a robot that can basicly do the same thing?

    • @stanleyching123
      @stanleyching123 5 месяцев назад +29

      @@rosspayne5099what makes u think AI can solve this? Have u tried? AI can’t even solve my uni coursework and I’m in y1

    • @rosspayne5099
      @rosspayne5099 5 месяцев назад

      Because im seeing millions of people lose their jobs because of AI that are involved in similiar coding fields, and no dude i havnt tried it im not AI what kind of question is that ahahahah@@stanleyching123

    • @utubewatcher806
      @utubewatcher806 5 месяцев назад +4

      @@rosspayne5099 AI is comparable to the first language compilers and interpreters translating into machine language. These efforts produced mediocre to average code. AI delivers sub-par to modest regurgitated text and code from across the web. Code snippets rarely have references, so malicious actors can blog and tag for SEO supremacy, delivering malfunctioning and negative results.

    • @schizo5189
      @schizo5189 4 месяца назад +1

      ​@@rosspayne5099 Oh look. Another example of AI/crypto bro pseudo-intellectual archetype utterly failing to comprehend how the underlying mechanism of the tech they raved so much about even work in the first place.

  • @Ninjaah_
    @Ninjaah_ 5 месяцев назад +157

    i am never getting a job

  • @Kazner0h
    @Kazner0h 9 месяцев назад +17

    I'm so subscribed. What an amazing resource. I've watched a bunch of interview prep videos, but this one really helps put it all into context by performing it.

  • @SteveMorrow8859
    @SteveMorrow8859 7 месяцев назад +54

    It's like being a fly on the wall of another interviewer, seeing the questions asked, solutions proposed, and feedback provided. This has changed the course of my life and in how I plan to solve problems moving forward. Great video!

  • @licokr
    @licokr 10 месяцев назад +27

    I haven't had interviews in English and the video is really helpful for me. I've never had interviews like this, so, I'm really nervous cause I'm preparing for interviews now. Thank you! "Don't write down without saying anything" I will keep it in my mind!

  • @JetSoftProHQ
    @JetSoftProHQ 11 месяцев назад +68

    Great job on delivering such insightful content! This video provides valuable insights for developers preparing for technical interviews.We truly appreciate the availability of resources like this that help candidates come well-prepared for their interviews. It's fantastic to see the community coming together to share knowledge and empower future employees. Keep up the great work!

  • @omari6108
    @omari6108 10 месяцев назад +76

    This is extremely helpful. When I’m doing any kind of code it’s just for myself. I speak out loud what I’m trying to do, and have a notepad next to me, but coding a project for someone else does take a lot of fine tuning to understand exactly what they want. That requires real time communication.

  • @unitygamingrio88
    @unitygamingrio88 11 месяцев назад +45

    That was brilliant, it brought back some memories of the interviews I've sat in and went through myself, outstanding job!

  • @sixstanger00
    @sixstanger00 Год назад +41

    I never understood the point of technical interviews "testing your coding ability." Nearly all programmers will have a portfolio showing what they're capable of. I shouldn't have do it again under the gun just to back up my portfolio. If you're going to test my skill in a technical interview, don't ask for a portfolio.

    • @user-pl6hy3km6s
      @user-pl6hy3km6s 2 месяца назад +1

      true but they also want to make sure you haven't just copied others people work, and they also want to see how you handle under pressure

    • @sixstanger00
      @sixstanger00 2 месяца назад

      @@user-pl6hy3km6s
      *_true but they also want to make sure you haven't just copied others people work_*
      If this is the reason, then every software engineer in the field needs to be fired. I don't know of any software engineer who hasn't at some point referred to StackOverflow for snippets of code.
      It's inefficient to expect coders to rewrite code that already exists, especially if it's going to serve the exact same function. Even if the coder DOESN'T copy it from someone else, the CODE will still end up looking identical (apart from perhaps var names) because languages like Java, JS, CSS, Python, etc will only work if code is written one way.
      *_and they also want to see how you handle under pressure_*
      Yet again, this is a pointless test. Nearly any job is going to put the worker under pressure at some point. People apply for jobs EXPECTING to be under pressure occasionally. If they knew they couldn't handle the pressure, they wouldn't be applying.

    • @vaisakhkm783
      @vaisakhkm783 28 дней назад +1

      90% of junier engg. showing as their project in portfolio is something they made my following some random tutorial, but when we give a problem, they lack ability to solve problem even if they know the syntax......

    • @sixstanger00
      @sixstanger00 28 дней назад +5

      @@vaisakhkm783 It's still not an accurate test of their abilities. Your "test" is testing _how quickly_ they can come up with a solution, not they're actual problem-solving skills.
      The real world doesn't work like that. When you encounter a problem in coding, it's not like you have a team of executives peering over your shoulder expecting you to come up with a solution on the spot. That's asinine.
      Unless you run your company like a slave labor force, the actual employee is going to need time to ASSESS the problem, and then formulate possible solutions (some of which may not even work).
      You're expecting the potential employee to be a walking encyclopedia of all languages, situations, problems, solutions, etc. The person you're looking for doesn't exist, bud.

  • @Khadi-C
    @Khadi-C Год назад +367

    Later this year, I will start a bachelor's in software engineering. I definitely need this!

    • @Adam-kk7nw
      @Adam-kk7nw Год назад +289

      Just lie and say ur transgender and non binary they won't turn you down no matter what if u failed the test

    • @lonewolf.8635
      @lonewolf.8635 Год назад +5

      Lol

    • @kiidpoh
      @kiidpoh Год назад +61

      ​@@Adam-kk7nw 💀💀yk what this is probably true too especially in places like san fran

    • @Stephen.c19
      @Stephen.c19 Год назад +83

      @@Adam-kk7nw modern problem require modern solution lmao

    • @Adam-kk7nw
      @Adam-kk7nw Год назад +5

      @@Stephen.c19 this made my whole day 😂 thank you

  • @shockearth4295
    @shockearth4295 9 месяцев назад +45

    This held my attention from start to finish! I like how she was explaining her thought process while she was writing the lines of code. It was fairly easy to follow along.

    • @emperor8716
      @emperor8716 Месяц назад +1

      that's what you're supposed to do. if you're just quietly writing code, the interviewer's gonna fail you whether your program works or not. they mainly ask these to hear your thought process of how you solve problems.

  • @Plasma_King
    @Plasma_King 9 месяцев назад +40

    Wow i actually find this challenging, but very interesting! Thank you for giving me an insight of how technical interviews are done! I actually thought it was a lot harder where they observe you on how to build it from scratch and make it work in the end!

    • @VGBNDGRL
      @VGBNDGRL 7 месяцев назад +3

      Yeah, this was very cool to see, and quite challenging when your perspective on interviews is to ace them. I think what was most important here, is that the candidate explained her thought process out loud every single step of the way, so that the interviewer can follow along 100%, and even if the interviewer starts to not follow, maybe ask every now and then if it makes sense.
      I think I feel more confident after seeing this video bc it proves that interviews should be a conversation on implementation, drawbacks, pros, larger questions, modularity, and less on getting a right answer...because designing a system isn't something you can get right 100% in the real world.

  • @kirk7880
    @kirk7880 4 месяца назад +2

    I love this. One soft suggestion is including a quick intro. I think that just reinforce a critical step in the process

  • @shishenliart
    @shishenliart 10 месяцев назад +8

    Learned so much from this video. I am a fledgling programmer (just started taking the 200-series programming classes) still trying to learn a language and practice my logic building skills and this helped tremendously.

  • @UnhingedEgo
    @UnhingedEgo Год назад +32

    I watch these whilst also learning Python too, so I can learn how to also communicate well when discussing thoughts and ideas.

  • @SnapshotsOfHistory1
    @SnapshotsOfHistory1 3 месяца назад +27

    This video just killed my desire to be a software developer

    • @daughteroftheking3220
      @daughteroftheking3220 3 месяца назад +5

      Fr😂😂 imagine doing this in an interview real time I would literally just be lost and the pressure of time/my anxiety would get the best of me. I would just give up and exist out of the interview room right then and there and not look back.

  • @honeydevaang732
    @honeydevaang732 Год назад +109

    This is not just for the interview things, but also the code structure that was implemented so smoothly. Everything just looked like a roadmap👌👌👌👌👌👌

    • @rosspayne5099
      @rosspayne5099 5 месяцев назад +1

      Isn't Everyone in the coding department going to be fucked hard because of AI ? Honest question, what seperates someone who can write code and a robot who can do the same thing?

    • @mrnobody1546
      @mrnobody1546 5 месяцев назад

      ​@@rosspayne5099most probably, but my lecturer told us to embrace it, AI is inevitable, so we must learn to use it efficiently

    • @MK-rx2fj
      @MK-rx2fj 2 месяца назад

      ​@rosspayne5099 a bot writes code for instructions you give and you edit parts of that therfore your productivity is higher

    • @YouTube_MusicStyle
      @YouTube_MusicStyle Месяц назад

      ​@rosspayne5099 , AI to coders is like Tractors to Farmers. Useful tool to handle things efficiently but without the farmer the overall job doesn't get done.

  • @GuitarHope
    @GuitarHope Год назад +29

    This is awesome. Thank you so much for uploading such priceless contents.

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

    that first question hit the spot exactly what i am lacking for years i want more

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

    Awesome!!!!
    Please bring more of these.....

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

    I just love Kylie's workflow and mental clarity!

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

    Great video. I learned a lot of news tips and tricks on how to approach a technical interview.

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

    thank you for taking us along on this invaluable resource. More please if you are able. If not, I completely understand.

  • @olesiacheban2054
    @olesiacheban2054 Месяц назад +12

    I actually did do a follow-up after the interview once. It was my first job and I had to present my pet project.. and it did not load.. for the whole hour and a half I was trying to run it in parallel answering tech questions, but no luck. After I finished the interview I had reloaded the laptop and the project ran okay, so I made a video of it working and sent it to the interviewers. I got the job!

  • @prism_schism
    @prism_schism Год назад +34

    Okay, I realize software engineering IS for me😂 loved the discussion, and looking forward to talking CS with people.

  • @DiegoXMV
    @DiegoXMV 9 месяцев назад +6

    this was pretty mindblowing, and looking to switch companies has eye opening. I really need to work on my algo game for the interviews

  • @TheQuancy
    @TheQuancy Год назад +42

    After doing a lot of leetcode and have been destroyed by edge cases. Not adding an edge case for page turning and out of bounds index error is killing me

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

      failing because of edge cases in leetcode makes me feel really stupid because usually you just need to add a single if statement to pass the test

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

      lol ol' boy traumatized

  • @jaretsanchez1900
    @jaretsanchez1900 Год назад +52

    I've been working as a developer for a year now and it's very humbling how she can mention these best data types to provide for these objects. Things like dictionary objects are still new to me.

    • @franciscov511
      @franciscov511 Год назад +10

      It is basically a hash map, in python it is called dictionary

    • @sidgillespie5879
      @sidgillespie5879 Месяц назад

      Keep in mind this video is staged.

  • @Sinnerage
    @Sinnerage 2 месяца назад +3

    As someone who’s only a few weeks into my coding journey I’ll have to come back to this when I have a better idea of what she’s coding, I understand some of it but a lot of this like hieroglyphics lol. Awesome job tho and very cool to watch.

  • @nocopyrightgameplaystockvi231
    @nocopyrightgameplaystockvi231 Год назад +243

    The use of Lists was actually pretty cool. I was thinking of a JSON array, but then Lists are kind of way more powerful due to their incredibly useful methods and as said in Head First Python book, "Lists are arrays on Steroids". Nice Mock Interview. I just want these to go on.

    • @onemoregodrejected9369
      @onemoregodrejected9369 Год назад +50

      If you are told to use python, you gotta ABUSE the hell out of lists!

    • @nocopyrightgameplaystockvi231
      @nocopyrightgameplaystockvi231 Год назад +12

      @@onemoregodrejected9369 damn yes. LISTS are for abuses 🤣🤣🤣🤣 without regrets.

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

      yep I added that to my background

    • @anon-fz2bo
      @anon-fz2bo Год назад +1

      yea when they said 'collection' of Books I automatically defaulted to std::vector or Vec or []Book or even Book* if ur feeling fancy and want to use a static array

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

      @@anon-fz2bo pointers 😂 not unless it's mentioned.

  • @Yeard491
    @Yeard491 Год назад +12

    Been looking for this exact thing for AGES. Awesome!

  • @lilyou2219
    @lilyou2219 6 месяцев назад +52

    I am so jealous about how Kylie been able to express her thinking process this clearly and how quickly she came up with the solution. How long will it take to be as good as her?

    • @passiongotways1286
      @passiongotways1286 6 месяцев назад

      Just be you

    • @Haise-san
      @Haise-san 6 месяцев назад +9

      Some good practice time doing explanations while you're solving a problem coding, soon enough it will become hardwired in your brain.

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

      you should be much better if you want to get to faang, there you are expected to solve two leetcode hards in ~40 minutes, and this dp task was at most medium

    • @memaimu
      @memaimu 2 месяца назад +1

      A CS as your first and only degree and a passion mainly for programming for the better half of your life.

  • @KaioRosa
    @KaioRosa Год назад +6

    This is fantastic!! I loved it!!!

  • @bloodorangebrisktea87
    @bloodorangebrisktea87 10 месяцев назад +1

    Thank you for making this mock interview!

  • @amortalbeing
    @amortalbeing 8 месяцев назад +6

    side note:
    9:21 dictionaries are ordered since python 3.6. regardless if you'd want an ordered dictionary, you have always have the ordered_dict as an option!

  • @vcool
    @vcool 2 месяца назад +6

    Instead of giving dynamic programming exercises that are completely irrelevant to the job, interviewers should make the effort to come up with more realistic problems have some connection to the job.

  • @zebra00024
    @zebra00024 9 месяцев назад +2

    It was actually very good, both sides are very professional 👍 Excellent examples.

  • @FifthArima
    @FifthArima 17 дней назад

    This is great content ! Appreciate a lot , hugs to both of you for putting this up here.

  • @bfrytech
    @bfrytech 2 месяца назад +4

    Don't worry folks... most interviews are scaled to what the company is hiring you for. Don't be afraid

  • @RamiroAsincrono
    @RamiroAsincrono 3 месяца назад +1

    Thank you for this excellent mock interview!

  • @TheseWordsTouch
    @TheseWordsTouch 13 дней назад

    Im so happy i understood every single bit of this. I first found this video years ago and was completely lost. Lol
    It was smart to introduce IDs. There are a few things i would've done differently (like introducing a book controller class, setting a boolean for the ids, etc) but overall my structuring would've been very similar. Great job and thank you for the video!

  • @j_a.0
    @j_a.0 7 месяцев назад +10

    Im literally not even in uni yet, and i want to do computer science. Im doing maths a level right now, and watching this has gotten me so exicted because it truely is its own language. Ive also always loved solving problems that can have multiple unique ways of getting the same result (hence why i love maths), and ive just realised coding is that exact same thing!!!

    • @UnfinishedYara
      @UnfinishedYara 6 месяцев назад +3

      Keep it up!! Your intrest alone is a great quality to have!

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

    Awesome content. Thank you!

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

    This is an incredible video! Thank you!

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

    Great mock interview! Thanks for the tips :)

  • @masongkrause7
    @masongkrause7 3 месяца назад +1

    In the library class, the collection of books should be a dictionary from Book : active_page_number, that way a users library would be full of books and the page they're open too, along with an active book. That was what the interviewer asked about too! Just in case anyone else was wondering.

  • @Seremothgr
    @Seremothgr Год назад +14

    Great, now some way to handle the crippling interview anxiety.

  • @softwareengineer8923
    @softwareengineer8923 День назад

    What an awesome guide for junior developers, thanks a lot

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

    This man is a beast with data.

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

    i don't have enough words to thank you for this video!

  • @manfrombritain6816
    @manfrombritain6816 8 месяцев назад +2

    4:45 haha i basically made this exact thing for my own fun project to promote a book i wrote. i chose to implement the "display page" thing by writing a script that would get the next X words in the entire book - where it would estimate an average number of words per line and number of lines per page, then try to fetch as near as possible to Lines * WordsPerLine - rounding down.
    it worked pretty well so that page numbers could be independent from the book content, however it would often leave you mid-sentence with a bit of a gap before the end of the line which would look a bit weird.

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

    very educative and professional, made me excited already.

  • @smarch3912
    @smarch3912 7 месяцев назад +6

    As a noob who literally started my journey yesterday I understood nothing, but it's pretty cool to see what someone who already knows her stuff looks like. Hopefully when I come back in a few months eveything she is saying and doing will make sense to me. So far I'm loving it, though.

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

      What age are you starting?

    • @Fran-kc2gu
      @Fran-kc2gu 7 месяцев назад +3

      you are learning in the worst date, interviews are wild now

    • @Florida_man21
      @Florida_man21 2 месяца назад

      ​@Fran-kc2gu I know, I wish I started to code when I was a new born

  • @JS-ii3rn
    @JS-ii3rn Месяц назад

    Great job! I’ve just noticed that you introduced some difficulty maintaining the code and ambiguity in the add_book_to_collection(). Instead of Passing in the arguments manually, passing in a finished book object brings benefits like avoiding duplicates, avoiding invalid states or changing Book in the future.

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

    This was just awesome. 😊

  • @thegamerteo0560
    @thegamerteo0560 5 месяцев назад

    currently doing btec in computer science, this vid helped me a lott

  • @_Anna_Nass_
    @_Anna_Nass_ Год назад +805

    This is top tier content. I love hearing her explain her thinking process. Thank you freecodecamp!

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

      I agree. Kinda annoying how he kept talking over her

    • @Platcode797
      @Platcode797 9 месяцев назад +10

      ​@@OMFGTrexKyleig interviewer can do that, so it's good

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

      As someone who've been on both end of interviewing, verbalising your thought process is very important in an interview - and Kylie Ying did great in that regard here. It's better to overshare about what's going through your mind (as long as it's still related to the matter of the interview 😛) than the opposite; if you're completely silent and suddenly stop doing anything, the interviewer can't read your mind to tell if you're just taking a break to think better about your solution, or if you're completely lost and don't know how to ask for help.

  • @SierraFulminare
    @SierraFulminare 6 месяцев назад

    wait i love this, thank you so much for the video

  • @CesarRodriguez-nb2lm
    @CesarRodriguez-nb2lm Год назад +1

    Amazing content as always...

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

    Awesome!
    I haven't wateched it fully yet but I think it will be perfect if we code with her and actually answer and format our answer while she does the same
    Thats what Im gonna do

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

    Going character by character to detect for plagiarism between two books sounds over the top.
    Have a globalSum var that keeps track of the highest number of common words between books. Indincies is a tulple that caches the indexes of the two books that globalSum comes from.
    Before going character by character, I’d have an array of objects for each book where the keys are the individual words in each book and the values are the number of occurrences the word shows up in the book.
    Then iterate over the array from i ==> [0, n-1) and iterate over the keys in array[i]. If the key is found in array[i +1] then add the minimum value between the two objects to currentCount.
    When we’ve finished checking all the keys, compare if currentSum > globalSum, then update globalSum to currentSum and indexes to [i, i +1]
    Return indexes when we’re done iterating over the array of word_count_objects

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

    Please make more videos like this

  • @younggamerham517
    @younggamerham517 9 месяцев назад +7

    I wouldn’t be able to explain it and talk as good as her, but at least I also had the same concept going through this and slightly a bit different ways to go about making stuff! Other than that great lesson

  • @qghungluu5757
    @qghungluu5757 5 месяцев назад +1

    damn, she's so good at speaking thoughts and exchanging information

  • @antonioaugilar168
    @antonioaugilar168 10 месяцев назад +6

    Just finished the first semester of python and all of this makes sense.

  • @marcus47_
    @marcus47_ Год назад +22

    Started Python a couple weeks ago, was interesting to see the way the scenarios were dealt with considering I don't even really know how classes even work yet lol

    • @stephan4804
      @stephan4804 Год назад +6

      I'm in my second semester of OOP and I still struggle wrapping my head around things like class relationships. I think Most intelligent people if they put the effort in could understand what methods and instances of a classes are. However, to fully understand classes, you need a deeper understanding of object-oriented principles. Now I don't believe most people would comprehend concepts like abstraction, encapsulation, inheritance, and polymorphism etc... Its a very deep and complex topic that takes practice and practice.

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

      I know this is a bit late, but the easiest way I found to understand classes was to, just a coincidence here, but think of them as books. A book has key elements to it, author, the content, published date, isbn etc, and those would be enforceable properties of a class, things that make the object, the object, in this case a book, a book. Right? Then inside a book, has chapters, think of those as methods, every chapter provides a function regarding the book, chapter 1 for example uses the content and starts the process of moving the story forward, while maybe chapter 6 is needed to develop a character a bit more, and all that information is there for you to reference. Think of that as class.method. You need to know about that guy from chapter 6? book.chapter6() will provide that for you. Now you have the blueprint of a book, all you have to do is initialize the object and pass it what it needs, write the author down, write the content, etc. Book hp= new Book(author, content, isbn, etc) and you can crack that thing open whenever you need to now to access it's contents, again, hp.chapter6(). Or a more realistic example hp.length() and your length method would just be like ```return len(self.content)``` using python.
      And to add on to that, for inheritance like above, book maybe more of a broad class if you will, but then maybe you want a short story class with the same type of functions as the book class. There's where inheritance comes in. The book class can be used as a parent of the short story class, where the short story has copied the over structure of a book, but it's still it's own separate thing so it can have some specialized methods as well. I'd keep going but I think you get the jist. It doesn't work great for encapsulation, but just wrapping your head around classes and understanding their purpose opens a lot more possibilities for comprehension for the other concepts.

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

    That keyboard sounds heavenly! 👌

  • @AIGlobalbiz
    @AIGlobalbiz Месяц назад

    Wow! She is so good and confident.

  • @paco5star
    @paco5star 10 месяцев назад +15

    I must be closer to my goal then I think because I was able to build this particular assignment very easily I’ve been learning programming for a year and a half now about to start the job search soon!

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

      Thats great to here! I am on the other side of the spectrum lol. I am learning CSS and HTML 😢 This turns my world upside down. I wish my MIS BS taught me more.

    • @drickascorner
      @drickascorner 9 месяцев назад

      @@chickenlittle4344 lol same just started learning! we will get there.

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

    ❤❤❤ just awesome interview

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

    great mock interview, i love this video.....🙂

  • @Juan_deep
    @Juan_deep Месяц назад +3

    I didnt think my interview would go as bad as it did but boy oh boy was i wrong 😂😂😂 literally froze and looked at the screen for 5 minutes in dead silence they want you to be a full blown expert already prior to the job lol

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

    It was all very exact and direct

  • @FifthArima
    @FifthArima 17 дней назад

    01:01:24 exactly what i did! keeping user class, book class and associated book related info inheriting all properties of book class was better way to model.

  • @usman-ali0
    @usman-ali0 Год назад +2

    This channel is GOAT 🐐❤

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

    Start by creating a diagram class and defining object relations. Then, implement the diagram class code and share it with your interviewer.

  • @48_subhambanerjee22
    @48_subhambanerjee22 6 месяцев назад

    This felt so amazing

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

    I have a couple questions for the book and library classes.
    1. when the code is ran are you intending to make a object from book and then adding it into the collection
    2. when adding to the library collection can you just do this
    self.collection[self.idcount]= book ## book would be the object you made from book
    also based on this you would only need 1 counter in the library that sets a id to a book when inputed into the libraray

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

    she handled that no problem 🔥

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

    This is crazy it’s this really a mockup for fresh grad developer

  • @wulymammoth
    @wulymammoth Год назад +104

    The design misses a couple of things to consider:
    1. if we are representing digital books, how a book’s content is paginated changes quite a bit depending on screen size and it isn’t captured here. It also has an impact on the interface like page turns, etc.
    2. The ID was simply hand-waved. The emphasis was put on titles of books being possibly unique, but since no author is captured, it’s even harder to differentiate the content between two books of the same title. There also isn’t a time stamp to capture when a book was created either. There are some interesting ID schemes out there that can be globally unique and capture time - snowflake for example.
    3. what is the point of having a display_page method? It wasn’t a part of the requirements. When crafting an interface for something it’s intuitiveness for other developers lays heavily in whether another dev can understand what they’re interacting with and what its responsibilities are by simply looking at the methods. Encoding the word display into a method suggests that this object has view-specific concerns.
    For the library design, some considerations that were missed and not asked about:
    - asking how the library is used: humans won’t be trying to remember a machine-generated ID. So how do we obtain the ID for a book? I wish she would have asked about a search interface
    - where did the remove book from collection come from? It wasn’t a requirement
    - this code example revealed some inconsistent API design details: encoding redundant information into the methods, e.g., add to collection (the library is a collection) and the method can be simplified to add or register, and secondly, command of the language: Python has setter and getters via property decorator such that both are of the same name without having to encode “set” into the method name.
    - the library has view-concerns that are owned by the book
    In this interview, Kylie kind of just declares everything in a “matter-of-fact” way. It comes off confident, but gives very little opportunity for the interviewer to interject as she doesn’t spend time asking the interviewer whether something seems amiss or overlooked.
    There are a lot of trade-offs being made and some anti-patterns that have real-world maintainability and extensibility impact with the current design that isn’t considered - the auto-increment ID gen scheme will break should we need to shard. Also what happens when we have books with other attributes like non-digital? This means the book class now gets modified? Lots of considerations. Again, perhaps not required of a junior, but the interviewer should’ve asked and at least forced the interviewee to pivot and see how they handle that, and not simply check if their views of the world aligned.
    However, as a demonstration of how real world interviews are, this is probably pretty run of the mill OOP that would get a pass and there are definitely a few solid considerations in the choice of primitive data types used, although I would have liked the interviewer to push back and ask why one over another more often. He simply just took what Kylie said as is…

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

      Really good observations. Thank you!

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

      I was thinking from the start, that you would never store this data in the app, such a bad design.
      Why not use user_ID and private key to access your database of books and user "libraries". You can store user settings locally, maybe even last pages but storing the books would just compromise your merchandise...

    • @II-xw6kg
      @II-xw6kg 11 месяцев назад

      what a thorough explanation! Great points!

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

      Creating a new book everytime we insert it in a library, does it means that me and you reading the lord of the ring are reading a different book? I can see many principle of object programming are not known by the candidate.. it's ok for the interviewer to go on and passing in a practical implementation.. but the first part was not sufficient..

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

      she discussed that in the video, that there would be single books in a global database keyed for each user's library@@asganaway

  • @johnbruder4519
    @johnbruder4519 9 месяцев назад

    Great stuff Olivier!

  • @hanac5586
    @hanac5586 Год назад +10

    I love her confident approach. Damn my nerves lol, my mind blanks when I'm nervous :D

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

      It's better not bro 😂😂

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

      @@bakeery yeah lmao, "trust me I know this I just can't right now" is not very convincing. I hope experience will make me calmer, luckily I'm still studying.

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

      @@hanac5586 you have to pass through this before getting an experience :)
      Once you know how stuff work, you can crack it, looking forward to seeing your interview 😀

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

      @@bakeery I'll try my best!

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

      Oh same I would just be a complete empty slate 😂😂

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

    I am not sure if you know this or not Kylie but poppy lee in Mythic Quest must be you cause you look exactly like her, especially when you wear the specs. Amazing.

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

    Thank you so much, this will help me apply for a job as a software engineer next Month.

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

      How’s your interview went ?

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

      @@paolajimenez979 Searching still, jobs are being taken. No interview yet.

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

    damn i got a loooong way to go! ha! I knew that already but seeing this really makes it hit home. Just gotta take it one day at a time!

  • @strideredz
    @strideredz 11 месяцев назад +2

    Just starting my coding journey and all I got from this is "Is there Adele" 21:07
    I got a long way to go

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

    Great content big thanks

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

    awesome, thank you for sharing :3

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

    there can be many active books.. a map with mapping between string and boolean makes sense.

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

      Why not just a list of active book ids per user?

  • @CertificationTerminal
    @CertificationTerminal 9 месяцев назад

    Much appreciated!

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

    Genuine Interview

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

    Wow, than you so much!!

  • @deniowork7084
    @deniowork7084 2 месяца назад

    Love this!

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

    Thank you!

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

    Thank you very much for taking the time for the test and the technical interview.
    Unfortunately, we cannot offer you the position at this stage, but let's keep in touch for future opportunities.
    I wish you success and the best realization in your career, don't give up, you have great potential for development.