Good (or really bad) icebreaker question

Updated · techinterview.org

A book costs $1 plus half its price. How much does it cost?

2026 Update: The Interview Icebreaker — How Candidates Handle Open-Ended Questions

Great interview icebreakers reveal thinking style without pressuring for a “right” answer. The question “Tell me about a project you’re proud of” or “What’s a bug you found that was particularly interesting?” reveals both technical depth and communication skills.

What makes a good icebreaker question:

  • Open-ended: No single “right” answer, reveals thinking style
  • Technical enough: Distinguishes depth from surface knowledge
  • Conversational: Leads naturally to follow-up questions
  • Comfortable: Doesn’t put candidate on the spot immediately

Great technical icebreakers (for interviews):

  1. “What’s something technical you’ve learned in the last 3 months that excited you?”
  2. “Describe a time you disagreed with a technical decision — what did you do?”
  3. “What’s the most complex system you’ve debugged? What made it hard?”
  4. “If you could rewrite any codebase from scratch, what would you change?”

Really bad icebreakers (and why):

  • “Where do you see yourself in 5 years?” — Feels scripted, rarely reveals technical ability
  • “What’s your greatest weakness?” — Leads to fake answers (“I work too hard”)
  • “Why do you want to work here?” — Candidates are coached, reveals nothing genuine
  • “Rate yourself 1-10 on [technology]” — Self-ratings are unreliable and culture-dependent
def score_icebreaker(question: str) -> dict:
    """Heuristic scoring for interview questions."""
    score = {
        "open_ended": 0,
        "technical": 0,
        "comfortable": 0,
        "reveals_thinking": 0,
    }

    open_ended_signals = ["what", "how", "describe", "tell me", "explain", "why did"]
    technical_signals = ["code", "system", "bug", "architecture", "performance", "debug"]
    bad_signals = ["weakness", "5 years", "rate yourself", "why us", "greatest strength"]

    q_lower = question.lower()

    score["open_ended"] = any(s in q_lower for s in open_ended_signals)
    score["technical"] = any(s in q_lower for s in technical_signals)
    score["comfortable"] = not any(s in q_lower for s in bad_signals)
    score["reveals_thinking"] = score["open_ended"] and score["technical"]

    total = sum(score.values())
    return {"scores": score, "total": total, "max": len(score), "rating": total / len(score)}

good = "Tell me about a technical decision you're proud of."
bad = "What is your greatest weakness?"
print(score_icebreaker(good))
print(score_icebreaker(bad))

2026 interview trend: With AI-assisted coding in interviews (many companies now allow Copilot/Claude), icebreaker questions have become more important for assessing problem-solving approach and communication rather than raw syntax recall. The best questions probe how candidates think when they’re not under pressure, revealing authentic engineering judgment.

newsletter

What's actually being asked right now

Interview patterns & comp trends, straight to your inbox.

No spam. Unsubscribe anytime.

newsletter

What's actually being asked right now

Interview patterns & comp trends, straight to your inbox.

No spam. Unsubscribe anytime.

1972 Soviet postage stamp commemorating the Mars 2 probe

worth a read

Mars For The Rest of Us — a weekly-or-more deep dive on the technical side of Mars exploration: rocket propulsion, microbiology, mission architecture, and everything in between. Written by Maciej Ceglowski.

Read it on Substack
Scroll to Top