We use cookies for essential site functionality and, with your consent, for analytics. See our Privacy Policy for details.

Technology & Engineering

Software Engineer Interview Questions

Designs, builds, and maintains software systems with ownership of features end to end.

1,000 questions10 chaptersAI feedback

Chapter 1 is free — 100 questions, no card required

Create a free account to start, or subscribe from $14.99/month to unlock all 10 chapters.

1.1System design fundamentals - components, interfaces, and designing for scalability and maintainability

Free

1.2Architectural patterns - monolith, microservices, event-driven, and when to use each

Free

1.3API design - RESTful principles, GraphQL, versioning, and designing APIs that are easy to consume

Free

1.4Technical debt - identifying it, quantifying it, and making the case for paying it down

Free

9 more chapters inside — unlock everything from $14.99/mo

1,000 questions across all chaptersAI feedback on every answerWritten & spoken practice7-day money-back guarantee
Unlock all chapters →

2.1Concurrency and parallelism - threads, async programming, race conditions, and how to handle them

2.2Memory management - stack vs heap, garbage collection, and avoiding memory leaks

2.3Functional programming concepts - immutability, pure functions, and where they improve code

2.4Performance optimisation - profiling, identifying bottlenecks, and writing efficient code

3.1Advanced SQL - window functions, CTEs, query optimisation, and execution plans

3.2Database performance - indexing strategies, query analysis, and avoiding N+1 problems

3.3Data modelling - designing schemas for complex domains, migrations, and schema evolution

3.4Caching strategies - in-memory caches, CDN, application-level caching, and cache invalidation

4.1Distributed systems concepts - CAP theorem, consistency, availability, and partition tolerance

4.2Messaging and event streaming - queues, pub-sub, and asynchronous communication patterns

4.3Service communication - synchronous vs asynchronous, circuit breakers, and handling failures

4.4Data consistency in distributed systems - eventual consistency, sagas, and distributed transactions

5.1OWASP Top 10 - the most common vulnerabilities and how to prevent them in your code

5.2Authentication and authorisation - OAuth 2.0, JWT, RBAC, and implementing them securely

5.3Secure coding practices - input validation, parameterised queries, and not trusting user input

5.4Security testing - SAST, DAST, and security code review practices

6.1Testing pyramid - unit, integration, and end-to-end tests and the right balance between them

6.2Test-driven development - how to write tests first and the discipline it requires

6.3Contract testing - ensuring services integrate correctly especially in a microservices architecture

6.4Testing in production - feature flags, canary releases, and monitoring for regressions

7.1Cloud architecture - designing systems on cloud for reliability and cost efficiency

7.2Infrastructure as code - Terraform and managing infrastructure like software

7.3Containerisation and orchestration - Docker, Kubernetes, and running services at scale

7.4Observability - logging, metrics, tracing, and building systems you can debug in production

8.1Code review - how to review code thoroughly, give useful feedback, and build a high-quality codebase

8.2Technical documentation - architecture decision records, runbooks, and writing for future engineers

8.3Agile in practice - how effective engineers operate in sprints, manage their work, and communicate

8.4On-call and incident management - responding to production issues, post-mortems, and building resilience

9.1Moving from engineer to senior engineer - what changes and how to accelerate the transition

9.2Technical mentoring - helping junior engineers grow without doing the work for them

9.3Influencing technical direction - proposing improvements, getting buy-in, and driving change

9.4Staying current - how to keep learning in a fast-moving industry without burning out

10.1Coding interviews - data structures, algorithms, and how to perform under pressure

10.2System design interviews - how to approach open-ended design questions at mid-level

10.3Behavioural interviews - ownership, collaboration, technical decisions, and handling disagreement

10.4Salary negotiation, evaluating a tech stack and team, and questions that reveal whether it is a good role

About Software Engineer Interview Preparation

The Software Engineer role demands a strong mix of technical knowledge and communication skills. Interviewers typically test core domain expertise, problem-solving ability, and how you communicate your reasoning. CentricQ helps you prepare systematically — covering every topic area with 1,000 questions across 10 chapters. You can practice multiple-choice questions for quick recall, written-answer questions to develop in-depth responses, and spoken-answer questions to rehearse your verbal delivery. Every answer is evaluated by Claude AI, giving you a score, specific feedback, and study tips in real time. 100 questions are free (full Chapter 1) with no credit card required.

What you'll cover

  • 1Software Design and Architecture
  • 2Advanced Programming and Language Mastery
  • 3Databases and Data Engineering

+ 7 more chapters inside

Frequently asked questions

What Software Engineer interview questions should I prepare for?

CentricQ covers 10 key areas for Software Engineer interviews: Software Design and Architecture, Advanced Programming and Language Mastery, Databases and Data Engineering, Distributed Systems, Security Engineering, Testing Strategy and Quality, Cloud and Infrastructure, Engineering Practices and Team Effectiveness, Career Growth and Technical Leadership, Interview Preparation. Each area has 100 questions with AI-evaluated feedback.

How many Software Engineer interview questions are there?

CentricQ has 1,000 Software Engineer interview questions across 10 chapters, covering multiple choice, written answer, and spoken answer formats. 100 questions are free (full Chapter 1) with no credit card required.

How do I practice for a Software Engineer interview?

CentricQ offers 3 answer formats to simulate real interviews: multiple choice for quick knowledge checks, written answers for in-depth responses, and spoken answers to practise verbal delivery. Every answer is evaluated by Claude AI with a score and detailed feedback.