Everything about interviews from both candidate and interviewer perspectives.
Tailored strategies and checklists for General, PM, Design, and Engineering roles.
A typical hiring process consists of 5–7 stages. Let's look at what both candidates and interviewers should do at each step.
First impressions start with your resume. How should candidates craft theirs, and how should interviewers evaluate them?
Keep it to 1–2 pages, tailor it per role, and focus on quantifiable achievements. Show impact with numbers: "Built a recommendation system that increased revenue by 30%."
Pin 6 representative repositories with clear README files describing purpose and tech stack. 71% of recruiters check GitHub. An active commit history matters too.
Deploy projects as live demos (Vercel, Netlify) and document your problem-solving process in blog posts or READMEs. Showcasing your technical decision-making is key.
Naturally incorporate keywords from the JD. List specific tech stacks like "React", "TypeScript", "CI/CD". A clean, text-based layout parses better than fancy designs in ATS systems.
Focus on demonstrable skills, not school or company names. Evaluate project contributions, tech blogs, and open-source activity. Use blind reviews to reduce unconscious bias.
Evaluate required tech stack proficiency, relevant project experience, growth potential, and communication skills through a structured checklist. Judge by criteria, not gut feeling.
Apply blind review by hiding name, age, gender, and school during screening. Watch out for Affinity Bias, Halo Effect, and first-impression bias.
Companies dropping degree requirements rose 14–23% since 2017. Skills-based hiring predicts job performance 5x better than education-based hiring. Verify capabilities through portfolios, coding tests, and practical assignments.
Quantify the business impact of shipped products/features. "Improved signup conversion by 23% through A/B test design and execution", "Grew MAU by 15% with new feature planning." Highlight PRD and spec writing experience.
A personal website beats Behance/Dribbble. Include the full process for each project (Research → Wireframe → Prototype → Final UI) and explain the rationale behind your design decisions.
Your GitHub profile + tech blog is your portfolio. Emphasize the scale and technical challenges of systems you contributed to. "Designed an API handling 1M daily requests", "Led legacy system migration."
The heart of technical interviews. It evaluates not just coding ability, but problem-solving thinking and communication skills holistically.
Introduce yourself, then clearly present the problem. Create an atmosphere where the candidate feels comfortable asking questions.
Whether they ask clarifying questions instead of jumping straight into coding
Give the candidate time to explain their approach. Don't give hints too early.
Brute-force → optimization thinking flow, ability to compare trade-offs
Jumping straight into coding without explanation, or silence for 5+ minutes
Observe the problem-solving process using the STAR method. Check if they explain their logic verbally before coding.
Modular code structure, error handling, meaningful variable names
Silence for 2+ minutes without explanation, unable to respond to hints
"What happens if the input size triples?"
Check if the candidate runs their own test cases and analyzes complexity.
Edge case consideration, proactive time/space complexity analysis
Take the candidate's questions and answer honestly about the team and company.
Adjust the conversation level to match the candidate's technical depth.
Screen share ready. Only show your IDE and turn off all notifications.
Verbalize your thoughts. The process matters more than the result.
Confirm inputs/outputs and edge cases first. Before writing a single line of code.
Start with working code, not the perfect solution. Then discuss optimization.
Start with brute force. Showing working code first reduces anxiety and signals to the interviewer that "the basics are solid." Then move on to optimization.
Essential for mid–senior levels. Validates the ability to architect large-scale systems and discuss trade-offs.
Present an open-ended question like "Design X." Guide the candidate to define requirements on their own.
Whether they ask about functional/non-functional requirements before designing
The stage for laying out main components and data flow. Check API definitions and data models.
Logical component separation, clear data flow explanation
Fixating on specific technologies or diving into details without the big picture
Pick specific components to explore in depth. Observe whether they explicitly discuss trade-offs.
DB choice rationale, caching strategy, scaling approach with trade-off discussion
"If traffic increases 10x, which part becomes the bottleneck first?"
Present failure scenarios and discuss recovery strategies.
Mentions of monitoring, alerting, Circuit Breaker, Graceful Degradation
Junior: Basic component understanding, logical thinking
Mid: Scalable design, practical judgment
Senior: Non-functional requirements lead, ops/cost perspective
Quantify DAU, QPS, storage. Confirm read/write ratio.
Component layout, API definition, data model design.
Deep dive into interviewer's area of interest. Explicitly discuss trade-offs.
Present monitoring, failure recovery, and scaling strategies.
Design visually using a whiteboard or drawing tool. Showing data flow with boxes and arrows makes it easier for the interviewer to follow along and helps you spot missing components quickly.
PMs are evaluated on problem definition, prioritization, and data-driven decision-making. A completely different approach from technical interviews is needed.
Present an open-ended product question. Something like "If you were to add a new feature to Slack, what would it be?" works well.
Whether they define the user/problem first instead of jumping to solutions
Observe the flow: Problem definition → User segmentation → Solution proposal → KPI setting → Prioritization.
Data-driven prioritization, use of frameworks like RICE/ICE
Only listing buzzwords, unable to answer "why?", listing features without users
"How would you measure the success of this feature?"
Present metric analysis questions or stakeholder conflict scenarios.
Data decomposition ability, data-driven consensus during conflicts
"DAU dropped 20%. How would you analyze this?"
✓ Problem Definition ✓ User-Centric Thinking ✓ Data Literacy ✓ Prioritization ✓ Communication
Value systematic thinking process over "correct answers."
Before solutions, clarify "whose problem is this and what problem is it?"
Define success metrics (KPIs) first. Quantitative targets like "improve conversion by 5%."
Compare pros and cons of multiple options instead of giving a single answer.
Your portfolio should include PRDs, wireframes, A/B test results, and launch retros. Structure as "What problem → How solved → Results" and prove impact with numbers.
Designers are evaluated through unique interview formats including portfolio presentations, design critiques, and whiteboard challenges.
Explain the interview format (portfolio/challenge/critique) and create a comfortable atmosphere.
Portfolio (45–60 min) · Challenge (60–90 min) · Critique (30 min) · Behavioral (30 min)
Focus on the process and decision-making. Don't just evaluate the visual quality of the final output.
Problem definition → Research → Design → Results story flow, decision rationale
Answering "Why did you design it this way?" without rationale. Listing final UIs without process.
"What alternatives did you consider for this design decision?"
Show an existing product or work and evaluate analytical ability.
Constructive feedback ability, evidence-based improvement suggestions, non-defensive attitude
✓ Design Thinking ✓ Visual Judgment ✓ Prototyping ✓ Feedback Reception ✓ Collaboration
Rate designers with strong research and process higher, even if visuals are rough.
Structure as Context → Problem → Process → Solution → Impact.
Connect every design decision to rationale (research, data, accessibility, business goals).
Show handoff processes with developers/PMs and how you incorporated feedback.
Not "I made a pretty UI" but "This design increased conversion by 15%." Prove value. Including usability test results, journey maps, and iteration process shows capability beyond "visual designer."
Technical skills alone aren't enough. This evaluates your actual behavior in collaboration, leadership, and problem-solving situations.
Start with light conversation. Briefly explain the behavioral interview format.
Some candidates are introverted or have non-traditional backgrounds. Focus on actual behavior, not presentation skills.
Ask questions that reveal teamwork and initiative.
"Tell me about a time you had to explain a technical decision to a non-technical team."
"How did you respond when your team lost direction?"
Specific behavioral descriptions, clearly stating their own role with "I"
Repeatedly saying "our team" only, speaking in generalities without specific actions
"What was the most difficult production issue you've dealt with?"
"How did you balance quality and speed under a tight deadline?"
Acknowledging failure and sharing lessons learned, data-driven decision making
"What's a new technology you recently learned? How did you go about learning it?"
Self-directed learning, growth mindset, openness to feedback
Briefly describe context: team size, project background, constraints.
Clarify your specific role with "My responsibility was..." instead of "Our team..."
Specific actions taken. Include technical decisions, communication, and collaboration.
Quantitative results ("Reduced response time by 40%") + lessons learned.
Prepare specific episodes instead of generalities like "I communicate well." You can demonstrate technical leadership even without a formal title. Showing postmortems and improvement processes from failure experiences is most powerful.
Comparing the pros and cons of various formats: live coding, whiteboard, take-home, and pair programming.
Don't rely on a single format. Combining take-home (code quality) + live code review (communication) + system design (architecture) + behavioral (soft skills) lets you evaluate candidates multidimensionally.
Interviews are a two-way street. Candidates evaluate companies, and interviewers evaluate candidates.
Interview anxiety is unrelated to actual ability. Introverted, non-native speaker, or career-switching candidates may not be great at "self-promotion." Use follow-up questions, create a comfortable atmosphere, and leverage diverse evaluation formats (code review, pair programming, etc.).
Receiving an offer is just the beginning. Secure fair compensation through effective negotiation.
The hardest component to move in negotiation. But compound effects are significant, so raising the base has the biggest long-term impact.
More negotiation room than base salary. Always check the vesting schedule (typically 4 years), cliff, and exercise price.
An alternative when base salary is hard to raise. One-time but immediately effective. At startups, requesting 20%+ is possible.
Understand compensation ranges for the same level/location/company on Levels.fyi, Blind, Glassdoor. Negotiation without data is just guessing.
Leverage the anchoring effect. Start with room to negotiate, not aggressively. Frame it as "Based on market data, I'm expecting X."
Don't fixate on salary alone. Maximize value across the entire package: equity, bonus, remote work, vacation, learning stipend, etc.
Having offers from multiple companies maximizes your leverage. Mention competing offers politely, but don't bluff.
"I think this is a great offer. Let me review it for a few days and get back to you." Accepting on the spot kills negotiation opportunities.
Design fair compensation compared to existing team members at the same level/role. New hires earning more than current team members hurts morale.
Position between market median (P50) and top quartile (P75). To attract top talent, offer P75 or above. Regularly update market data.
Sharing salary bands upfront reduces unnecessary negotiation rounds and builds candidate trust. Transparency is key to employer branding.
When candidates mention competing offers, review internally before reacting. Emphasize total package value over "matching the competing offer."
Hiring doesn't end with offer acceptance. Effective onboarding is the key to retention and productivity.
Interviews aren't just about technical skills. A strategic approach significantly increases your success rate.
Algorithms and data structures are key. Show your "ability to learn" through project experience.
System design becomes important. Show "what impact you made" rather than "what you built."
Technical skills are baseline; organizational-level influence is the key evaluation factor.
Develop a habit of analyzing apps you use daily. Constantly ask "Why was this feature designed this way?" and "What metric were they trying to improve?"
PMs sit at the intersection of technology and business. Market analysis, competitive benchmarking, and revenue model understanding are essential.
Start adjusting your portfolio to the target company 2–4 weeks before interviews. For B2B SaaS companies, put dashboard/data visualization projects first.
The key is practicing to finish within 60–90 minute time limits. Show thinking process over completion quality.
Practice coding tests, study system design, and prepare STAR stories in parallel. Target 2 coding problems + 1 system design topic + 1 STAR story per day.
Apply to multiple companies simultaneously to align offer timing. Interview with less-preferred companies first for practice, saving top choices for later.
Rejection is information. Request feedback, strengthen weak areas, and re-apply after 2–3 months. One company's rejection doesn't negate your overall ability.
Conduct at least 3–5 mock interviews before the real thing. Use platforms like Pramp, Interviewing.io, or practice with peers.
Application → Screening → Technical Interview → Final Interview → Offer → Hire. Measure conversion rates at each stage and identify bottlenecks. Target: offer within 30 days, 80%+ offer acceptance rate.
Make engineers think "I want to work here" through tech blogs, open-source contributions, conference talks, and careers page content. Share real experiences of current employees.
Job postings alone aren't enough. Leverage LinkedIn, open-source communities, meetups, referral programs, and coding competitions. An outbound response rate of 25%+ is a healthy indicator.
Interviewers need training too. Regularly educate on bias awareness, questioning techniques, scorecard writing, and candidate experience (CX) management. Bad interviewers lose good candidates.
| Role | Recommended Process | Key Evaluation Areas |
|---|---|---|
| Junior Engineer | Coding Test → Technical Interview → Behavioral | CS fundamentals, Learning ability, Culture fit |
| Senior Engineer | System Design → Code Review → Behavioral → Team Match | Design ability, Tech leadership, Impact |
| Staff+ Engineer | Architecture Deep Dive → Cross-Team Scenario → Vision Presentation | Strategic thinking, Org influence, Tech vision |
| Frontend | UI Implementation Task → Code Review → A11y/Performance Discussion | UX sense, Browser understanding, Component design |
| Backend | API Design → System Design → Incident Response Scenario | Scalability, Data modeling, Operations capability |
The tech hiring landscape is evolving rapidly. Here are the latest trends both sides need to know.
48% of companies are achieving more diverse hiring with AI. AI is being used for resume screening, async video interview analysis, and candidate matching.
Keyword optimization is needed to pass AI screening. AI tool proficiency is increasingly becoming an evaluation criteria.
AI tools can reproduce existing biases. EEOC audits and regular algorithm validation are essential.
In 2022, 69% of tech job postings required degrees, down from 83% in 2017. Skills-based hiring predicts job performance 5x better than education-based hiring.
Opportunities are growing even without degrees. Prove capability through portfolios, certifications, and hands-on experience.
Remove unnecessary degree requirements from JDs and adopt portfolio-based and practical assignment evaluations.
Async video interviews and online coding tests are becoming the standard for initial screening. Access diverse talent pools without geographic constraints.
Companies prefer engineers with deep expertise in one area + broad fundamentals. As of 2025, 82% of companies require flawless implementation including error handling, and full-stack capabilities are increasingly valued.
Research continues to accumulate showing diverse teams produce better outcomes. Blind reviews, structured interviews, and diverse interview panels are becoming standard.
Poor interview experiences lead to brand damage. Fast feedback, transparent processes, and respectful attitudes are core elements of hiring competitiveness.
Ready-to-use checklists and recommended resources for real-world application.
LeetCode, HackerRank, NeetCode 150, Grind 75. Study systematically by pattern classification.
System Design Interview (Alex Xu), Designing Data-Intensive Applications, ByteByteGo YouTube.
Pramp (free peer matching), Interviewing.io (anonymous practice), Exponent (FAANG/PM specialized).
Decode and Conquer (Lewis C. Lin), Cracking the PM Interview, Product School YouTube, Exponent PM Course.
Solving Product Design Exercises (Artiom Dashinsky), Refactoring UI, Nielsen Norman Group, Laws of UX.
Tech Interview Handbook, Never Split the Difference (Chris Voss), Levels.fyi (salary data).