ResumeBuilderPK

Software Engineer Interview Questions & Answers

Beyond language trivia, software engineer interviews at companies like Systems Limited, 10Pearls, and i2c test how you build: databases, APIs, version control discipline, and increasingly a lightweight system-design conversation even at mid-level. This set covers the recurring non-language questions and how strong candidates frame answers.

1How do you decide between SQL and NoSQL for a project?

Default to relational (PostgreSQL/MySQL) when data has clear relationships, needs transactions, or requires ad-hoc querying — which is most business software. Choose NoSQL for genuinely document-shaped data, extreme write scale, or flexible schemas (event logs, user-generated content). The strong answer names trade-offs — joins and consistency vs horizontal scaling — rather than declaring one 'better'.

2What is an index and what does it cost?

A data structure (usually a B-tree) that lets the database find rows without scanning the table — turning O(n) lookups into O(log n). Costs: extra storage and slower writes, since every insert/update maintains the index. Practical follow-ups: composite index column order matters (leftmost prefix), and EXPLAIN is how you verify a query actually uses one.

3Explain REST principles. When would you return 400 vs 401 vs 403 vs 404?

REST models resources as URLs manipulated with HTTP verbs, statelessly. Status codes: 400 for malformed/invalid input, 401 for missing or invalid authentication (who are you?), 403 for authenticated but not permitted (you can't do this), 404 for resource not found. Bonus points for idempotency — PUT and DELETE should be safely retryable, POST is not.

4Describe your Git workflow on a team. How do you handle a merge conflict?

Feature branches off main, small focused commits, pull request with review, CI green before merge. For conflicts: pull the target branch, resolve conflict markers by understanding both changes (not just picking one side), re-run tests, then complete the merge. Mentioning rebase for a linear history — and knowing not to rebase shared branches — reads as real team experience.

5How would you design a URL shortener? (common lightweight system-design question)

Core: a table mapping short code → original URL; generate codes via base62 encoding of an auto-increment ID or a random string with collision check. Redirect endpoint does a lookup and returns 301/302. Scale-ups when probed: cache hot URLs in Redis, precompute code batches to avoid ID contention, and track click counts asynchronously so redirects stay fast. Structure — requirements, data model, API, then scaling — matters more than any specific choice.

6What is the difference between authentication and authorization, and how do JWTs work?

Authentication verifies identity; authorization decides permissions. A JWT is a signed token carrying claims (user ID, role, expiry): the server verifies the signature instead of a session lookup, enabling stateless auth across services. Know the trade-off interviewers fish for: JWTs can't be easily revoked before expiry, so short lifetimes plus refresh tokens are the standard mitigation.

7Tell me about a production bug you fixed. (behavioral-technical)

Use a compressed STAR: symptom and impact, how you isolated it (logs, reproduction, bisecting), the root cause, the fix, and what you changed so it can't recur — a test, an alert, a validation. Interviewers are grading the debugging method and the prevention step far more than the bug's difficulty. Prepare one real story before every interview; it's asked nearly universally in Pakistan.

Preparation tips

First, get the interview

A strong resume is what gets you into the room. Build one free — ATS-friendly templates, unlimited edits, no account needed, first download free.

Free to build No account required ATS-friendly templates First download free

Keep preparing