Skip to content

Instantly share code, notes, and snippets.

@dovakeen118
Created May 4, 2023 15:03
Show Gist options
  • Save dovakeen118/1ff0bf6945f42c8d66dd1493c0ae300d to your computer and use it in GitHub Desktop.
Save dovakeen118/1ff0bf6945f42c8d66dd1493c0ae300d to your computer and use it in GitHub Desktop.

Overview

  • Mock Interviews
  • Coding Challenges
  • Interview prep
  • Whiteboarding

The Interview


Logistics for Next Week

  • Coding Challenge this weekend
  • One hour interview
  • ~1-2 weeks
  • Not graded
  • Interview slots this weekend on Google calendar

Let's Talk About the Interview & What to Expect

  • There is no such thing as a typical interview
  • Usually includes one or some of the following:
    • Technical Screen / Coding Challenge
    • "Phone" Screen
    • Cultural Fit Interview
    • Job History Interview
    • Technical Interview
      • Pair Programming
      • Talking through a coding challenge
      • Whiteboarding

You must do the coding challenge to be prepared for the mock interview


Complete and refine coding challenge(s)

  • Leave yourself ample time to complete
  • Don't just meet the requirements
  • Get feedback unless explicitly stated otherwise
  • Be prepared to discuss your implementation

Guiding Thoughts before Starting

  • Ask them initial clarifying questions if needed (early)
  • Do I have an organized approach that I could speak to during the interview?
  • What are the potential "gotchas", what are they trying to assess with this challenge?
  • How can I "DRY" up my code with methods or service objects?
  • JS focus where possible

Likely Challenges

  • React
  • Full-Stack (generally with an API or dataset)
  • OOP w/ data structures

Guiding principle: K.I.S.S. (keep it super simple)


React Challenges

Focus: Basic react ability, seperation of concerns, use of state/props

Make a simple react app with X basic features. E.g. has to have a dropdown with three choices, what the user clicks determines whether they are allowed to fill out a form. If they fill out the form a specific way, different things should be displayed.

  • MVP generally achievable
  • Focus first on rendering a static react page, then functionality
  • Pay close attention to separation of concerns
  • Where should state live? How should I store it?
  • What components should I create?

Full-Stack Challenges

Focus: data via endpoints, design best practices, database organization

Using the Pokemon API, build a React/Rails simple version of a pokedex with blah-blah features. Use data visualization.

  • MVP less achievable
  • Often consumes from an external API
  • MVC back-end / React front-end
  • Get it working, then refactor (kiss)
  • Might use new technologies, like data viz or a unique library
  • API tests encouraged

OOP / Data Structure Challenge

Focus: OOP, SRP, compound data structures

I have a compound data structure (arrays/hashes) representing the markdown in a document. Define some implementation that... (returns all values with X, computes Y, etc.)

  • Avoid one massive method (or many massive methods)
  • Chunk your code!
  • Think OOP & SRP! Uses service objects if allowed
  • Think High Card Dealer, Checkers, or Tic-Tac-Toe for SRP practice
  • Think webscraping and API endpoints for data structures practice

Final Coding Challenge Thoughts

  • Have a plan
  • Do as much as you can
  • It will likely take at least 1.5 times longer than they say
  • Be able to speak to what your next steps would be
  • Communicate with them if config issues or clarification issues arise

Other Interview Guidance


Do Your Research

  • The Company, including founders and leadership
    • their website
    • LinkedIn
    • Crunchbase
    • GlassDoor
  • Launch Interview Notes
  • People you'll be interviewing with (and their job responsibilites)
  • Product publicly available?
  • Open API or open source library?

Interview Time


The Primary Directive

Build Rapport

People want team members they genuinely like.


Whiteboarding / Technical Questions: A Framework

  1. Repeat the question
  2. Write notes / annotations
  3. Write test cases down - consider right results, error conditions, and boundary conditions
  4. Bookend your method
  5. Implement out loud
  6. Trace and check with test cases
  7. Discuss refactoring opportunity and performance tradeoffs
  8. Conclude

Other Whiteboarding Tips

  • Don't forget about non-verbal communication
  • Involve the interviewer in the process as much as possible
  • Practice until you are ready: Leetcode, Code Wars, Cracking the Code Interview
  • Whiteboarding is different than web app building

When you don't know

  • Don't bullshit
  • Indicate your level of confidence
  • Handle missteps in your follow up

Asking Good Questions and Concluding

  • What technologies do you use?
  • What are guiding principles for your team?
  • What do you see your team working on a year from now?
  • ...More from non-technical resources

Final Thoughts Pre-Mock Interview

  • Take it seriously (perform as your practice)
  • Practice messing up
  • Admit when you don't know, but caveat with hunches informed by experience
  • Enjoy yourself and others will enjoy you

Next Steps

  • Non-Technical Clinic*
  • Coding challenge: get through part 1 minimally
  • Mock interviews
  • AMA Session towards the end of the cohort

In Review

  • Prepare/research before challenge/interview
  • Build rapport
  • Practice practice practice
  • Don't BS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment