@me @you You've got this!
- Five steps to a technical question (Cracking the Coding Interview):
- Ask questions: What kind of data type? What kind of data does it hold? What does the data represent? How much data? Who is the user?
- Design an algorithm: What are the time and space complexities (Big-O)? What happens if there's a lot of data? Does your design cause other issues? If so, did you make the right tradeoffs? Did you leverage the info given to you in Step 1?
- [Types of algorithms]
- Write pseudocode first: Make sure to tell your interviewer that you are writing pseudocode.
- Write your code, not too slow and not too fast: Use data structures wherever relevant to show you care about good object-oriented design.
- Test your code and carefully fix any mistakes: Consider extreme cases (0, negative, null, maximums, etc.), user error (null, negative), and general cases. Test as you code instead of waiting until the end. Carefully think about why there is a bug before fixing.
- [Common bugs]
- [Common questions]
- String manipulation
- Your interests
- A11y
- Security
- Resources
- How to Think Like a Computer Scientist: Chapter 16: Classes and Objects - the Basics (Python)
- Problem Solving with Algorithms and Data Structures (Python)
- Itsy Bitsy Data Structures (JavaScript)
- Tech Interview Handbook: Interview Cheatsheet, Algorithm Questions
- Ali Spittel's Coding Cheat Sheets (Python)
- From me:
- What does mentorship look like for an engineer?
- How has the company supported your professional growth?
- How have you overcome challenges in working with others?
- How do you stay motivated?
- From friends:
- How long does it typically take a new engineer to become productive and autonomous on their teams?
- What types of support systems are in place to help me level up during my first few years?
- If I joined your company, and worked there for six months, what's something that at the end of my first six months, you'd consider to be a really above-and-beyond achievement?
- How do teams decide the most important feature or project to work on, and how is work distributed among the team?
- How do individual contributors receive feedback on their performance, and how often does this happen?
- How many women are on your team?
- What are your diversity initiatives?
- How do other teams or departments perceive the team I would be joining?
- In this role, are there opportunities for cross-functional work and collaborating with other teams?
- What upcoming projects are you excited to work on this quarter or year?
- Resources:
- Julia Evans' list of questions to ask while interviewing
- Tech Interview Handbook: Questions to Ask
- On whiteboard interviews