# Good (or really bad) icebreaker question

Source: https://www.techinterview.org/post/3233459572/good-or-really-bad-icebreaker-question/
Updated: 2026-04-16 · 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):**

- "What's something technical you've learned in the last 3 months that excited you?"

- "Describe a time you disagreed with a technical decision — what did you do?"

- "What's the most complex system you've debugged? What made it hard?"

- "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.
