reading-notes

Class 36 - DS&A Review

Lab 36 - Data Structures & Algorithms Workshop: Computational Thinking

Coding Interviews are coming your way. Time to memorize 15,000 interview questions?

No! It’s time to focus on the core problem-solving techniques that can solve any interview question.

Feature Tasks and Requirements

Submission Notes

Code Challenge - Student Choice

Written Class Notes

Read 36 - DSA Review

Resources Link/Pages

Answer

Statement on why this topic matter as it relates to what I’m studying in this module:

They provide essential strategies and insights for successfully navigating whiteboard interviews, improving performance, and preparing effectively for engineering interview processes.

Reading Questions

  1. What are the key pieces of advice mentioned in the “Whiteboard Advice” reading assignment for successfully tackling whiteboard interviews?

    • Practice Whiteboarding:

      • Regularly practice solving problems on a whiteboard to get comfortable with the format. This helps in simulating the interview environment and builds confidence.
    • Think Aloud:

      • Vocalize your thought process as you solve the problem on the whiteboard. This helps interviewers understand your approach, even if you make mistakes.
    • Understand the Problem:

      • Before diving into writing code, make sure you fully understand the problem and ask clarifying questions if needed. This ensures you’re solving the right problem.
    • Write Clean Code:

      • Focus on writing clean, organized code on the whiteboard. Use good naming conventions, proper indentation, and comments where necessary to make your code easy to read.
    • Test Your Solution:

      • After writing your solution, walk through it with a few test cases to ensure it works as expected. This demonstrates thoroughness and problem-solving skills.
    • Practice Time Management:

      • Whiteboard interviews often have time constraints. Practice solving problems within a given time limit to get a feel for pacing yourself during the actual interview.
  2. From the “6 tips to ace a whiteboard programming interview” article, can you identify and explain at least two strategies that can help improve your performance during a whiteboard programming interview?

    • Break Down the Problem:

      • Divide the problem into smaller, manageable parts. This helps in understanding the problem better and tackling it step by step. It also shows your ability to approach complex problems systematically.
    • Take a Few Minutes:

      • Wait until the interviewer is done explaining the problem. Ask any clarifying questions, and then tell your interviewer: “Okay, got it. If it’s okay with you, I’m just going to take a minute or two here and think about the problem, and then I’ll start talking.”
  3. What does Gayle McDowell say about interview preparation in the Engineering Interview Process Deconstructed video?

    • Practice Fundamentals:

      • McDowell emphasizes the importance of understanding fundamental concepts in computer science and algorithms. This includes knowledge of data structures, algorithms, and problem-solving techniques.
    • Build Confidence:

      • Candidates, especially those without traditional CS backgrounds (like bootcamp graduates or self-taught developers), should focus on building confidence. Insecurity can often be a hurdle, so believing in one’s abilities is crucial.
    • Address Insecurities:

      • Many candidates, especially from bootcamps or self-taught backgrounds, may feel insecure about their knowledge. McDowell mentions that these candidates often have the necessary knowledge but may doubt themselves. It’s essential to address these insecurities and approach interviews with confidence.
    • Interviewer Training:

      • For companies conducting interviews, McDowell suggests training interviewers to focus on candidates’ problem-solving skills and willingness to tackle challenges. It’s not just about confidence but also about a candidate’s perseverance and approach to problem-solving.

Things I want to know more about

Retrospective

Retrospectives are a critical part of Agile, and typically take the form of meetings held by a team at the end of a sprint cycle. To get us acclimated to that process, we will use the format of a retrospectives to guide today’s reflection.

This article gives a nice overview to the role of retrospectives.

  1. What went well, that I might forget if I don’t write down?
  2. What did I learn today?
  3. What should I do differently next time?
  4. What still puzzles me, or what do I need to learn more about?
  5. Thinking about each of your assignments for the day, reflect on:
    • Is the assignment complete? If not, where exactly did you leave off, and what work remains?
    • Do not get bogged down in written analysis; instead, focus on capturing the moment with an eye toward how your observations can guide you toward future productivity.