Software Engineering Job Interview - Full Mock Interview

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 1K

  • @jheelgala6353
    @jheelgala6353 ปีที่แล้ว +1555

    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 9 หลายเดือนก่อน +162

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

    • @bacon5481
      @bacon5481 8 หลายเดือนก่อน +34

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

    • @hassegawamkt
      @hassegawamkt 8 หลายเดือนก่อน

      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 7 หลายเดือนก่อน +31

      This is about as cake an interview as you can have

    • @Spectonimous
      @Spectonimous 5 หลายเดือนก่อน +4

      ​@bacon5481 most interview coding questions I noticed are leetcode medium level questions or you walking through building portions of an application

  • @11Khalid11
    @11Khalid11 ปีที่แล้ว +812

    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 9 หลายเดือนก่อน +8

      have you improved yet?

    • @مجتبى-ط2ه
      @مجتبى-ط2ه 9 หลายเดือนก่อน +38

      Do leetcode , read text books , leave tutorials

    • @JamesballadMD
      @JamesballadMD 8 หลายเดือนก่อน +6

      I’m great with hardware but suck @ coding.

    • @amanshekhar7200
      @amanshekhar7200 8 หลายเดือนก่อน +3

      What should I do then😢

    • @ostop5353
      @ostop5353 5 หลายเดือนก่อน

      ​@@مجتبى-ط2ه there are different types of learners... visual, audio etc. Textbooks aren't for everyone. I myself learned by taking multiple DSA courses on Udemy and Coursera and leetcode. Not a single textbook... programming books are boring a f

  • @ostop5353
    @ostop5353 5 หลายเดือนก่อน +312

    One thing to note is that Kylie Ying is an MIT alumna with both a bachelor's and a master's degree in Computer Science and Physics. This speaks to her exceptional intelligence and talent. Most interviewers (except perhaps those at FAANG companies) don't expect candidates of her caliber, so don't feel pressured to measure up to her level. She is truly remarkable.

    • @ostop5353
      @ostop5353 5 หลายเดือนก่อน +65

      @Joe-ku1ko or maybe you're just jealous? :) jk lol

    • @sharshabiel
      @sharshabiel 5 หลายเดือนก่อน +5

      I would say it was a pretty straightforward implementation

    • @gawdawful3378
      @gawdawful3378 5 หลายเดือนก่อน +65

      @Joe-ku1ko 6 years and you're that full of yourself? That's quite impressive

    • @vamonosraza4361
      @vamonosraza4361 5 หลายเดือนก่อน +44

      @Joe-ku1kohi. I am sure you did not meant to come off as condescending, but if you read your comments with an open mind, you will understand how some may interpret them so. This is one of the problem the industry has, a lot of us lack the social awareness of how we sound to others.
      Regarding the video, I think she intentionally approached this as she thought a first timer would.

    • @arghya9761
      @arghya9761 4 หลายเดือนก่อน +4

      I have a feeling that the "exceptional intelligence and talent" would have been judged to be an "unworthy candidate" in a lot of real-world interviews due to her second part of just fumbling about in the algorithm question. A lot of interviewers, especially those seeing a lot of potentially better candidates (i.e. handling the software design question better AND solving the algorithm question easily), would not have bothered hinting and edging her on as here.

  • @smarch3912
    @smarch3912 ปีที่แล้ว +83

    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 ปีที่แล้ว +1

      What age are you starting?

    • @Fran-kc2gu
      @Fran-kc2gu ปีที่แล้ว +14

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

    • @Florida_man21
      @Florida_man21 8 หลายเดือนก่อน +12

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

    • @sms8717
      @sms8717 24 วันที่ผ่านมา

      how did it go?

    • @stincc4319
      @stincc4319 20 วันที่ผ่านมา

      How you doing now

  • @justin-cassidy
    @justin-cassidy ปีที่แล้ว +551

    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 11 หลายเดือนก่อน +2

      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 11 หลายเดือนก่อน +37

      @@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 11 หลายเดือนก่อน

      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 11 หลายเดือนก่อน +5

      @@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 10 หลายเดือนก่อน +5

      ​@@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.

  • @SteveMorrow8859
    @SteveMorrow8859 ปีที่แล้ว +86

    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!

  • @ubikubik763
    @ubikubik763 ปีที่แล้ว +869

    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 ปีที่แล้ว +23

      yeah, that would be interesting.

    • @reecebygrave7211
      @reecebygrave7211 ปีที่แล้ว +6

      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 ปีที่แล้ว +2

      i love that idea

  • @shockearth4295
    @shockearth4295 ปีที่แล้ว +89

    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 7 หลายเดือนก่อน +7

      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.

  • @omari6108
    @omari6108 ปีที่แล้ว +98

    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.

  • @jaretsanchez1900
    @jaretsanchez1900 ปีที่แล้ว +75

    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 ปีที่แล้ว +13

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

    • @sidgillespie5879
      @sidgillespie5879 7 หลายเดือนก่อน +4

      Keep in mind this video is staged.

  • @olesiacheban2054
    @olesiacheban2054 7 หลายเดือนก่อน +42

    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!

    • @salehyahyaa
      @salehyahyaa 5 หลายเดือนก่อน

      what project did you do

  • @masongkrause7
    @masongkrause7 9 หลายเดือนก่อน +6

    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.

  • @Khadi-C
    @Khadi-C ปีที่แล้ว +459

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

    • @Adam-kk7nw
      @Adam-kk7nw ปีที่แล้ว +339

      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 ปีที่แล้ว +79

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

    • @Stephen.c19
      @Stephen.c19 ปีที่แล้ว +102

      @@Adam-kk7nw modern problem require modern solution lmao

    • @Adam-kk7nw
      @Adam-kk7nw ปีที่แล้ว +9

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

  • @honeydevaang732
    @honeydevaang732 ปีที่แล้ว +131

    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 11 หลายเดือนก่อน +2

      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 11 หลายเดือนก่อน

      ​@@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 8 หลายเดือนก่อน

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

    • @YouTube_MusicStyle
      @YouTube_MusicStyle 7 หลายเดือนก่อน +1

      ​@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.

    • @remy7663
      @remy7663 4 หลายเดือนก่อน

      ​@@rosspayne5099 If you've tried coding with AI they never work well in bigger projects, you can use the structures and stuff but ultimately there is a lot of tweaking to do

  • @lilyou2219
    @lilyou2219 ปีที่แล้ว +93

    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 ปีที่แล้ว +2

      Just be you

    • @Haise-san
      @Haise-san ปีที่แล้ว +17

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

    • @optimistiks
      @optimistiks 9 หลายเดือนก่อน

      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 8 หลายเดือนก่อน +1

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

  • @licokr
    @licokr ปีที่แล้ว +43

    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!

    • @notquitehim
      @notquitehim 5 หลายเดือนก่อน +1

      you got it man! How did it go? or how is it going?

    • @huynhkhaphi9191
      @huynhkhaphi9191 2 หลายเดือนก่อน +1

      Me too, omg, so nervous for English interview.

  • @palecoconut
    @palecoconut ปีที่แล้ว +36

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

  • @Plasma_King
    @Plasma_King ปีที่แล้ว +50

    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 ปีที่แล้ว +5

      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.

    • @anindiansquirrel
      @anindiansquirrel หลายเดือนก่อน

      @@VGBNDGRL I do agree with you on the last sentence..

  • @unitygamingrio88
    @unitygamingrio88 ปีที่แล้ว +51

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

  • @j_a.0
    @j_a.0 ปีที่แล้ว +16

    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 ปีที่แล้ว +5

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

  • @JetSoftProHQ
    @JetSoftProHQ ปีที่แล้ว +72

    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!

  • @bfrytech
    @bfrytech 8 หลายเดือนก่อน +15

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

  • @Kazner0h
    @Kazner0h ปีที่แล้ว +27

    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.

  • @Abanoub_Nabil_Ishaq
    @Abanoub_Nabil_Ishaq 2 หลายเดือนก่อน +5

    These mock interview videos are extremely useful. I've one request, though. Can you please make a video on how to type quickly on a keyboard without looking at it. Such a skill can, and will actually, significantly increase every programmer's productivity.
    Please consider my request!

    • @WhySoSerious90900
      @WhySoSerious90900 หลายเดือนก่อน +1

      There are alot of sites where you can practice your typing, and it will eventually increase your speed. And the question about typing without looking at the keyboard, it is just about muscle memory. So the more you practice your typing the more you will get better and quick at it.😊

  • @Sinnerage
    @Sinnerage 8 หลายเดือนก่อน +5

    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.

    • @sana-yo6bk
      @sana-yo6bk 14 วันที่ผ่านมา

      how u doing now

  • @frogery
    @frogery ปีที่แล้ว +99

    i will never work for any company that asks these types of algorithm interview questions, but i do appreciate seeing how people go about solving them :)

    • @TozzaYT
      @TozzaYT ปีที่แล้ว +4

      how do you know they wont ask you this?

    • @frogery
      @frogery ปีที่แล้ว +103

      @@TozzaYT if they do i'll just run away 😂

    • @MiltkaStar
      @MiltkaStar ปีที่แล้ว +9

      Why are these interview questions bad? Just curious

    • @DetectiveConan990v3
      @DetectiveConan990v3 ปีที่แล้ว +82

      @@MiltkaStar i think one problem people have with them is that you almost never have to do these leetcode style questions in a real job

    • @muratcemyalin
      @muratcemyalin ปีที่แล้ว +54

      i agree with you. i've been working as a coder for almost 21 years for now and never wrote a code to solve anything like a "plagiarism" algorithm question. This is not a real world question. they are just questions for satisfying their egos.

  • @amortalbeing
    @amortalbeing ปีที่แล้ว +7

    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!

  • @jurycould4275
    @jurycould4275 28 วันที่ผ่านมา

    Oh crap... Went into this thinking it would be staged. Didn't think they would let her fail so gloriously on such a simple question. Kudos to her for putting herself out there like this.

  • @nocopyrightgameplaystockvi231
    @nocopyrightgameplaystockvi231 ปีที่แล้ว +259

    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 ปีที่แล้ว +52

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

    • @nocopyrightgameplaystockvi231
      @nocopyrightgameplaystockvi231 ปีที่แล้ว +13

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

    • @thisismyplaylist
      @thisismyplaylist ปีที่แล้ว +4

      yep I added that to my background

    • @anon-fz2bo
      @anon-fz2bo ปีที่แล้ว +2

      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.

  • @Seremothgr
    @Seremothgr ปีที่แล้ว +22

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

  • @whispercat56235
    @whispercat56235 ปีที่แล้ว +10

    I just love Kylie's workflow and mental clarity!

  • @qghungluu5757
    @qghungluu5757 11 หลายเดือนก่อน +4

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

  • @prism_schism
    @prism_schism ปีที่แล้ว +38

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

  • @shishenliart
    @shishenliart ปีที่แล้ว +10

    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.

  • @TheQuancy
    @TheQuancy ปีที่แล้ว +56

    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 ปีที่แล้ว +7

      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 ปีที่แล้ว +7

      lol ol' boy traumatized

  • @sixstanger00
    @sixstanger00 ปีที่แล้ว +68

    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 8 หลายเดือนก่อน +9

      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 8 หลายเดือนก่อน

      @@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.

    • @vaisakh_km
      @vaisakh_km 6 หลายเดือนก่อน +7

      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 6 หลายเดือนก่อน +21

      @@vaisakh_km 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.

    • @shubham-dl1xx
      @shubham-dl1xx 5 หลายเดือนก่อน +1

      @@sixstanger00 couldn't have said it better. This method just makes the person so anxious that they can bomb their interview and lose their confidence.

  • @wulymammoth
    @wulymammoth ปีที่แล้ว +111

    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 ปีที่แล้ว

      what a thorough explanation! Great points!

    • @asganaway
      @asganaway ปีที่แล้ว

      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 ปีที่แล้ว +2

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

  • @arkprince9413
    @arkprince9413 ปีที่แล้ว +3

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

  • @barravos
    @barravos ปีที่แล้ว +4

    I think it's very important to point out that at 33:45 the explanation that Kylie gave was incorrect in regards to what Keith meant when he used the term sub string. Keith later indirectly clarifies at 44:10 what sub strings are meant to represent, which to my understanding are the individual words in a string aka "Sub Strings", not the individual characters (char) of a word, subsequently also not the words that can be created from the individual characters to match words in the comparison of String A to String B. This can be very confusing to viewers who are not familiar, and I think requires further re-clarifying.
    Fantastic video, really loved the example shown for demonstrating OOP, and the approach to writing out each task and breaking down the solutions very specifically. Thank you for the video.

    • @AlexAnder-op7yc
      @AlexAnder-op7yc 8 หลายเดือนก่อน

      It's definitely the characters not the words but it's not clear why she is saying non-consecutive occurences of the same characters are substrings too. That's just not true.

  • @PodcastforSoftwareTesters
    @PodcastforSoftwareTesters 25 วันที่ผ่านมา

    Great mock interview session!
    I loved how you broke down each part of the interview, especially the dynamic programming portion.
    The discussion about handling both object-oriented design and algorithms in a single interview is super insightful, and your emphasis on making the interview collaborative and conversational is encouraging.
    Thank you for sharing such valuable tips for tackling technical interviews!

  • @ygorth
    @ygorth ปีที่แล้ว +5

    I value and appreciate the diverse approaches individuals take when conducting interviews. However, having served as a developer manager for years now, I have consistently chosen not to conduct live code interviews. In my experience, I believe that relying solely on this method may inadvertently lead to missing out on exceptional talent. Instead, I place my emphasis on specific concepts/criteria, such as:
    - Could you provide an explanation of Domain-Driven Design (DDD)?
    - Do you practice Test-Driven Development (TDD), and if so, can you elaborate on its significance and its relationship with SOLID principles?
    - And so forth...
    By focusing on these key aspects, I aim to identify and engage with candidates who possess a deeper understanding of fundamental principles in software development. Anyway, my two cents.

    • @jhossepmartinez1771
      @jhossepmartinez1771 10 หลายเดือนก่อน

      deeper understanding of fundamental principles? Software development has been active since way before those concepts have existed. You're actually missing on talent by focusing on those concepts. An experienced software developer can adapt to any form of development. To be honest your way of interview is equivalent of making a test after doing a course of TDD.

    • @feignit
      @feignit 10 หลายเดือนก่อน

      TDD is garbage though.

  • @tallerdenyooh
    @tallerdenyooh ปีที่แล้ว +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

  • @paco5star
    @paco5star ปีที่แล้ว +18

    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

      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 ปีที่แล้ว

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

  • @kirk7880
    @kirk7880 10 หลายเดือนก่อน +2

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

  • @vcool
    @vcool 8 หลายเดือนก่อน +7

    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.

    • @PsychoDude
      @PsychoDude 8 วันที่ผ่านมา

      I felt like this was basic OOP nothing out of the ordinary. Maybe in a job you will use a state management library and learn some libraries or even use a framewrk like Angular that already uses OOP practices in its opinionated framework, because in reality no one does this from scratch but it does not hurt to show you know the basics. Afterall this are the basics

  • @5enox
    @5enox 5 หลายเดือนก่อน +1

    I Think a better solution in the dynamic programming question would be to split the content in each book and match the same words, if the next word is the same, it would keep on going until it finds or detects a sentence or paragraph that is the same in both books, and of course remove any punctuation and lower everything.

  • @DiegoXMV
    @DiegoXMV ปีที่แล้ว +8

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

  • @PrincessStarRock
    @PrincessStarRock ปีที่แล้ว +14

    i got my computer science degree a few weeks ago and i am terrified of applying for jobs because of interview like these.

    • @paultvshow
      @paultvshow 9 หลายเดือนก่อน +1

      Why? The problems asked in this interview are pretty simple if you have done hands-on project before, which you are supposed to have if you are applying for a job by the way?

    • @PrincessStarRock
      @PrincessStarRock 9 หลายเดือนก่อน +2

      @@paultvshowit’s not the task itself that is the issue, it’s doing it under ‘pressure’ with someone watching you. That makes it nerve wracking

    • @daughteroftheking3220
      @daughteroftheking3220 9 หลายเดือนก่อน

      Good luck I can’t imagine myself personally being a computer science person it would definitely get me lost and give me a whole lot of anxiety if I have to do this to land a job.

  • @marcus47_
    @marcus47_ ปีที่แล้ว +24

    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 ปีที่แล้ว +13

      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.

  • @justinchiang1479
    @justinchiang1479 8 หลายเดือนก่อน +4

    "Okay Kylie, you did a great job but I was looking for a different solution. Thank you for your time but we are moving on with other candidates."

    • @rtermnc2
      @rtermnc2 8 หลายเดือนก่อน

      🤣🤣🤣🤣

  • @TeamLu
    @TeamLu ปีที่แล้ว +5

    I didn't understand anything that was said, but this girl is amazing.

  • @Papa_Static
    @Papa_Static 2 หลายเดือนก่อน

    I was really confused about the Book implementation up until 29:30. I thought I was crazy for thinking it wouldn't work with multiple users. Glad the interviewer addressed it.

  • @antonioaugilar168
    @antonioaugilar168 ปีที่แล้ว +7

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

  • @akramunfiltered
    @akramunfiltered หลายเดือนก่อน

    I think it would be better this method handle the case when the current page is the last one. It might throw an IndexError if you try to access a page that doesn't exist.:
    def turn_page(self):
    if self.last_page < len(self.content) - 1:
    self.last_page += 1
    return self.display_page()
    else:
    return "You are on the last page."

  • @raccontiinformatici8580
    @raccontiinformatici8580 ปีที่แล้ว +7

    In my view, the last page read by the user should not be a field of the Book class. If we enter the last page read as a field of the book, it means that we will have to create different instances of the same book for different users of our application. By the way, the last page read does not seem to me to be a property of the book, but a field of the user in relation to the book.
    Anyway thanks, it was interesting to follow this video. It allowed me to get some practice on application design. I had a lot of fun with it.

    • @alfonsovieyra9321
      @alfonsovieyra9321 ปีที่แล้ว

      You reckon she should have made a relation table between books and users?

    • @raccontiinformatici8580
      @raccontiinformatici8580 ปีที่แล้ว +6

      @@alfonsovieyra9321 As far as I remember, I would have created a ‘bookmark’ map of in the user class to track the last page read for a given user’s book. In this way you can avoid duplicating instances of books just to keep track of the bookmark.

    • @rdothl5
      @rdothl5 ปีที่แล้ว +3

      @@raccontiinformatici8580 That is the same thing I was thinking of. She totally forgot to take into consideration multiple users in Book app. Design is totally off If you ask me.

    • @ranjaniraman3376
      @ranjaniraman3376 ปีที่แล้ว +1

      exactly my thoughts the last read page is per user and it shouln't be part of the book. It should be part of a user object more specifically user object have a of books with key being books (active / inactive) and value be last read page in that book.

  • @wisataakhirpekan
    @wisataakhirpekan หลายเดือนก่อน

    For many experienced SWEs, I believe it's not hard to code it in a real office day. But walk through this question and code it in an F2F iview is significantly make it harder.

  • @hanac5586
    @hanac5586 ปีที่แล้ว +15

    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 9 หลายเดือนก่อน

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

  • @RefinedLuxe
    @RefinedLuxe 3 หลายเดือนก่อน +3

    yeah this killed my confidence

  • @GuitarHope
    @GuitarHope ปีที่แล้ว +31

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

  • @sarahjanelara8046
    @sarahjanelara8046 5 หลายเดือนก่อน +1

    Great mock interview! I agree with the testing and edge case comment. For example, adding a validate method to make sure the book was in the collection already before adding and deleting the book... and also a user class maybe?

  • @_Anna_Nass_
    @_Anna_Nass_ ปีที่แล้ว +820

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

    • @OMFGTrexKyle
      @OMFGTrexKyle ปีที่แล้ว +9

      I agree. Kinda annoying how he kept talking over her

    • @Platcode797
      @Platcode797 ปีที่แล้ว +11

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

    • @BrendanAbolivier
      @BrendanAbolivier ปีที่แล้ว +9

      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.

  • @wulymammoth
    @wulymammoth ปีที่แล้ว +3

    Substring was redefined to subsequence and not noted. Semantically, a substring’s characters or graphemes must be contiguous.

  • @younggamerham517
    @younggamerham517 ปีที่แล้ว +8

    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

  • @Wts185
    @Wts185 ปีที่แล้ว +2

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

  • @strideredz
    @strideredz ปีที่แล้ว +3

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

  • @Pirateboi-vt5rp
    @Pirateboi-vt5rp 7 หลายเดือนก่อน +1

    I think a better solution for the algorithm would be splitting the string apart into a list using a " " as a delimiter and then comparing each word rather than using characters.

  • @dave_di
    @dave_di ปีที่แล้ว +5

    This man is a beast with data.

  • @angelg3642
    @angelg3642 9 หลายเดือนก่อน

    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.

  • @Yeard491
    @Yeard491 ปีที่แล้ว +13

    Been looking for this exact thing for AGES. Awesome!

  • @TheseWordsTouch
    @TheseWordsTouch 6 หลายเดือนก่อน +1

    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!

  • @Juan_deep
    @Juan_deep 7 หลายเดือนก่อน +10

    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

  • @iwsajet8506
    @iwsajet8506 3 หลายเดือนก่อน +1

    Super helpful video. One thought that came to mind in the OOP Design question was, wouldn't it be better to store the "last page" or bookmarked page at the user level rather than at the book-level? The Book class describes an instance of a book, but can be read by multiple users. It seems it would be better to have a Reader or User class, which contains user-specific information like their library, their bookmarks etc.

  • @countremy730
    @countremy730 ปีที่แล้ว +11

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

  • @Theonewhoescapedfromcommie
    @Theonewhoescapedfromcommie 6 หลายเดือนก่อน +1

    The OOP part is easier than most of the one I got when I join interview as freshers. the Algo problem is a leetcode-medium. So I guess this interview is to find a person from new fresh to under 2 years of experience.

  • @faraaz3414
    @faraaz3414 ปีที่แล้ว +9

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

  • @jayrank5565
    @jayrank5565 4 หลายเดือนก่อน

    Bro how the hell can you even think this quick I’ve never felt so discouraged 😭

  • @sumkid9263
    @sumkid9263 2 หลายเดือนก่อน +5

    I think the biggest take away I got from this is to just ask a bunch of clarifying questions and hope your brain forms connections so that you can finally start pooping some code out lol

  • @ZfatiYehuda
    @ZfatiYehuda หลายเดือนก่อน +1

    Classes represent BookViewer, Book will simplify and more loose coupled.. where Book is just a polo and viewer is more a utility for active new Book, turning pages, etc..

  • @omgmaw
    @omgmaw ปีที่แล้ว +6

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

  • @ylacs
    @ylacs 29 วันที่ผ่านมา

    This comment is only for the OOP qu.
    I would rate her performance as a pass for a grad/junior role. She did a good job reiterating all the requirements, chose appropriate data structures, and the code fulfilled all the basic requirements.
    Some of the things that would've gotten her to a strong hire for a grad, maybe weak hire for mid-level are:
    - considering and handling error cases. e.g Book.turn_page() should gracefully handle turning the page on the last page instead of the current implementation which would lead to an index out of bounds error. Or checking the book ID exists in the library before setting it as the active ID.
    - considering the time/space complexities of the various operations, and how that is impacted by the choice of data structures
    - weighing the choice of book ID in more detail. e.g. int id vs UUID etc
    - asking more qus upfront or commenting about the extensibility of the design

  • @anony88
    @anony88 ปีที่แล้ว +336

    One of the reasons I dont want to pursue a degree in software engineering or computer science is because of these ridiculous interviews. They're like tournaments and you're competing against way too many people.

    • @LinuxUser123
      @LinuxUser123 ปีที่แล้ว +44

      This doesn't seem that difficult honestly

    • @Directgamez28
      @Directgamez28 ปีที่แล้ว +5

      ​@@LinuxUser123Please do explain why you think so ?

    • @LinuxUser123
      @LinuxUser123 ปีที่แล้ว +45

      @@Directgamez28 dont get me wrong iam a begineer and this is kind of difficult, but if you know OOP then its kind of just like a puzzle, a book has atributes and functions
      like title, publisher etc, and funtions like read() it kind of just makes sense you would have to make that into a class, a library is bunch of books, with maybe id's so makes sense thats gonna be a class, maybe its just me idk

    • @iamnoxus
      @iamnoxus ปีที่แล้ว +18

      It's because you don't have a good mindset

    • @karlaanchondo
      @karlaanchondo ปีที่แล้ว +45

      Isnt that how, basically, how all interviews work...?

  • @astrophel7815
    @astrophel7815 4 หลายเดือนก่อน +1

    Thats it guys, this is it for me, My brain was spinning while i was watching this video, How come these things go above my head.

    • @Fracasse-0x13
      @Fracasse-0x13 4 หลายเดือนก่อน

      Bro these are basic things how is it flying over your head?

    • @abdulbasetsaleh7998
      @abdulbasetsaleh7998 11 วันที่ผ่านมา

      Don't worry I am in the basic😂​@@Fracasse-0x13

  • @АдамСмит-ы7р
    @АдамСмит-ы7р ปีที่แล้ว +4

    The legend behind the coding problem is kinda confusing if LCS computation was the intended solution, because now that you have a function that computes LCS of two books it's nice but you still have a quadratic number of pairs of books, and the LCS computation is not exactly cheap, so it doesn't seem to be a practical approach to the original problem, I guess in real life one would do some K-gram matching or something like that.
    Also, traditionally it's a consecutive subsequence that's called a substring, not just any subsequence.

    • @jeffrey5602
      @jeffrey5602 ปีที่แล้ว

      yeah my first thought was why do we do it on a character level. just get rid of punctuation and iterate over arrays of words would safe big time, but then again the solution to the problem stays the same. So if one doesn't know how to solve longest substring match it doesn't help that much either

  • @lovemore4083
    @lovemore4083 ปีที่แล้ว +2

    More than an interview this seems like a scrum call where the project manager and his team member are discussing on the technical processes to execute real time projects in high detail. In most interviews I’ve faced so far your coding based mind set is judged once you progress to the final round. Not all software engineering job interviews are this complex and are conducted this way. Most interviewers are curious to know your significant contributions in the recent projects and how your acquired skill set can be applied to the application they are working on improving or innovating. Last but not the least how well do you remember the basics … the abcd of programming.

  • @kavertx9167
    @kavertx9167 ปีที่แล้ว +96

    What level is this interview for? Junior or mid-level? The OOP part seemed a bit easy, but the algorithm portion was a bit more complex. I suppose I just need to spend more time on solving algorithms. Amazing video, very helpful to see the general idea and flow of such a dreadful process. Would love to see more of these.

    • @thisismyplaylist
      @thisismyplaylist ปีที่แล้ว +17

      i would say junior , there are many interview in youtube where you can see their problem are more complex but i think this would be fine if you are beginning about technical interview.

    • @anon-fz2bo
      @anon-fz2bo ปีที่แล้ว +24

      the oop part was childs play 😂. hardest part of being a swe in asia is getting to the interview.

    • @crisi6754
      @crisi6754 ปีที่แล้ว +37

      @@thisismyplaylist DP question for a junior? Lol

    • @kxb6098
      @kxb6098 ปีที่แล้ว +5

      ​​​@@crisi6754 u think this is hard? we get problems on segment tree, binary lifting, lca, dijkstra, advanced dp and more in online tests

    • @thisismyplaylist
      @thisismyplaylist ปีที่แล้ว +4

      @@crisi6754 yep these were questions junior

  • @manfrombritain6816
    @manfrombritain6816 ปีที่แล้ว +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.

  • @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?

  • @RueKit-s9d
    @RueKit-s9d 25 วันที่ผ่านมา

    Its just about the comprehension of the problem, and the knowledge for the solution

  • @sunnydincognito6605
    @sunnydincognito6605 ปีที่แล้ว +6

    I couldn't do this.... I had one interview like this and I failed. My own voice would distract my thinking process. I just don't work this way. I have to hear myself thinking in order to write the code. I also would have been distracted by the interviewer peering over me. Thank God not a lot of interviews go like this. Most companies have an online test you can take or ask you a bunch of multiple-choice questions. Just because you can't verbalize what you're thinking very well doesn't make you a bad coder, or are even a worse coder than someone else who can verbalize what they're thinking.

    • @YuckFou0x0FFFF
      @YuckFou0x0FFFF ปีที่แล้ว +3

      That's fair enough. Some people do not work/think well when they are being starred down. Not every company is structured the same way though.

  • @Ninjaah_
    @Ninjaah_ 11 หลายเดือนก่อน +1351

    i am never getting a job

  • @timcodex
    @timcodex 7 หลายเดือนก่อน

    It's a great mock interview. I thought about 3 classes that seem better for me: book, user, and library {books: arr[], users: arr[], ...}.

  • @thekingswool
    @thekingswool ปีที่แล้ว +7

    I’m going to start my actual coding classes soon for my major but this video is making me feel like I’m way too dumb to be pursing this omg 😭

    • @jalennmichael
      @jalennmichael 9 หลายเดือนก่อน

      bro same😭 but im gonna keep going

  • @softwareengineer8923
    @softwareengineer8923 6 หลายเดือนก่อน +2

    What an awesome guide for junior developers, thanks a lot

    • @tatlidilo
      @tatlidilo หลายเดือนก่อน

      is this problem for juniors?

  • @joeyyeet2970
    @joeyyeet2970 ปีที่แล้ว +6

    this is so intense I dont know why

  • @joetkeshub
    @joetkeshub 11 หลายเดือนก่อน +1

    It's stunning that the interviewer didn't stop Kylie (about detecting plagiarism) straight! There were ONE key-word for the problem WITHOUT re-inventing the wheel, what Kylie did want to perform: IMPORT AI API and voilà! Otherwise, there's a classic string-analyzer #101 solution: regular expression libraries! That interview is surrealist from my point of view. It does NOT help people prepare for a tough interview!

  • @KaioRosa
    @KaioRosa ปีที่แล้ว +8

    This is fantastic!! I loved it!!!

  • @JinkProject
    @JinkProject 25 วันที่ผ่านมา

    you could simplify this further by creating a separate Page object that has a "text" and "number". Book should have an `isActive` parameter that the Library controls.

  • @bulentgercek
    @bulentgercek ปีที่แล้ว +3

    I am at 11 minutes into the interview and I realized 2 things. Yes maybe I am judging too fast but I think these are very important to point out.
    1) Interviewee said, 5:56 "Let's make this window smaller so people can see..." What people you are talking about? You are in a job interview. This has to be a MOCK interview! Totally wrong representation.
    2) She started very very wrong way to design the OOP system by classes and that is why she totally created wrong relations between books and users. First of all whole reason, you are creating a program is to access data. That is why first of all you need to design a scalable simple database context. You can use either diagram software or just an Excalidraw type of program. I started with this by stopping the video at 4:20 and after this database design, the actual program was over in my head.
    table: books
    model: Book
    * id: number
    * name: string
    * pages: number
    * users: User[]
    table: users
    model: User
    * id: number
    * name: string
    * books: Book[]
    table: Currents
    model: Current
    * id: number
    * book: Book
    * user: User
    * page: number

    • @pidge8964
      @pidge8964 ปีที่แล้ว +2

      this makes a lot of sense. i thought the way she was explaining it was a bit convoluted

  • @quimalabs
    @quimalabs ปีที่แล้ว

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

  • @0xpurn
    @0xpurn ปีที่แล้ว +12

    QUESTION: For Which level of job position can I expect this kind of interview? Will a job interview for an entry-level position look like this? Are job interviews for tier-I jobs (FAANG jobs?) look like this? I am switching from mechanical eng. to Java backend development by doing a boot camp so don't know the non-academic things about the job-market. Any tip would be helpful.

    • @zerry4353
      @zerry4353 ปีที่แล้ว +29

      If this is an entry level interview i'm quitting coding right now lol..

    • @3WL2
      @3WL2 ปีที่แล้ว +10

      @@zerry4353 It most certainly is entry level, the OOP portion is pretty basic if you've a full grasp of OOP , the algorithm part should be understandable once you're able to do most easy questions on Leetcode, hackerrank, etc. I wouldn't quit though, there are definitely a lot of 'AHA' moments when programming. Sometimes problems or alogrithms that make no sense will suddenly seem like menial tasks once you've put in the work.

    • @kkcombs622
      @kkcombs622 11 หลายเดือนก่อน

      Often companies will use the same question for all levels but have different expectations.