Cracking the Technical Interview: Strategies, Frameworks & Resilience

A Sister Circle Workshop — From failure to frameworks: everything I wish someone told me

About Me

I'm a software and data engineer who has sat exactly where you're sitting. I've attempted the technical gauntlet at some of the most competitive companies in the world, and I've learned more from the losses than the wins. Here is a look at my professional journey:

Senior Full Stack Engineer

Livermore National Laboratory

Senior Frontend Engineer

New Relic

Staff Data / Full Stack Engineer

Meroxa

Senior Full Stack Engineer

Zocdoc

Why Should You Listen to Me? Because I Have FAILED... A Lot

Google

LinkedIn

Anthropic

Apple

Upside

These rejections didn't define me. They refined me.

What YOU Told Us — Survey Results

We surveyed our community and built this session around your real concerns. Here's what you said:

80%

Portfolio & Project Presentation

60%

Live Coding Practice

50%

Asking Smart Questions

40%

Role of AI in Interviews

30%

Initial Recruiting

Portfolio & Project Presentation — Your Proof of Work

80% of you said this matters most. Here's what strong portfolio projects have in common:

Solves a Real Problem

Not a tutorial clone. What pain point does it address?

Clear README

Problem statement, tech stack, architecture decisions, how to run it.

Deployed & Working

A live link beats a GitHub repo every time. Use Vercel, Netlify, or GitHub Pages.

Shows Your Thinking

Include "Why I built it this way." Interviewers care about your decisions, not just results.

Building Confidence & Communicating Concisely

Building Confidence

The 70% Rule: Meet 70% of requirements? APPLY. Men apply at 60%. Women wait until 100%.

Set a minimum viable goal: "I will apply to 3 jobs this week." Not 30. Three.

Use accountability partners: Tell someone in Sister Circle. Check in weekly.

Communicating Concisely

Lead with the headline: State your answer in one sentence, then elaborate.

The "So What?" test: After each sentence — does the interviewer care?

The 3-bullet rule: Limit to 3 key points. They'll ask for more if needed.

Practice the pause: 5 seconds of silence shows composure, not weakness.

Live Coding & Asking Smart Questions

Live Coding

They're evaluating how you think, not just your code

Talk out loud: "I'm thinking a hash map here because..."

Start with brute force — it's okay. Then optimize.

If stuck: "Here's what I'm thinking..." beats silence every time

Practice: LeetCode, Pramp, interviewing.io

Asking Smart Questions

"What does onboarding look like for this role?"

"Walk me through a recent project the team shipped."

"How do you measure success in the first 90 days?"

"How does the team handle technical disagreements?"

Tailor to who you're talking to — engineers, managers, execs

Interview Frameworks — Your Toolkit

Two frameworks that transform panic into process:

STAR

For Behavioral Interviews — structure your story with clarity and impact.

PEDAC

For Technical & Algorithm Interviews — plan before you code.

STAR Method — Behavioral Interviews

1

S — Situation

Set the scene (20%)

2

T — Task

Your responsibility (10%)

3

A — Action

What YOU specifically did (60%) — this is the meat

4

R — Result

Outcome, quantified if possible (10%)

Common questions: "Tell me about a time you disagreed with a teammate," "Describe a tight deadline," "Tell me about a time you failed."

STAR Workshop Exercise

"Tell me about a time you had to learn something new quickly to complete a project."

Pair up and practice for 10 minutes, then use this checklist for feedback:

1

Was the Action section specific enough?

2

Was there a measurable Result?

3

Did it stay under 2 minutes?

4

Did they say "I" instead of "we"?

PEDAC Method — Technical Interviews

01

P — Problem

Restate in your own words. Clarify inputs, outputs, edge cases. ASK QUESTIONS.

02

E — Examples

Walk through test cases. Find edge cases: empty input, negatives, duplicates.

03

D — Data Structure

Array, hash map, tree, graph, stack, queue — which fits your problem?

04

A — Algorithm

Plain English or pseudocode before coding. Plan first, always.

05

C — Code

Follow your algorithm. Talk through your thinking out loud the entire time.

PEDAC Workshop Exercise

"Write a function that prints numbers from 1 to 100. For multiples of 3, print 'Fizz'. For multiples of 5, print 'Buzz'. For multiples of both 3 and 5, print 'FizzBuzz'."


P — Problem




E — Example




D — Data Structure




A — Algorithm




C — Code




Step 1 of 5 — Problem

P — Problem ✓

"Write a function that prints numbers from 1 to 100. For multiples of 3, print 'Fizz'. For multiples of 5, print 'Buzz'. For multiples of both 3 and 5, print 'FizzBuzz'."

Inputs

A fixed range — integers 1 through 100. No arguments needed.

Outputs

Printed strings (not returned). Side effects only.

Edge case

Numbers divisible by BOTH 3 and 5 → "FizzBuzz". The order of our conditions will matter.

