Whiteboard Coding Interviews: 6 Steps to Solve Any Problem

Поделиться
HTML-код
  • Опубликовано: 28 май 2024
  • Whiteboard Coding Interviews: A 6 Step Process to Solve Any Problem
    Check out the full transcript here: www.fullstackacademy.com/blog...

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

  • @jardondiego
    @jardondiego 4 года назад +625

    1. Repeat: make sure you do understand the problem.
    2. Example: get insights by doing examples
    3. Approach: come up with your approach(es) to the problem (brute force first)
    4. Code: write the code for your chosen approach
    5. Testing: pass the testcases
    6. Optimize: optimize the complexities (time and space) of your algorithm

    • @emmanueltorty4402
      @emmanueltorty4402 3 года назад +5

      Nice one! You can make it better by adding timestamps to each step.

    • @luisady8990
      @luisady8990 3 года назад +4

      Thank you, saved me a lot of time!

    • @jgaurav6
      @jgaurav6 2 года назад +8

      One of the things that I found helpful that you missed here is breaking down the problem into multiple parts (possibly smaller functions). This helps to avoid being stuck in trivial implementation details just because your code feels super complex and also helps focusing on one small problem at a time.

    • @MichaelStephenLau
      @MichaelStephenLau 2 года назад +5

      You really don't have time to brute force and optimize in 20min. Many FAANG companies will tell you to explain your most efficient approach, why, then do it.

    • @wtfdidijustwatch5053
      @wtfdidijustwatch5053 2 года назад

      This is exactly what he said in the video.
      What’s your point?

  • @samanthagomez1858
    @samanthagomez1858 2 года назад +147

    I had an interview today and it was my FIRST TIME whiteboarding! I was so nervous and had no clue what to expect so I just wanted to say thank you for making this video because it really helped me get through the interview and I was lucky enough to get an email back to move on to the next stages.

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

      Hi, what was your whiteboard question?

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

      hello, I hope you got the job and was it for an entry level web developer job.I have one soon and i dont have an idea what the question is going to look like

  • @onaspnet
    @onaspnet 4 года назад +33

    R -> also stands for RELAX

  • @BehPoker
    @BehPoker 3 года назад +28

    This is probably the best valued programming content I've seen on youtube.

  • @JustinSchieck
    @JustinSchieck 3 года назад +60

    I have an interview today. Out of everything I've watched to prepare in the last 2 days, this has been the best help yet. I came from computer programming college courses and not computer science and have 4 years of web dev under my belt. I've never done a coding interview as I've worked for a large corp since I left school. I've needed this example.

    • @davidleal714
      @davidleal714 3 года назад +7

      how was it?

    • @AnzarDtafukt
      @AnzarDtafukt 2 года назад +3

      well, bro?

    • @vcalesco
      @vcalesco 2 года назад +7

      @@davidleal714 i really hate when they don´t respond, what is the problem?

    • @chilly2171
      @chilly2171 2 года назад +1

      @@vcalesco Those that aced coding interviews like myself (Google intern) knows that this video is useless.

    • @diffuusio4852
      @diffuusio4852 2 года назад +5

      @@chilly2171 Useless for you*
      Also, I have never been asked these questions in tech interview. The last tech interview I did for web dev I had to create a game. It was way easier than memorizing these useless algorithms that you never actually use after graduating.
      A lot of the education in US seem to be memory based. You know the questions they are going to ask and can therefore be ridiculously well prepared.

  • @anikamukherjee7027
    @anikamukherjee7027 2 года назад +8

    This deserves more views. I have been working as a manager for some time and was feeling very nervous for a technical interview since it's been a while since I've had to do coding. This gave me very practical advice that I will certainly be using and will take with me forward to any future technical interviews.

  • @meowchka
    @meowchka 3 года назад +34

    I really appreciate this video! Thank you for taking your time to explain this. I've been in this field for over a decade, and I realize now that when I was an entry level developer I naturally performed at interviews using similar set of steps. Now as I am at a senior level, I am more nervous about white boarding than ever before. I realize that it is because I adopted the classic thought -- "As a senior I need to be able to solve all of these problems easily." I appreciate this video so much as it reminded me that "No I don't have to know all of it. The goal is to show how I think." Thanks!

  • @AlbertoRodriguez-oe6jo
    @AlbertoRodriguez-oe6jo 2 года назад +1

    Thanks, you saved me from directly rushing towards the keyboard and start typing code as soon as problem is displayed.

  • @ChristopherCricketWallace
    @ChristopherCricketWallace 2 года назад +22

    it's a test to see if you're just like them--a test to see if you know the same things they do (and therefore are on their level).
    Personally, I think that's not always the best way to full a team. It may be good to have people that know different things so your team can do more together.

  • @rogerdeutsch5883
    @rogerdeutsch5883 4 года назад +30

    Fantastic talk. Great points created around a memorable acronym. Especially great points were:
    1. Talk your approach out, talk about what your thinking 2. Decompose your solution into high-level functions (don’t start writing imperative code) 3. Break down your approach into high level ideas -- you can often become caught-up on trivial details but this helps you think of the over all solution. Thanks for the great advice.

  • @LorandPalfalvi
    @LorandPalfalvi 2 года назад +1

    I feel like this helped me reduce my technical interview anxiety a bit. Thank you so much! 🙏

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

    I think their should be ONE more little step in here. That being simplify and break down the problem into smaller parts, then once you have your bearings on that small control size, scale it up to the whole problem at hand. It's not always gonna work, but it's helped me notice patterns I was missing when trying to tackle the problem as a whole.

  • @ians474
    @ians474 2 года назад

    Very insightful. I can apply this not only to my future interviews, but also to my future coding problems. Thanks man!

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

    Great video, these are some of the ideas I had when prepping for interviews. It would be nice if Fullstack Academy would post a mock interview that follows these steps.

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

    After watching a thousand videos about this topic. This is the best of them all. No disrespect to other creators.

  • @jjrauch4466
    @jjrauch4466 3 года назад +2

    This is the best video I have watched on this subject. Thank you.

  • @batlin
    @batlin 2 года назад +4

    I've heard that "breadth-first coding" idea described before as "top-down" rather than bottom-up, but breadth-first describes it better. There's an old diagram format from the 1980s called Warnier diagrams which is basically all about this. The conventions of the diagram aren't very important, other than that it makes you describe what happens at the top level in one or two words per action, before moving down to the second level and so on.

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

    WoW! THIS. I needed exactly, If and when I pass a whiteboard interview someday , I will come back here and thank you!

  • @KaneTheWrestler
    @KaneTheWrestler 4 года назад +12

    Very helpful. Please make a sample video with the whiteboard.

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

    I have to say this has been the most helpful video I have watched to prepare myself, and it helped me way more than I thought it would through my past interview. Background: I am a very pathologically anxious person. Trick interview questions with stangers looking over my shoulder and judging me is definitely one of the most terrific situation possible for me to be in.
    I was still very unbearably freaked out with the interview, almost brain-frozen by anxiety and dark thoughts. But this video really gave me those few steps I could hold to, and it was comforting. I was able to get started, clear-up my thoughts, and tackle the problem with a clear methodology, in a constructed way.
    I was still very anxious, and it felt like I solved their problem in a "secondary thread", while my main thread was focused on being anxious and frozen. But that secondary thread was definitely following the framework, and I think it was key. Apprently, my secondary thread solved their problem successfully.
    I'm still a bit bitter that they ask this kind of trick questions during interviews. It's only good at evaluating the level of stress of the interviewee, and how much they have prepared for this very specific kind of interview question, which is pointless and unrelated to the actual job. But regardless, thank you so much, this video was of great help.

  • @CabVideoz
    @CabVideoz 3 года назад +4

    This helped me calm down a lot, thanks!

  • @yohsahrdcrpirate
    @yohsahrdcrpirate 2 года назад

    Thank you sooooo so much. Made a huge difference in my prep and approach to the interview

  • @boliang252
    @boliang252 3 года назад +2

    Best code interview tips ever!!

  • @DiegoOliveiraProf
    @DiegoOliveiraProf 4 года назад +35

    totally faild my interview with Amazon. My codes didn't pass all the tests, felt horrible at the time. Then realized it is a huge company and many people told me it is very hard to pass!

    • @sneezygibz6403
      @sneezygibz6403 3 года назад +1

      I'm nervous for my interview tomorrow. Hopefully it goes well

    • @DiegoOliveiraProf
      @DiegoOliveiraProf 3 года назад +8

      @@sneezygibz6403 don't worry, I managed to pass in November in the same company. Be calm, practice today so you will be more confident tomorrow. If it is your first time, they usuarlly use sites like testdome.com or hackerank.com; Review search, sort and optimization algorithms. Matrix are common as well. Good luck!

    • @ericalopez514
      @ericalopez514 2 года назад +1

      They can’t know how you now with a technical interview, the companies are very wrong, the experience is enough

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

    This is a great video! Picks up in very simple concepts overlooked often like understanding the questions right and writing down the input/outputs!

  • @abhilashpatel3036
    @abhilashpatel3036 4 года назад +263

    impressive. Can we have a demo where u pretend to solve a real coding question with implementation of these steps. Thanks in advance

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

    Fantastic! I love that REACTO structure!

  • @harrybellenie9558
    @harrybellenie9558 3 года назад

    Great video! Thank you this is incredibly helpful!

  • @jessicasmith1953
    @jessicasmith1953 2 года назад

    This is fantastic advice, thanks for making this!

  • @user-cc8kb
    @user-cc8kb 3 года назад +1

    Very helpful advice! Thanks! :)

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

    This is awesome insight! Thank you so much!

  • @hash510
    @hash510 2 года назад

    nice, this video values more more than "I'm former FAANG Google Uber super coder .and now " .. Good job, man

  • @jamesbertel879
    @jamesbertel879 3 года назад +1

    this made me feel a LOT better thank you!

    • @thetruthsayer8347
      @thetruthsayer8347 2 года назад

      Are you better at solving coding problems or did it just make you feel better?

  • @DanDascalescu-dandv
    @DanDascalescu-dandv Год назад +1

    Great idea to start by writing pseudocode. To expand on that, you can start breaking down the problem by writing out comments for the code sections.

  • @whatscookinginla-foodblog9798
    @whatscookinginla-foodblog9798 2 года назад

    Great video, I could relate to a lot of situations mentioned in the talk , I guess I picked up some pointers , Thanks .

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

    I am applying for job recently. Thanks for this video. It will be helpful for me!

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

    That is such a good point, help the interviewer to be comfortable in the interview. That probably helps them to remember you better after the interview. 13:12

  • @sanshubhkukutla4043
    @sanshubhkukutla4043 23 дня назад

    Beautiful video very helpful advice!

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

    Amazing video, thank you!

  • @j.y.
    @j.y. 10 месяцев назад

    Wow. Very helpful guide. Thank you very much. It is so hard to find a high quality info in the internet now.

  • @hertzvador2220
    @hertzvador2220 2 года назад

    Great tips. Thank you

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

    This was incredibly useful thanks homie

  • @ndz7372
    @ndz7372 2 года назад

    Thanks a lot..i feel more comfortable going in now

  • @vusalahasanli4200
    @vusalahasanli4200 4 месяца назад

    Great explanation. Thank you a lot!

  • @RyanHemlock
    @RyanHemlock 3 года назад

    Super helpful! Thank you!

  • @LiliLala1991
    @LiliLala1991 2 года назад

    That so easy yet useful! thank you :)

  • @Javaman21011
    @Javaman21011 16 дней назад

    Good content, I really wish there was another way. I usually have no confidence and the "hazing" analogy is real

  • @ryank.6033
    @ryank.6033 2 года назад

    This is very calming. I have a job interview in 2 days I worry that I may completely butcher the coding assessment.

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

    Great valuable tips, thank you very much.

  • @NomadCodemist
    @NomadCodemist 3 года назад +5

    this vídeo made me MUCH calmer about my upcoming interview at Amazon. I have some live coding experience that I hope will help me to not freeze and stay a little bit more chill

    • @amandalaurcind2145
      @amandalaurcind2145 3 года назад +1

      good luck with your interview! :)

    • @tnikoli40
      @tnikoli40 3 года назад

      How did it go?

    • @NomadCodemist
      @NomadCodemist 3 года назад

      @@tnikoli40 didn't even get to the one with actual people hahaha. But I'm cool, I have much to learn

    • @tnikoli40
      @tnikoli40 3 года назад

      @@NomadCodemist so only over the phone type interview?

    • @NomadCodemist
      @NomadCodemist 3 года назад

      @@tnikoli40 not even that hahaha. I was too slow on the online assessment

  • @omercohen9352
    @omercohen9352 2 года назад

    thanks so much, great insight!

  • @jaimemedina3351
    @jaimemedina3351 2 года назад

    absolutely great stuff!!

  • @Timjstewart
    @Timjstewart 3 года назад +7

    The breadth-first coding video (linked to the time where Gayle starts talking about it) here: ruclips.net/video/Eg5-tdAwclo/видео.html

  • @re.liable
    @re.liable 16 дней назад

    I personally want to use a marker in the Repeat step. I would jot down some keywords and requirements that I notice in the process. Just so that I have a constant reference to those stuff that I can go back to.

  • @benstheweatherdog
    @benstheweatherdog 2 года назад

    Thanks man, you're making me feel way more comfortable for my interview today! In the interview is it ok to tell them/ask them about thinking out loud? Or should I just start doing it without telling them. Obviously won't say I'm using reacto method but asking to just verbalize my thoughts.

  • @progtom7585
    @progtom7585 3 года назад

    Very helpful video, thanks

  • @bkywong
    @bkywong 2 года назад +2

    Breadth-first coding worked like a charm! I had a coding problem on paper, and the interviewer got the idea of my code very quickly. Got the job in the end.

    • @Putra-zy7vf
      @Putra-zy7vf Год назад

      Do you have resource breadth first coding i can learn?

  • @Basta11
    @Basta11 2 года назад +1

    In the C Step, I learned to do CT - Test as you Code.
    You can do a little sanity checks after every few lines. For example, after writing out a loop, or helper function, any conditional statement, math, look for syntax errors, logic errors.
    It helps a lot instead of doing it in the end in one fell swoop.

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

    4:58 if anyone else is confused, it's "breadth-first" coding, not "breath-first". Breadth meaning the full width of the problem

  • @lstellway
    @lstellway 2 года назад

    This is super helpful - thank you for sharing!
    One thought: I wonder if it could be helpful for others to remember the acronym as “React To”. How one should react to the interview question.

  • @richlira
    @richlira 2 года назад

    Thank you for this great video

  • @aodiogo
    @aodiogo 2 года назад

    This is great, thanks!

  • @shuvenduoffline
    @shuvenduoffline 2 года назад

    Nice....I really appreciate this video!!!!!!!!

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

    Great advice

  • @NadaII
    @NadaII 15 дней назад

    Whiteboards are so different. I wrote "// Example of a hashmap" on the board and stood there in silence for 30mins waiting for Copilot.

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

    Nice video mate - thanks for this and very useful. :)

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

    damn this is some good advice, thank you dude. appreciate it!

  • @ogookafor2137
    @ogookafor2137 2 года назад

    Awesome.Thank you.

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

    Recently I've been doing for the first time a Whiteboard interview. They warned me about it, but I didn't think they ware serious, so I didn't did my research and failed obviously.
    Honestly, it's bit frustrating, when a person who's haven't looked for a new job for a while has to learn why such interviews exists, how they should behave. Even I consider myself a good programmer/coder, I felt like I was standing naked thinking how bullshit coding is this: I have to waste time writing by hand, I can't edit, I can't move, I can't look up, I can't test... next thing they gonna ask me to build a computer out of rocks like xkcd comics...
    I had the idea in my head, but I couldn't write in in code just straight off directly, so the most part I was repeating, trying approaches realizing, that this won't work, and start over, more stress...
    Total nonsense if you don't know to do this interviews....

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

      Same here, totally bombed it lol
      HackerRank or LeetCode questions suck the joy out of programming for me. I've solved a few of them since i bombed that interview, and I come to liking them less each time.
      Completely irrelevant problems, out of touch with reality, playing on an abstract field of BS. This gamification of Software Development makes me sick.

  • @bahmannejati5249
    @bahmannejati5249 3 года назад

    Very nice explanation

  • @cicero8600
    @cicero8600 2 года назад

    Thank you for it is very useful for me. ❤️❤️❤️❤️

  • @scottnidell6259
    @scottnidell6259 3 года назад

    Nice explanation 👍

  • @ramisru1
    @ramisru1 2 года назад

    Very helpfull. Thank you!

  • @KeyesAnthony
    @KeyesAnthony 2 года назад

    great advice.

  • @AnonYmous-yu6hv
    @AnonYmous-yu6hv 9 месяцев назад +1

    I had many interviewers that sit there completely silent, even though I was trying to talk to them they barely talked and they expected 100% working code without any hints or anything. Obviously these places had bad reviews on glassdoor and those managers or interviewers are most likely incompetent.

  • @mayleanpatrickamanyire7131
    @mayleanpatrickamanyire7131 2 года назад

    This is great I love the content

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

    While this is good high-level advice, my problem is not that I don't go through these steps. Rather, it's the "Describe your approaches" step, which is easier said than done for some problems.

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

      I have a similar view on this. Been developing for a while now, with many languages, over various size projects, and more than a few frameworks... I always find it hard to articulate how I would unravel a problem with all the various solutions I might initially touch upon... some are even intuition or foresight from past lessons learned.... but you don't have time in an interview to even begin to touch upon ... and still they want to see your best within 30 mins... I do better with 4 engineers grilling me for 4 hours in a free for all session... Talking shop really tells you how someone is to work with... not these 45 minute interviews, where you memorize every algorithm under the sun and hope they ask you the easy ones and fake it until you make it... such a forced and fake process, I am getting tired of these interview games...

  • @greyreynyn
    @greyreynyn 3 года назад +5

    add "review" to the end and call it reactor

  • @mollydeangelis-jimenez3220
    @mollydeangelis-jimenez3220 3 года назад +4

    I have an interview tomorrow and part of it is peer coding of JavaScript. I’m so nervous but this was helpful!

    • @josueem14
      @josueem14 3 года назад

      how did it go?

    • @valencefootball9740
      @valencefootball9740 3 года назад

      any update???

    • @31redorange08
      @31redorange08 2 года назад

      Here's the update: She butchered it and is homeless now. Hope she gets back on the right path.

    • @mollydeangelis-jimenez3220
      @mollydeangelis-jimenez3220 2 года назад +3

      @@31redorange08 I got the job and make 6 figures now 😏

    • @31redorange08
      @31redorange08 2 года назад

      @@mollydeangelis-jimenez3220 Not sure if sarcasm. 🤔

  • @namratavishwaskelkar6853
    @namratavishwaskelkar6853 2 года назад

    Thanks so much!

  • @suzannevogt2018
    @suzannevogt2018 2 года назад

    Great video.

  • @JoeWong81
    @JoeWong81 4 года назад

    Thanks a lot bro

  • @avi7278
    @avi7278 3 года назад +4

    Alternative title: Framework for Getting a Job at Which You'll Be Miserable

  • @abdouseck4894
    @abdouseck4894 2 года назад

    thank you very much

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

    Thank you

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

    Wow! You have the book

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

    Very helpful

  • @paulbruneau7379
    @paulbruneau7379 2 года назад +4

    The most accurate word in this video is "hazing"

    • @sulphuric99
      @sulphuric99 2 года назад

      Precisely. The EEOC UGESP laws/regs cover these whiteboard interview Selection Procedures. The Programmer Whiteboard Test Discriminations lawsuits are coming because the contingent lawyers sense money.

  • @jsiddiqui
    @jsiddiqui 2 года назад

    good example.. everyone should learn and practice foe algorithms to improve your approach and yes alwayz be confidient and dont ahow your interview er you are stuck

  • @sunwado
    @sunwado 3 года назад

    Excellent

  • @winterheat
    @winterheat 3 года назад +12

    How could we solve ANY problem. Some problem even if we sit there trying to solve it, it could take 2 hours. And some problems, to reach the optimal solution, it took people a few months or even years. So how is it solvable in 20 or 30 minutes if we didn't see it before?

    • @prachi3746
      @prachi3746 2 года назад

      Same problem

    • @walkerscoral
      @walkerscoral 2 года назад

      Luck

    • @nikhilchauhan7511
      @nikhilchauhan7511 2 года назад +1

      lmaoo that's the thing. these companies want you to rot learn every problem and spew everything out on the day of interview.
      i really dont get it.

    • @winterheat
      @winterheat 2 года назад

      @@nikhilchauhan7511 in a way, it might be similar to the Tang Dynasty or any dynasties. They want people to recite and memorize 50 pounds of books and then be able to write it back in "National Exams". Those who obey and go to the exam become the Number 1 and can be the official to oversee 70,000 or 100,000 people. Those who don't obey will go to the farm and grow some rice or vegetable. So they want to test whether you "obey", even when it is not reasonable. It is a bit like George in Seinfeld. In order to be The Van Buren Boys, you have to rob or steal or do something bad, to show that you are part of them and you follow their rules, before they consider you part of them

  • @ArquimedesOfficial
    @ArquimedesOfficial 2 года назад +1

    George Polya sends hugs, bruh.

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

    very useful tips

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

    This is literally the design recipe from my favourite book "how to design programs".

  • @kamilbircak1027
    @kamilbircak1027 3 года назад

    Very interesting

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

    Thanks

  • @anandkrishnan72
    @anandkrishnan72 3 года назад +8

    Why is Optimization last -- does that mean we are supposed to always code out the brute force solution..

    • @veremox
      @veremox 2 года назад +2

      i think it means that even if you performed well, there will always room for improvement! and that is a trait that tells a lot about a person being interviwed. :D

    • @yoyodunno
      @yoyodunno 2 года назад +1

      It's last because a working brute force solution is better than a non-working optimized solution. Also many times, the brute force solution can be built on top of to get the optimized solution. Of course sometimes you have to totally rethink the solution to get the optimized solution, but it is more risky to immediately go for optimized solution unless you are very confident in it.

  • @rayluxembourg129
    @rayluxembourg129 2 года назад +3

    I think the first step is to be aware of all data structures and their methods.
    Only then you will have the tools to understand a problem solution.
    If you haven't learned those I don't think any steps will help you.

    • @sakiratkehindeusman5334
      @sakiratkehindeusman5334 2 года назад

      Hi Ray, what resources would you recommend for learning data structures?

    • @raysplay2827
      @raysplay2827 2 года назад +2

      @@sakiratkehindeusman5334 I personally used multiple resources.
      Leetcode ,book Grokking Algorithms, RUclips, cracking the coding interview book and many more.
      P.S I am still learning although I am a senior software engineer with 6 years of experience.

  • @tayyabrehman2408
    @tayyabrehman2408 2 года назад +1

    I have two interviews tomorrow and I'm soooooo nervous.

  • @ERICROJO156
    @ERICROJO156 3 года назад

    pray they give you enough time for all these steps