Key question to ask

"Should I return the values or print them?"

Step 2 of 5 — Examples

E — Examples ✓

"Write a function that prints numbers from 1 to 100. For multiples of 3, print 'Fizz'. For multiples of 5, print 'Buzz'. For multiples of both 3 and 5, print 'FizzBuzz'."

Input: 1 → Output: "1"

(plain number)

Input: 3 → Output: "Fizz"

(divisible by 3)

Input: 5 → Output: "Buzz"

(divisible by 5)

Input: 15 → Output: "FizzBuzz"

(divisible by both — the tricky one!)

Input: 30 → Output: "FizzBuzz"

(another both case)

Step 3 of 5 — Data Structure

D — Data Structure ✓

"Write a function that prints numbers from 1 to 100. For multiples of 3, print 'Fizz'. For multiples of 5, print 'Buzz'. For multiples of both 3 and 5, print 'FizzBuzz'."

Choice

No special data structure needed.

Why not an array?

We're printing, not storing. No need to collect results.

Why not a hash map?

The rules are simple conditionals, not lookups.

What we DO need

A loop (range 1–100) + conditional logic (if/elif/else).

Step 4 of 5 — Algorithm

A — Algorithm ✓

"Write a function that prints numbers from 1 to 100. For multiples of 3, print 'Fizz'. For multiples of 5, print 'Buzz'. For multiples of both 3 and 5, print 'FizzBuzz'."

01

Loop through integers 1 to 100

02

For each number, check: is it divisible by BOTH 3 and 5? → print "FizzBuzz"

03

Else, is it divisible by 3 only? → print "Fizz"

04

Else, is it divisible by 5 only? → print "Buzz"

05

Else → print the number itself

Step 5 of 5 — Code

C — Code ✓

"Write a function that prints numbers from 1 to 100. For multiples of 3, print 'Fizz'. For multiples of 5, print 'Buzz'. For multiples of both 3 and 5, print 'FizzBuzz'."

def fizz_buzz():
    for i in range(1, 101):
        if i % 15 == 0:
            print("FizzBuzz")
        elif i % 3 == 0:
            print("Fizz")
        elif i % 5 == 0:
            print("Buzz")
        else:
            print(i)

fizz_buzz()

What they're really grading

Did you talk through your thinking? Did you catch the edge case? Did you plan before coding?

Bonus points

Mention time complexity O(n), suggest how you'd extend it (e.g., configurable rules)

PEDAC Workshop Exercise

"Given an array of integers, return the two numbers that add up to a target sum."

Let's work through this together — 15 minutes:

P — Problem

Inputs? Outputs? Duplicates allowed? Is array sorted?

E — Example

[2, 7, 11, 15], target = 9 → return [2, 7]

D — Data Structure

Hash map for O(n) lookup

A — Algorithm

Iterate array, check if (target − number) exists in hash map

C — Code

Write it together, talking out loud

Step 1 of 5 — Problem

P — Problem ✓

"Given an array of integers, return the two numbers that add up to a target sum."

Inputs

An array of integers (e.g. [2, 7, 11, 15]) and a target integer (e.g. 9)

Outputs

The two numbers (or their indices, depending on the variant) that sum to the target

Constraints

Assume exactly one solution exists. Can the same element be used twice? No.

Key questions to ask

"Should I return the values or the indices?" / "Are there duplicates in the array?" / "Is the array sorted?"

Step 2 of 5 — Examples

E — Examples ✓

"Given an array of integers, return the two numbers that add up to a target sum."

[2, 7, 11, 15], target = 9 → return [2, 7]

(2 + 7 = 9 ✓)

[3, 2, 4], target = 6 → return [2, 4]

(2 + 4 = 6 ✓)

[1, 5, 3, 7], target = 8 → return [1, 7] or [5, 3]

(multiple pairs possible — clarify!)

[-1, 0, 1, 2], target = 0 → return [-1, 1]

(negatives work too)

[3, 3], target = 6 → return [3, 3]

(duplicate values — same index can't be reused)

Step 3 of 5 — Data Structure

D — Data Structure ✓

"Given an array of integers, return the two numbers that add up to a target sum."

Brute Force (O(n²))

  • Use nested loops — check every pair
  • No extra data structure needed
  • Simple but slow — don't stop here!
  • Time: O(n²) | Space: O(1)

Optimal: Hash Map (O(n))

  • Store each number as a key, its index as the value
  • For each number, check if (target − number) already exists in the map
  • One pass through the array
  • Time: O(n) | Space: O(n)

Trace for [2, 7, 11, 15], Target = 9:

Step 4 of 5 — Algorithm

A — Algorithm ✓

"Given an array of integers, return the two numbers that add up to a target sum."

01

Create an empty hash map to store numbers we've seen

02

Loop through each number in the array

03

Calculate the complement: complement = target − current number

04

Check if the complement already exists in the hash map

05

If YES → we found our pair! Return [complement, current number]

06

If NO → add the current number to the hash map and continue

Step 5 of 5 — Code

C — Code ✓

"Given an array of integers, return the two numbers that add up to a target sum."

def two_sum(nums, target):
    seen = {}
    for num in nums:
        complement = target - num
        if complement in seen:
            return [complement, num]
        seen[num] = True
    return []

# Example
print(two_sum([2, 7, 11, 15], 9))  # → [2, 7]

What they're really grading

Did you mention brute force first? Did you explain WHY a hash map? Did you talk through the complement logic out loud?

Bonus points

Mention O(n) time / O(n) space tradeoff. Discuss returning indices vs. values. Ask about follow-up: what if there are multiple valid pairs?

The Role of AI in Interviews

Use AI Ethically for Prep

Practice questions: Generate role-specific interview questions

Mock interviews: Have AI play the interviewer and give feedback

Code review: "How would a senior engineer improve this?"

Company research: Tech stack, recent news, culture, competitors

Where to Draw the Line

Do NOT use AI during live interviews (unless explicitly allowed)

Do NOT copy-paste AI answers in take-homes — you'll get caught in follow-up

DO use AI to learn, sharpen, and prepare more efficiently

"AI is a tool, not a shortcut. Use it to sharpen, not replace."

Differentiating Yourself & Building Your Brand

Beyond Code — What Actually Differentiates You

Understand the Product

What does the company build? Who uses it? Why? Show you've done the research.

Systems Thinking

Even juniors who think about systems at scale stand out immediately.

Business Acumen

Revenue models, unit economics, what moves the needle for the business.

Building Your Personal Brand

LinkedIn

Post about learning, projects, and insights from your journey. Consistently.

GitHub

Active repos and open source contributions signal that you're shipping real work.

Blog / Write

Teaching is the best learning. Write about problems you solved.

"You don't need to go viral. You need to be consistently visible."

Networking & Making Recruiters Your Ally

Networking That Works

  • Build genuine relationships and offer value before you ask for anything
  • Attend meetups, conferences, and community events like Sister Circle
  • Do informational interviews — ask about career paths, not just openings
  • Follow up within 24 hours. Be specific: "Can you refer me to the data engineering role?"

Recruiters Are Your Gateway

  • Internal recruiters know the team and can advocate directly for you
  • Be responsive — reply within 24 hours and be honest about your experience
  • Ask: "What does the hiring manager really care about?"
  • Ask: "What made past candidates successful in this role?"
  • Find them: LinkedIn, Robert Half, TEKsystems, tech recruiting firms

The Role of Luck & Embracing Failure

You can prepare perfectly and still get a curveball — an interviewer's bad day, a question outside your domain, a role that shifted mid-process. Some things are outside your control. Focus on what isn't.

What You Can Control

Preparation, attitude, and consistency

What You Can't

Interviewer's mood, internal candidates, team priorities

The Failure Recovery Framework:

1

Feel It

24–48 hours to be disappointed. That's valid.

2

Debrief It

What went well? What didn't?

3

Extract It

What's ONE thing you'll do differently next time?

4

Release It

Let it go. The next interview is what matters.

Let's Be Real — Protecting Your Mental Health

Bills don't wait. Multiple rejections erode confidence. Imposter syndrome hits hardest when you're already down. Here's how to protect yourself through the process:

Set Boundaries

Choose a sustainable number of applications per week — and stick to it.

Build Support

Lean on Sister Circle. You don't have to do this alone.

Celebrate Small Wins

Callback? Win. Final round? Big win. Keep a "wins" journal — every positive interaction counts.

Separate Identity from Outcome

You are not your interview performance. Full stop.

Resources & Further Reading

📚 Books

  • Cracking the Coding Interview — McDowell
  • System Design Interview — Alex Xu
  • Designing Data-Intensive Applications — Kleppmann

💻 Practice Platforms

  • LeetCode · HackerRank · DataLemur
  • Pramp · interviewing.io · Exponent

🤝 Communities

  • Sister Circle · /dev/color
  • Techqueria · ColorStack
  • Women Who Code

🧠 AI Prep + Portfolio

  • ChatGPT · Claude · GitHub Copilot
  • GitHub Pages · Vercel · Netlify

💜 Mental Health

  • Therapy for Black Girls
  • Open Path Collective
  • NAMI

Key Takeaways

Failure is data, not destiny

Use every "no" to fuel your growth and sharpen your approach.

Frameworks turn panic into process

STAR and PEDAC are your anchors under pressure.

Communicate concisely, ask great questions

Headline first. 3-bullet rule. The interview goes both ways.

Protect your mental health — it's a marathon

Set boundaries, lean on community, separate identity from outcome.

You belong here

Every expert was once a beginner. Your seat at the table is earned — and waiting.

"What's the one thing you're taking away from today?"